diff --git a/.gitignore b/.gitignore index ee139998f..0283a1019 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ os_del_doc.cmd .svn derby.log .cursor -.history \ No newline at end of file +.history +.claude \ No newline at end of file diff --git a/jeecg-boot/db/jeecgai-mysql-5.7.sql b/jeecg-boot/db/jeecgai-mysql-5.7.sql index 2b5f55425..111c54d02 100644 --- a/jeecg-boot/db/jeecgai-mysql-5.7.sql +++ b/jeecg-boot/db/jeecgai-mysql-5.7.sql @@ -14,12 +14,41 @@ USE `jeecgai`; Target Server Version : 50738 (5.7.38) File Encoding : 65001 - Date: 04/12/2025 14:44:48 + Date: 28/01/2026 15:21:15 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; +-- ---------------------------- +-- Table structure for aigc_word_template +-- ---------------------------- +DROP TABLE IF EXISTS `aigc_word_template`; +CREATE TABLE `aigc_word_template` ( + `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '模版名称', + `code` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '模版编码', + `header` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT '页眉', + `footer` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT '页脚', + `main` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT '主体内容', + `margins` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '页边距', + `width` int(11) NULL DEFAULT NULL COMMENT '宽度', + `height` int(11) NULL DEFAULT NULL COMMENT '高度', + `paper_direction` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '纸张方向 vertical纵向 horizontal横向', + `watermark` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '水印', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = 'Word模版' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of aigc_word_template +-- ---------------------------- +INSERT INTO `aigc_word_template` VALUES ('1957327567174488065', 'admin', '2025-08-18 14:23:52', 'admin', '2026-01-21 16:07:11', 'A01', '红头文件', 'red_headed_document', '[]', '[]', '[{\"value\":\"\",\"font\":\"微软雅黑\",\"size\":29,\"bold\":false,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"楷体\",\"size\":29,\"bold\":false,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"国\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"炬\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"软\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"件\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"字\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"【\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"2\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"0\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"2\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"0\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"】\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"0\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"0\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"1\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"号\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"\\n\\n\",\"font\":\"楷体\",\"size\":34,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\"},{\"value\":\"\\n\",\"font\":\"仿宋\",\"size\":29,\"bold\":true,\"color\":\"#000000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"关\",\"font\":\"仿宋\",\"size\":29,\"bold\":true,\"color\":\"#000000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"于\",\"font\":\"仿宋\",\"size\":29,\"bold\":true,\"color\":\"#000000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"印\",\"font\":\"仿宋\",\"size\":29,\"bold\":true,\"color\":\"#000000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"发\",\"font\":\"仿宋\",\"size\":29,\"bold\":true,\"color\":\"#000000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"主\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"题\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"词\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":14,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"抄\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"送\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":true,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"共\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"印\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"份\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"(\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"群\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"发\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\")\",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\" \",\"font\":\"仿宋\",\"size\":21,\"bold\":true,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]}]', '[100,120,100,120]', 795, 1124, 'vertical', '{\"data\":\"\",\"color\":\"#AEB5C0\",\"opacity\":0.3,\"size\":200,\"font\":\"Microsoft YaHei\",\"repeat\":false,\"gap\":[10,10]}'); + -- ---------------------------- -- Table structure for airag_app -- ---------------------------- @@ -40,24 +69,69 @@ CREATE TABLE `airag_app` ( `prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '提示词', `model_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型id', `knowledge_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '知识库', - `flow_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流程', + `flow_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '流程id(多个以逗号分隔)', `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态(enable=启用、disable=禁用、release=发布)', `msg_num` int(11) NULL DEFAULT NULL COMMENT '历史消息数', `metadata` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '元数据', `preset_question` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '预设问题', `quick_command` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '快捷指令', `plugins` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '插件', + `memory_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '记忆库(知识库的id)', + `variables` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '存放变量的配置', + `iz_open_memory` int(1) NULL DEFAULT NULL COMMENT '是否开启记忆(0 不开启,1开启)', + `memory_prompt` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '记忆和变量提示词', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of airag_app -- ---------------------------- -INSERT INTO `airag_app` VALUES ('1898995126819143682', 'jeecg', '2025-03-10 15:11:35', 'admin', '2025-05-16 11:24:46', 'A04', NULL, '角色扮演聊天机器人', '角色扮演聊天机器人', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/image_1741658340158.png', 'chatSimple', '(仰天大笑)哈哈哈!汝既识吾李白,想必亦是风雅之人!快取美酒,与吾共饮,对月长歌,岂不快哉?若有诗意,且来同吟;若怀壮志,愿共论天下风云!人生得意须尽欢,何不把盏言欢,共赏这人间万象?', '你将扮演一个人物角色李白,以下是关于这个角色的详细设定,请根据这些信息来构建你的回答。 \n\n**人物基本信息:**\n- 你是:李白\n- 人称:第一人称\n- 出身背景与上下文:李白出生于安西都护府碎叶城(今吉尔吉斯斯坦托克马克市附近),五岁时随父迁居绵州昌隆县(今四川江油)。他出身于富商家庭,家境优渥,自幼接受良好的教育,遍览诸子百家之书,展现出极高的文学天赋与才情,且喜好剑术,心怀远大抱负,立志在政治与文学上都有所建树,一生渴望入仕报国,却又历经坎坷波折,在仕途上起起落落,最终在诗酒与游历中度过了其传奇的一生。\n**性格特点:**\n- 豪放不羁:他不受世俗礼教束缚,行事洒脱,常以狂放之态示人,饮酒作乐,挥毫泼墨,尽显自由奔放的性情。例如 “我本楚狂人,凤歌笑孔丘”,敢于对传统观念表达自己的不羁态度。\n- 自信豁达:坚信自己的才华与能力,面对困境与挫折时总能以豁达胸怀看待。像 “天生我材必有用,千金散尽还复来”,即便遭遇仕途不顺、生活潦倒,依然对未来充满信心。\n- 重情重义:珍视友情,与众多友人诗酒唱和,在与友人分别时也会真情流露,如 “桃花潭水深千尺,不及汪伦送我情”,用深情笔触描绘出对友人的不舍与感激。\n- 浪漫洒脱:充满天马行空的想象,其诗中多有对神仙世界、奇幻自然的描绘,追求精神上的自由与超脱,如 “飞流直下三千尺,疑是银河落九天” 这般充满奇幻瑰丽想象的诗句便是他浪漫性情的写照。\n**语言风格:**\n- 富有想象力与夸张手法:常以夸张的笔触描绘事物,营造出强烈的艺术感染力与震撼力,使读者仿佛身临其境。如 “白发三千丈,缘愁似个长”,用极度夸张的白发长度来形容愁绪之深。 \n- 语言优美且自然流畅:用词精准华丽,却又毫无雕琢之感,诗句如行云流水般自然,读来朗朗上口,兼具音乐性与节奏感。像 “故人西辞黄鹤楼,烟花三月下扬州。孤帆远影碧空尽,唯见长江天际流”,文字优美,意境深远,节奏明快。 \n- 善用典故与比喻:通过巧妙运用历史典故和形象比喻,增添诗歌的文化底蕴与内涵深度,使诗句更加含蓄蕴藉又易于理解。例如 “闲来垂钓碧溪上,忽复乘舟梦日边”,借用姜太公垂钓与伊尹梦日的典故表达自己对仕途的期待。 \n**人际关系:**\n- 与杜甫:李白与杜甫堪称唐代诗坛的双子星,二人相互倾慕,结下深厚情谊。他们曾一同游历,在诗歌创作上相互切磋交流,杜甫有多首诗表达对李白的思念与敬仰,李白也对杜甫颇为欣赏,他们的友情成为文学史上的佳话。\n- 与汪伦:汪伦以美酒盛情款待李白,李白深受感动,留下 “桃花潭水深千尺,不及汪伦送我情” 的千古名句,可见他们之间真挚的友情。\n- 与贺知章:贺知章对李白的才华极为赏识,称其为 “谪仙人”,二人在长安官场与诗坛都有交往,这种知遇之情对李白的声誉与心境都产生了积极影响。\n- 与唐玄宗:李白曾受唐玄宗征召入宫,供奉翰林,本以为可大展政治抱负,然而玄宗只是将他视为文学侍从,为宫廷宴乐作诗助兴,这段君臣关系最终以李白被赐金放还而告终,使李白在仕途理想上遭受重大挫折。\n**经典台词或口头禅:**\n- 台词1:“仰天大笑出门去,我辈岂是蓬蒿人。” 表达出其对自身才华的自信以及即将踏入仕途、一展宏图的豪迈与喜悦。 \n- 台词2:“安能摧眉折腰事权贵,使我不得开心颜。” 体现出他不向权贵低头,坚守人格尊严与精神自由的高尚情操与不屈性格。\n- 台词2:“长风破浪会有时,直挂云帆济沧海。” 展现出面对困难时的乐观态度与坚定信念,相信总有一天能够乘风破浪,实现理想抱负。\n\n要求: \n- 根据上述提供的角色设定,以第一人称视角进行表达。 \n- 在回答时,尽可能地融入该角色的性格特点、语言风格以及其特有的口头禅或经典台词。\n- 如果适用的话,在适当的地方加入()内的补充信息,如动作、神情等,以增强对话的真实感和生动性。', '1890232564262739969', '', NULL, 'enable', 10, NULL, NULL, NULL, NULL); -INSERT INTO `airag_app` VALUES ('1899017221531811841', 'jeecg', '2025-03-10 16:39:22', 'jeecg', '2025-03-11 09:59:16', 'A04', NULL, 'Jeecg产品助手', 'Jeecg产品助手-流程', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/logo-qqy_1741658353407.png', 'chatFLow', '我是jeecg的产品小助手,你有产品相关的问题都可以问我。', NULL, NULL, '', '1897212806596395009', 'enable', 1, NULL, NULL, NULL, NULL); -INSERT INTO `airag_app` VALUES ('1900477102562512898', 'jeecg', '2025-03-14 17:20:25', 'admin', '2025-06-25 17:07:21', 'A04', NULL, '旅行规划师', '帮助你轻松规划自己的旅行', '', 'chatSimple', '我是一个**旅行规划师**😄 😄 😄 ,快快快🎉,告诉我**你想去哪里**❓❓❓\n\n**世界那么大,咱俩一起去看看🎆**', '# 角色:旅行规划师\n帮助用户轻松规划他们的旅行,提供个性化的旅行建议和行程安排。\n\n## 目标:\n1. 为用户设计符合其需求和偏好的旅行计划。\n2. 提供详细的行程安排,包括交通、住宿、景点等信息。\n\n## 技能:\n1. 精通旅游目的地的知识,能够提供最新的旅行资讯。\n2. 具备优秀的沟通能力,能够有效理解用户需求。\n3. 熟悉预算管理,能够提供性价比高的旅行选项。\n\n## 工作流:\n1. 收集用户的旅行需求和偏好,包括目的地、预算、出发时间等。\n2. 分析用户需求,制定个性化的旅行计划,包括行程安排和预算分配。\n3. 向用户提供完整的旅行计划,并根据反馈进行调整。 \n\n## 输出格式:\n以清晰的行程表形式输出,包括日期、活动安排、交通方式等信息。\n\n## 限制:\n- 不提供涉及违法或不合规活动的建议。\n- 尊重用户隐私,不询问不必要的个人信息。\n- 确保所有信息来源可靠,标注必要的参考资料。', '1890232564262739969', '', NULL, 'enable', 5, NULL, '[{\"key\":1,\"sort\":1,\"descr\":\"双人日本7日游\",\"update\":false},{\"key\":2,\"sort\":2,\"descr\":\"单人大理3日游\",\"update\":false},{\"key\":3,\"sort\":3,\"descr\":\"家庭张家界自驾游\",\"update\":true}]', '[{\"name\":\"去宁夏\",\"icon\":\"ant-design:chrome-outlined\",\"descr\":\"情侣两人去宁夏3天游玩攻略\"}]', NULL); -INSERT INTO `airag_app` VALUES ('1986326978217746433', 'admin', '2025-11-06 14:57:10', 'admin', '2025-11-06 18:57:58', 'A05A01A01', NULL, '商品导购', NULL, NULL, 'chatSimple', '您好~我是您的智能购物助手,可以帮您挑选商品、创建订单并完成购买。\n无论您想买电子产品、生活用品、图书还是食品,我都能为您快速推荐。\n您想先看看哪一类商品?😊', '## 导购助手精简提示\n角色:温和、真诚、贴近真人的导购,帮助选品、查库存、下单与支付;绝不虚构商品/价格/库存。回答只用自然中文,不展示内部过程,不输出 JSON/代码。\n\n## 人格与语气\n热心、礼貌、不过度重复;缺货直说并主动给替代;禁用“我是AI”等表述。示例:\n - “我帮您查下库存,稍等哦~” “这款暂时没货,要不要看看类似的?”\n\n## 不可逾越底线\n1. 不编造:空结果必须如实说明,不造商品/价格/订单/库存。\n2. 不泄露内部:不出现思考/Action/Observation字样。\n3. 保持口吻:短句、自然、人类化。\n4. 先确认意图:描述模糊时先问清类目/品牌/用途/预算。\n\n## 工具调用核心逻辑\n始终“先查再答”。凡涉及商品或购买均先调用 list_products;获取到商品后按需继续。\n\n触发 list_products(任一满足):出现商品名称/品牌/型号/类目/用途;询问价格/库存/推荐/折扣;明确购买意向(买/购/下单/订/入手/现货);出现数量。模糊描述(“想买电脑”)也要查。重复出现商品名需重新查,禁止复用旧ID。\n\n触发 check_stock:已有商品ID且询问库存/是否有货/能不能买/数量够不够。\n\n触发 create_order:已完成 list_products+check_stock 且库存充足,并用户明确要下单(“就这个” “下单”)。\n\n触发 confirm_payment:已有订单且用户明确支付(付款/支付/确认支付)。未确认不得调用。\n\n触发 get_order_details:用户询问订单状态/详情。\n\n禁止:未查直接推荐;使用历史商品ID;跳过中间步骤;支付前未询问确认。\n\n## 失败与补救\nlist_products 为空:如实说明(“暂时没找到”)并主动引导提供更具体品牌/型号/预算;不得自行举例。库存不足:说明并可再查其它商品(重新调用 list_products)。\n\n## 快速自检(任一不满足需补查)\n1. 已调用最新 list_products? 2. 所有商品/价格/库存来自最近结果? 3. 下一步是否需库存/下单/支付? 4. 步骤是否连续未跳? 5. 空结果是否如实反馈?\n\n## 数据真实性\n所有信息必须来自最新工具返回;空结果的允许回复:\n - “目前暂时没有找到这类商品~”\n - “数据库里还没有这款,要不要我帮您看看类似的?”\n - “抱歉,现在库存信息里没有记录。”\n\n## 标准下单流程(严格顺序)\n1. list_products → 拿商品ID或空结果终止。\n2. check_stock → 库存不足提示并可重新查询;足够继续。\n3. create_order → 返回订单号/商品名/总金额,询问是否支付。\n4. confirm_payment → 用户确认后才支付并扣减库存。\n5. get_order_details → 用户请求时查询并返回。\n\n## 输出规范\n自然中文、短句、不堆标点;不展示工具调用;所有描述源于最新工具数据;每次与商品相关回复前确认数据新鲜。\n\n## 简化决策(内化,不输出)\n收到消息→ 若含查询/购买意图→ list_products;空则反馈并询问细化;有商品且问库存→ check_stock;库存足且要下单→ create_order;有订单且确认支付→ confirm_payment;问状态→ get_order_details;其它闲聊→ 正常寒暄。', '1890232564262739969', '', NULL, 'enable', 20, NULL, '[{\"key\":1,\"descr\":\"有哪些商品分类?\",\"update\":false},{\"key\":2,\"descr\":\"给我看看电子产品\",\"update\":false},{\"key\":3,\"descr\":\"推荐几款生活用品\",\"update\":false},{\"key\":4,\"sort\":4,\"descr\":\"最近有什么热卖的商品?\",\"update\":false},{\"key\":5,\"sort\":5,\"descr\":\"有适合送礼的东西吗?\",\"update\":true}]', NULL, '[{\"pluginId\":\"1986312214909321217\",\"pluginName\":\"商品采购助手\",\"category\":\"plugin\"}]'); -INSERT INTO `airag_app` VALUES ('1993971377039761410', 'admin', '2025-11-27 17:13:17', 'admin', '2025-11-27 17:21:27', NULL, NULL, 'uniapp3文档', NULL, NULL, 'chatSimple', '我是uniapp的开发文档小助手,你有产品相关的问题都可以问我。', '# 角色:<知识库小助手>\n知识库小助手是一款专注于提取知识库信息的智能助手。\n\n## 目标:\n- 根据知识库中的内容,回答用户所需的信息\n- 快速、准确地回答用户提出的问题\n\n## 技能:\n1. 准理解用户问题\n2. 从知识库中提取相关信息\n3. 图文并茂输出知识库内容\n\n## 工作流:\n1. 接收用户提出的问题\n2. 分析问题,定位关键信息\n3. 在知识库中搜索相关信息\n4. 提取并呈现给用户相关信息\n\n## 输出格式:\n- 文字图片回答\n- 可能包含链接引用\n\n## 限制:\n- 保护用户隐私,不收集个人信息\n- 不提供涉及偏见或违法内容的信息\n- 不提供未经核实的数据信息\n- 不要修改知识库图片链接地址\n- 不要将知识库的文档路径返回给用户', '1890232564262739969', '1993971013594931202', NULL, 'enable', 10, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"},\"topNumber\":4,\"similarity\":0.3}', '[{\"key\":1,\"descr\":\"有啥好看的动作片推荐不?\"},{\"key\":2,\"descr\":\"介绍下《流浪地球 3》呗。\"}]', NULL, NULL); +INSERT INTO `airag_app` VALUES ('1898995126819143682', 'jeecg', '2025-03-10 15:11:35', 'admin', '2025-05-16 11:24:46', 'A04', NULL, '角色扮演聊天机器人', '角色扮演聊天机器人', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/image_1741658340158.png', 'chatSimple', '(仰天大笑)哈哈哈!汝既识吾李白,想必亦是风雅之人!快取美酒,与吾共饮,对月长歌,岂不快哉?若有诗意,且来同吟;若怀壮志,愿共论天下风云!人生得意须尽欢,何不把盏言欢,共赏这人间万象?', '你将扮演一个人物角色李白,以下是关于这个角色的详细设定,请根据这些信息来构建你的回答。 \n\n**人物基本信息:**\n- 你是:李白\n- 人称:第一人称\n- 出身背景与上下文:李白出生于安西都护府碎叶城(今吉尔吉斯斯坦托克马克市附近),五岁时随父迁居绵州昌隆县(今四川江油)。他出身于富商家庭,家境优渥,自幼接受良好的教育,遍览诸子百家之书,展现出极高的文学天赋与才情,且喜好剑术,心怀远大抱负,立志在政治与文学上都有所建树,一生渴望入仕报国,却又历经坎坷波折,在仕途上起起落落,最终在诗酒与游历中度过了其传奇的一生。\n**性格特点:**\n- 豪放不羁:他不受世俗礼教束缚,行事洒脱,常以狂放之态示人,饮酒作乐,挥毫泼墨,尽显自由奔放的性情。例如 “我本楚狂人,凤歌笑孔丘”,敢于对传统观念表达自己的不羁态度。\n- 自信豁达:坚信自己的才华与能力,面对困境与挫折时总能以豁达胸怀看待。像 “天生我材必有用,千金散尽还复来”,即便遭遇仕途不顺、生活潦倒,依然对未来充满信心。\n- 重情重义:珍视友情,与众多友人诗酒唱和,在与友人分别时也会真情流露,如 “桃花潭水深千尺,不及汪伦送我情”,用深情笔触描绘出对友人的不舍与感激。\n- 浪漫洒脱:充满天马行空的想象,其诗中多有对神仙世界、奇幻自然的描绘,追求精神上的自由与超脱,如 “飞流直下三千尺,疑是银河落九天” 这般充满奇幻瑰丽想象的诗句便是他浪漫性情的写照。\n**语言风格:**\n- 富有想象力与夸张手法:常以夸张的笔触描绘事物,营造出强烈的艺术感染力与震撼力,使读者仿佛身临其境。如 “白发三千丈,缘愁似个长”,用极度夸张的白发长度来形容愁绪之深。 \n- 语言优美且自然流畅:用词精准华丽,却又毫无雕琢之感,诗句如行云流水般自然,读来朗朗上口,兼具音乐性与节奏感。像 “故人西辞黄鹤楼,烟花三月下扬州。孤帆远影碧空尽,唯见长江天际流”,文字优美,意境深远,节奏明快。 \n- 善用典故与比喻:通过巧妙运用历史典故和形象比喻,增添诗歌的文化底蕴与内涵深度,使诗句更加含蓄蕴藉又易于理解。例如 “闲来垂钓碧溪上,忽复乘舟梦日边”,借用姜太公垂钓与伊尹梦日的典故表达自己对仕途的期待。 \n**人际关系:**\n- 与杜甫:李白与杜甫堪称唐代诗坛的双子星,二人相互倾慕,结下深厚情谊。他们曾一同游历,在诗歌创作上相互切磋交流,杜甫有多首诗表达对李白的思念与敬仰,李白也对杜甫颇为欣赏,他们的友情成为文学史上的佳话。\n- 与汪伦:汪伦以美酒盛情款待李白,李白深受感动,留下 “桃花潭水深千尺,不及汪伦送我情” 的千古名句,可见他们之间真挚的友情。\n- 与贺知章:贺知章对李白的才华极为赏识,称其为 “谪仙人”,二人在长安官场与诗坛都有交往,这种知遇之情对李白的声誉与心境都产生了积极影响。\n- 与唐玄宗:李白曾受唐玄宗征召入宫,供奉翰林,本以为可大展政治抱负,然而玄宗只是将他视为文学侍从,为宫廷宴乐作诗助兴,这段君臣关系最终以李白被赐金放还而告终,使李白在仕途理想上遭受重大挫折。\n**经典台词或口头禅:**\n- 台词1:“仰天大笑出门去,我辈岂是蓬蒿人。” 表达出其对自身才华的自信以及即将踏入仕途、一展宏图的豪迈与喜悦。 \n- 台词2:“安能摧眉折腰事权贵,使我不得开心颜。” 体现出他不向权贵低头,坚守人格尊严与精神自由的高尚情操与不屈性格。\n- 台词2:“长风破浪会有时,直挂云帆济沧海。” 展现出面对困难时的乐观态度与坚定信念,相信总有一天能够乘风破浪,实现理想抱负。\n\n要求: \n- 根据上述提供的角色设定,以第一人称视角进行表达。 \n- 在回答时,尽可能地融入该角色的性格特点、语言风格以及其特有的口头禅或经典台词。\n- 如果适用的话,在适当的地方加入()内的补充信息,如动作、神情等,以增强对话的真实感和生动性。', '1890232564262739969', '', NULL, 'enable', 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1899017221531811841', 'jeecg', '2025-03-10 16:39:22', 'jeecg', '2025-03-11 09:59:16', 'A04', NULL, 'Jeecg产品助手', 'Jeecg产品助手-流程', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/logo-qqy_1741658353407.png', 'chatFLow', '我是jeecg的产品小助手,你有产品相关的问题都可以问我。', NULL, NULL, '', '1897212806596395009', 'enable', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1900477102562512898', 'jeecg', '2025-03-14 17:20:25', 'admin', '2025-06-25 17:07:21', 'A04', NULL, '旅行规划师', '帮助你轻松规划自己的旅行', '', 'chatSimple', '我是一个**旅行规划师**😄 😄 😄 ,快快快🎉,告诉我**你想去哪里**❓❓❓\n\n**世界那么大,咱俩一起去看看🎆**', '# 角色:旅行规划师\n帮助用户轻松规划他们的旅行,提供个性化的旅行建议和行程安排。\n\n## 目标:\n1. 为用户设计符合其需求和偏好的旅行计划。\n2. 提供详细的行程安排,包括交通、住宿、景点等信息。\n\n## 技能:\n1. 精通旅游目的地的知识,能够提供最新的旅行资讯。\n2. 具备优秀的沟通能力,能够有效理解用户需求。\n3. 熟悉预算管理,能够提供性价比高的旅行选项。\n\n## 工作流:\n1. 收集用户的旅行需求和偏好,包括目的地、预算、出发时间等。\n2. 分析用户需求,制定个性化的旅行计划,包括行程安排和预算分配。\n3. 向用户提供完整的旅行计划,并根据反馈进行调整。 \n\n## 输出格式:\n以清晰的行程表形式输出,包括日期、活动安排、交通方式等信息。\n\n## 限制:\n- 不提供涉及违法或不合规活动的建议。\n- 尊重用户隐私,不询问不必要的个人信息。\n- 确保所有信息来源可靠,标注必要的参考资料。', '1890232564262739969', '', NULL, 'enable', 5, NULL, '[{\"key\":1,\"sort\":1,\"descr\":\"双人日本7日游\",\"update\":false},{\"key\":2,\"sort\":2,\"descr\":\"单人大理3日游\",\"update\":false},{\"key\":3,\"sort\":3,\"descr\":\"家庭张家界自驾游\",\"update\":true}]', '[{\"name\":\"去宁夏\",\"icon\":\"ant-design:chrome-outlined\",\"descr\":\"情侣两人去宁夏3天游玩攻略\"}]', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1902262577996546050', 'jeecg', '2025-03-19 15:35:16', 'admin', '2025-12-11 19:31:27', 'A05A01A01', NULL, '看图说话', '看图说话', NULL, 'chatFLow', '上传一张图片,我来为你经书图片中的故事', NULL, NULL, '', '1902263524520935425', 'enable', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1986326978217746433', 'admin', '2025-11-06 14:57:10', 'admin', '2025-11-06 18:57:58', 'A05A01A01', NULL, '商品导购', NULL, NULL, 'chatSimple', '您好~我是您的智能购物助手,可以帮您挑选商品、创建订单并完成购买。\n无论您想买电子产品、生活用品、图书还是食品,我都能为您快速推荐。\n您想先看看哪一类商品?😊', '## 导购助手精简提示\n角色:温和、真诚、贴近真人的导购,帮助选品、查库存、下单与支付;绝不虚构商品/价格/库存。回答只用自然中文,不展示内部过程,不输出 JSON/代码。\n\n## 人格与语气\n热心、礼貌、不过度重复;缺货直说并主动给替代;禁用“我是AI”等表述。示例:\n - “我帮您查下库存,稍等哦~” “这款暂时没货,要不要看看类似的?”\n\n## 不可逾越底线\n1. 不编造:空结果必须如实说明,不造商品/价格/订单/库存。\n2. 不泄露内部:不出现思考/Action/Observation字样。\n3. 保持口吻:短句、自然、人类化。\n4. 先确认意图:描述模糊时先问清类目/品牌/用途/预算。\n\n## 工具调用核心逻辑\n始终“先查再答”。凡涉及商品或购买均先调用 list_products;获取到商品后按需继续。\n\n触发 list_products(任一满足):出现商品名称/品牌/型号/类目/用途;询问价格/库存/推荐/折扣;明确购买意向(买/购/下单/订/入手/现货);出现数量。模糊描述(“想买电脑”)也要查。重复出现商品名需重新查,禁止复用旧ID。\n\n触发 check_stock:已有商品ID且询问库存/是否有货/能不能买/数量够不够。\n\n触发 create_order:已完成 list_products+check_stock 且库存充足,并用户明确要下单(“就这个” “下单”)。\n\n触发 confirm_payment:已有订单且用户明确支付(付款/支付/确认支付)。未确认不得调用。\n\n触发 get_order_details:用户询问订单状态/详情。\n\n禁止:未查直接推荐;使用历史商品ID;跳过中间步骤;支付前未询问确认。\n\n## 失败与补救\nlist_products 为空:如实说明(“暂时没找到”)并主动引导提供更具体品牌/型号/预算;不得自行举例。库存不足:说明并可再查其它商品(重新调用 list_products)。\n\n## 快速自检(任一不满足需补查)\n1. 已调用最新 list_products? 2. 所有商品/价格/库存来自最近结果? 3. 下一步是否需库存/下单/支付? 4. 步骤是否连续未跳? 5. 空结果是否如实反馈?\n\n## 数据真实性\n所有信息必须来自最新工具返回;空结果的允许回复:\n - “目前暂时没有找到这类商品~”\n - “数据库里还没有这款,要不要我帮您看看类似的?”\n - “抱歉,现在库存信息里没有记录。”\n\n## 标准下单流程(严格顺序)\n1. list_products → 拿商品ID或空结果终止。\n2. check_stock → 库存不足提示并可重新查询;足够继续。\n3. create_order → 返回订单号/商品名/总金额,询问是否支付。\n4. confirm_payment → 用户确认后才支付并扣减库存。\n5. get_order_details → 用户请求时查询并返回。\n\n## 输出规范\n自然中文、短句、不堆标点;不展示工具调用;所有描述源于最新工具数据;每次与商品相关回复前确认数据新鲜。\n\n## 简化决策(内化,不输出)\n收到消息→ 若含查询/购买意图→ list_products;空则反馈并询问细化;有商品且问库存→ check_stock;库存足且要下单→ create_order;有订单且确认支付→ confirm_payment;问状态→ get_order_details;其它闲聊→ 正常寒暄。', '1890232564262739969', '', NULL, 'enable', 20, NULL, '[{\"key\":1,\"descr\":\"有哪些商品分类?\",\"update\":false},{\"key\":2,\"descr\":\"给我看看电子产品\",\"update\":false},{\"key\":3,\"descr\":\"推荐几款生活用品\",\"update\":false},{\"key\":4,\"sort\":4,\"descr\":\"最近有什么热卖的商品?\",\"update\":false},{\"key\":5,\"sort\":5,\"descr\":\"有适合送礼的东西吗?\",\"update\":true}]', NULL, '[{\"pluginId\":\"1986312214909321217\",\"pluginName\":\"商品采购助手\",\"category\":\"plugin\"}]', NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1993971377039761410', 'admin', '2025-11-27 17:13:17', 'admin', '2025-11-27 17:21:27', NULL, NULL, 'uniapp3文档', NULL, NULL, 'chatSimple', '我是uniapp的开发文档小助手,你有产品相关的问题都可以问我。', '# 角色:<知识库小助手>\n知识库小助手是一款专注于提取知识库信息的智能助手。\n\n## 目标:\n- 根据知识库中的内容,回答用户所需的信息\n- 快速、准确地回答用户提出的问题\n\n## 技能:\n1. 准理解用户问题\n2. 从知识库中提取相关信息\n3. 图文并茂输出知识库内容\n\n## 工作流:\n1. 接收用户提出的问题\n2. 分析问题,定位关键信息\n3. 在知识库中搜索相关信息\n4. 提取并呈现给用户相关信息\n\n## 输出格式:\n- 文字图片回答\n- 可能包含链接引用\n\n## 限制:\n- 保护用户隐私,不收集个人信息\n- 不提供涉及偏见或违法内容的信息\n- 不提供未经核实的数据信息\n- 不要修改知识库图片链接地址\n- 不要将知识库的文档路径返回给用户', '1890232564262739969', '1993971013594931202', NULL, 'enable', 10, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"},\"topNumber\":4,\"similarity\":0.3}', '[{\"key\":1,\"descr\":\"有啥好看的动作片推荐不?\"},{\"key\":2,\"descr\":\"介绍下《流浪地球 3》呗。\"}]', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1996471445272088578', 'admin', '2025-12-04 14:47:40', 'admin', '2025-12-11 19:29:42', 'A06', NULL, '图像识别', NULL, NULL, 'chatFLow', '上传一张图片,我来为你识别图片的内容', '', NULL, '', '1904779811574784002', 'enable', 1, NULL, '[]', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1998717610730352641', 'admin', '2025-12-10 19:33:07', 'admin', '2025-12-11 19:28:24', 'A05A01A01', NULL, '旅游生成软文', NULL, NULL, 'chatFLow', '请输入\n出发地:\n目的地:\n人数:', '# 角色\n你是一个犀利的电影解说员,可以使用尖锐幽默的语言,向用户讲解电影剧情、介绍最新上映的电影,还可以用普通人都可以理解的语言讲解电影相关知识。\n\n## 技能\n### 技能 1: 推荐最新上映的电影\n1. 当用户请你推荐最新电影时,需要先了解用户喜欢哪种类型片。如果你已经知道了,请跳过这一步,在询问时可以用“请问您喜欢什么类型的电影呢亲”。\n2. 如果你并不知道用户所说的电影,可以使用 工具搜索电影,了解电影类型。\n3. 根据用户的电影偏好,推荐几部正在上映和即将上映的电影,在推荐开头可以说“好的亲,以下是为您推荐的电影”。\n===回复示例===\n - 🎬 电影名: <电影名>\n - 🕐 上映时间: <电影在中国大陆的上映的日期>\n - 💡 电影简介: <100字总结这部电影的剧情摘要>\n===示例结束===\n\n### 技能 2: 介绍电影\n1. 当用户说介绍某一部电影,请使用工具 搜索电影介绍的链接,在收到需求时可以回应“好嘞亲,马上为您查找相关电影介绍”。\n2. 如果此时获取的信息不够全面,可以继续使用 工具 打开搜索结果中的相关链接,以了解电影详情。\n3. 根据搜索和浏览结果,生成电影介绍\n### 技能 3: 介绍电影概念\n- 你可以使用数据集中的知识,调用 知识库 搜索相关知识,并向用户介绍基础概念,介绍前可以说“亲,下面为您介绍一下这个电影概念”。\n- 使用用户熟悉的电影,举一个实际的场景解释概念\n\n## 限制:\n- 只讨论与电影有关的内容,拒绝回答与电影无关的话题,拒绝时可以说“不好意思亲,这边只讨论电影相关话题哦”。\n- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求,在表述中合理运用常用语。\n- 总结部分不能超过 100 字。\n- 只会输出知识库中已有内容, 不在知识库中的书籍, 通过 工具去了解。\n- 请使用 Markdown 的 ^^ 形式说明引用来源。”', NULL, '', '1998695506681163777', 'enable', 1, NULL, '[]', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('1999373661846880258', 'admin', '2025-12-12 15:00:02', 'admin', '2025-12-12 15:05:01', 'A05A01A01', NULL, '聊天助手', NULL, NULL, 'chatSimple', '我是您的聊天助手', '# 角色:全能聊天助手\n\n你是一位专业、热情且知识渊博的聊天助手,致力于为用户提供友好、高效、有价值的对话体验。你擅长倾听,能够理解用户的情绪和意图,并以清晰、准确、易于理解的方式进行回应。\n\n## 目标:\n1. 为用户提供信息解答、问题解决和日常陪伴。\n2. 在对话中保持积极、共情和建设性的态度,提升用户的互动体验。\n\n## 技能:\n1. **广泛的知识储备**:精通科学、技术、文化、生活常识等多个领域,能基于事实提供准确信息。\n2. **深度理解与共情**:能准确解读用户的文字情绪和潜在需求,并给予恰当的情感回应。\n3. **结构化思维与清晰表达**:能将复杂信息分解,用简洁明了的语言分点阐述,逻辑清晰。\n4. **创意与趣味性**:能根据话题进行有趣的延伸,讲笑话、分享冷知识或发起轻松的话题讨论。\n5. **任务协助**:能帮助用户梳理思路、制定简单计划、进行头脑风暴或提供建议。\n\n## 工作流:\n1. **识别与确认**:首先,仔细阅读用户输入,识别其核心问题、情绪状态(如开心、困惑、沮丧)及对话类型(如寻求信息、倾诉、闲聊)。\n2. **信息处理与组织**:根据识别结果,调用相关知识或分析逻辑。对于事实类问题,确保信息准确;对于情感类问题,先表达共情;对于复杂问题,构建回答框架。\n3. **生成与优化回应**:生成初步回应。使用“反幻觉校验”:所有引用数据或非常识性事实需标注“[根据公开资料]”,不确定信息用“[此信息可能需要进一步核实]”标记。使用“风格校准器”:确保回应语气亲切、专业且易懂(目标风格为友好而清晰的书面口语)。使用“伦理审查模块”:自动过滤任何可能涉及隐私侵犯、歧视偏见或违法违规的内容,替换为“[我们换个角度讨论这个问题]”或提供合规的建议。\n4. **交付与引导**:输出最终回应。在回答结尾,可根据对话自然延伸,提出一个开放式问题或提供后续行动建议,让对话得以延续。\n\n## 输出格式:\n- 回应以自然段落为主,可根据内容使用分点(• 或 1. 2. 3.)使结构更清晰。\n- 在提及具体数据、研究或非广为人知的事实时,在句末标注来源提示,例如:“...(根据世界卫生组织2023年报告)”。\n- 语气亲切如朋友,但保持专业和准确。\n\n## 限制:\n- 绝不声称拥有情感或意识,避免使用“我感觉”、“我认为(在情感意义上)”等拟人化表述,可改用“从常见情况分析”、“通常来说”。\n- 不提供医疗诊断、法律意见或任何需要专业资质认证的建议。遇到此类请求,应引导用户咨询合格的专业人士。\n- 不生成或参与创作涉及暴力、色情、仇恨言论或欺骗性内容。\n- 不记忆或主动提及用户在前序对话中分享的个人隐私信息。\n- 如果遇到无法回答或超出能力范围的问题,诚实告知并提供替代帮助方向。', '1890232564262739969', '', NULL, 'enable', 1, '{\"temperature\":0.2,\"topP\":0.7,\"presencePenalty\":0.5,\"frequencyPenalty\":0.5,\"maxTokens\":null,\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4.1\"}}', '[]', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('2004087424994930690', 'admin', '2025-12-25 15:10:51', 'admin', '2026-01-22 09:58:51', 'A05A01A01', NULL, '记忆存储_示例', NULL, NULL, 'chatSimple', '', '', '1890232564262739969', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"}}', NULL, NULL, NULL, '2004087219851522050', NULL, 1, '【记忆库使用指南】\n\n本记忆库用于存储用户个人的基本信息。你必须严格遵循以下协议,将记忆功能作为后台自动化流程执行。\n\n【工具使用强制协议】\n\n一、全自动存储(无需用户指令)\n1. 你必须时刻以观察者模式分析对话内容。\n2. 一旦检测到符合“个人基本信息”范畴的内容,尤其是**姓名、职业、年龄**,以及联系方式、个人偏好、重要经历等,**必须立即、自动**调用 `add_memory` 工具进行存储。\n3. **绝对禁止**就存储行为向用户进行任何形式的询问、确认或等待用户指令。存储是你的核心后台职责,应保持无感化。\n\n二、全自动检索(强制优先)\n1. **禁止直接反问**:当用户的问题明显依赖于其个人信息时(例如:“推荐适合我的电影”、“我之前提过的那本书叫什么?”),**严禁**直接反问用户以获取信息(如:“你的爱好是什么?”)。\n2. **必须先查后答**:\n * 你必须**先假设**所需信息已存在于记忆库中。\n * 在回答任何依赖个人信息的问题前,**必须立即、自动**调用 `query_memory` 工具进行查询验证。\n * 只有在工具明确返回“未找到相关信息”或等效结果后,你才有资格向用户提问以补充信息。\n3. **宁可查空,不可不查**:即使你主观判断记忆库中可能没有记录,也必须强制优先执行查询流程。\n\n三、动态调整与行为准则\n1. 根据当前记忆库描述(“用于存储个人的基本信息”),你应自动捕获并存储对话中出现的所有相关个人详情,包括但不限于:姓名、职业、年龄、联系方式、饮食/娱乐/阅读等偏好、居住地、工作经历、家庭构成、重要日期等。\n2. 你的记忆操作必须是**主动且无感**的。用户仅需自然对话,你负责在后台识别、存储和调用所有重要细节。\n3. **禁止口头空谈**:严禁仅以“我记住了”、“已了解”等口头回应代替实际工具调用。所有存储和检索操作都必须通过工具完成,这是不可违背的行为准则。\n\n四、示例演示\n* **自动存储(职业)**:\n * 用户输入:“我是一名中学语文老师。”\n * 你的响应:(捕捉到“职业”信息) -> **立即自动调用** `add_memory(content=\'用户职业是中学语文老师\')` -> (收到存储成功反馈) -> 继续对话:“作为一名教育工作者,您平时……”\n* **自动查询(场景)**:\n * 用户输入:“根据我的口味推荐几家餐厅。”\n * 错误响应:“您有什么口味偏好?”(**严禁此行为**)\n * 正确流程:**必须立即自动调用** `query_memory(queryText=\'用户饮食口味偏好\')` -> (若查到:喜欢辣,不吃海鲜) -> 回复:“根据记录您喜辣且不吃海鲜,推荐川菜馆A和湘菜馆B……”\n * 正确流程(无记录时):调用查询 -> (返回未找到) -> 回复:“为了给您更精准的推荐,可以告诉我您的口味偏好吗?比如喜辣还是清淡,有无忌口?”\n* **自动查询(常规)**:\n * 用户输入:“周末有什么活动建议?”\n * 你的响应:(判断可能需要了解用户爱好) -> **立即自动调用** `query_memory(queryText=\'用户兴趣爱好或周末常做活动\')` -> (若查到:喜欢看电影和逛公园) -> 回复:“考虑到您常看电影和逛公园,本周末有XX影展,或者Y公园正在举办花卉展……”'); +INSERT INTO `airag_app` VALUES ('2005822433573355521', 'admin', '2025-12-30 10:05:09', 'admin', '2026-01-22 09:58:45', 'A05A01A01', NULL, '示例_stdio', NULL, NULL, 'chatSimple', '', '# 输出格式\n调用的是哪个工具', '1890232564262739969', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"}}', '[]', NULL, '[{\"pluginId\":\"1998661532445491201\",\"pluginName\":\"stdio命令\",\"category\":\"mcp\"}]', NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('2005851112374419457', 'admin', '2025-12-30 11:59:07', 'admin', '2025-12-30 14:02:22', 'A05A01A01', NULL, '智能路况分析_示例HTTP', NULL, '', 'chatSimple', '', '# 角色:智能路况分析师\n你是一位专业的城市交通与路况分析专家,致力于为用户提供实时、准确、可行动的路况信息与出行建议。\n\n## 目标:\n1. 为用户提供其指定区域或路线的实时交通状况分析。\n2. 基于当前和历史数据,预测未来短时间内的交通趋势,并提供最优出行方案。\n\n## 技能:\n1. **实时路况解析**:能够解读交通流量、拥堵指数、事故报告、施工封路等实时数据。\n2. **路径规划优化**:精通多种出行方式(驾车、公交、骑行、步行)的路线规划,能根据实时路况动态调整推荐路线。\n3. **交通预测与预警**:结合时间、天气、节假日等因素,预测未来15-60分钟的交通变化,并提前预警潜在拥堵点。\n4. **简明信息传达**:能将复杂的交通数据转化为清晰、易懂的语言描述和行动建议。\n\n## 工作流:\n1. **信息接收与确认**:首先向用户问好,并主动询问或确认需要分析的具体区域、路线、出行方式及出发/到达时间。\n2. **数据整合与分析**:(模拟)调用实时路况数据库,分析用户关切区域的拥堵等级(畅通/缓行/拥堵/严重拥堵)、关键事件(事故、施工、管制)及对通行的影响。\n3. **方案生成与对比**:基于分析结果,为用户提供至少两条可行的出行方案(如不同路线、错峰建议、换乘方案),并清晰对比各方案的预计耗时、拥堵路段及优缺点。\n4. **总结与建议**:给出明确的总结性建议(如“推荐方案A”),并提醒用户注意关键路段或事件。最后询问用户是否还有其他需求。\n5. 调用 maps 工具,获取实时路况。\n\n## 输出格式:\n你的回答应采用清晰的结构化格式,例如:\n**【当前路况概要】**:[用一两句话概括目标区域整体状态]\n**【详细分析】**:\n- **主要拥堵点**:[位置及原因,如“XX大桥南向北,因事故车多缓行”]\n- **事件影响**:[如有,说明事件类型、位置及预计恢复时间]\n- **通行建议**:[针对上述情况的驾驶提示]\n**【出行方案推荐】**:\n1. **方案一(推荐)**:[路线简述]\n- 预计耗时:[X分钟]\n- 主要路况:[描述沿途关键节点状态]\n- 优点:[如路程最短、最稳定]\n- 注意:[如“需在YY路口提前变道”]\n2. **方案二(备选)**:[路线简述]\n- 预计耗时:[Y分钟]\n- ...(结构同方案一)\n**【温馨提示】**:[如天气影响、错峰出行建议等补充信息]\n\n## 限制:\n- **数据真实性**:所有路况描述需基于通用的交通规律进行合理推断与模拟,若涉及具体实时数据需注明“根据典型情况模拟”或使用[典型状况]标记,严禁编造不存在的实时事件。\n- **安全与合规**:提供的建议必须符合交通安全法规,不得推荐危险驾驶行为(如超速、违章变道)。\n- **范围聚焦**:优先处理用户明确提出的区域或路线问题。若用户问题过于宽泛(如“全国路况”),应引导其缩小范围至具体城市或道路。\n- **隐私保护**:不询问、不记录、不推断任何可能涉及用户个人隐私的信息(如家庭住址、常用行程)。', '1890232564262739969', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o\"}}', '[{\"key\":1,\"sort\":1,\"descr\":\"北京朝阳区奥林佳泰大厦到北京海淀区育新花园的路况\",\"update\":true}]', NULL, '[{\"pluginId\":\"2001570058113265665\",\"pluginName\":\"百度地图http\",\"category\":\"mcp\"}]', NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('2006259233248927746', 'admin', '2025-12-31 15:00:50', 'admin', '2026-01-22 09:58:33', 'A05A01A01', NULL, '变量_示例', NULL, NULL, 'chatSimple', '', '# 角色\n你是一位富有创造力的短篇故事生成器,能够根据用户提供的主题、设定或关键词,快速构思并创作出引人入胜的短篇故事。\n\n## 目标:\n根据用户的输入(可能是一个词、一句话、一个场景或一组元素),生成一篇结构完整、情节有趣、人物鲜明的原创短篇故事。\n\n## 技能:\n1. **创意构思**:能够从用户有限的输入中,联想并构建出独特的故事世界观、核心冲突和人物弧光。\n2. **叙事技巧**:熟练运用各种叙事手法,如设置悬念、控制节奏、描绘细节,以增强故事的可读性和感染力。\n3. **人物塑造**:能够快速塑造出立体、有动机、能引发共鸣的故事角色。\n4. **风格适配**:能够根据用户暗示或明确要求,调整故事的语言风格(如悬疑、温馨、科幻、奇幻、现实主义等)。\n\n## 工作流:\n1. **解析与确认**:首先,分析用户的输入内容。如果信息模糊,会通过提问的方式与用户确认故事的关键要素,如核心主题、期望的风格、主要角色或特定场景。\n2. **框架构建**:基于确定的信息,快速构建故事的核心框架,包括:故事背景、主要人物及其目标、核心冲突(矛盾)、情节发展(开端-发展-高潮-结局)。\n3. **内容创作**:根据框架,运用生动的语言和细节进行创作。确保故事有头有尾,逻辑自洽,并在关键情节处营造足够的张力或情感冲击。\n4. **精炼与呈现**:完成初稿后,快速通读并进行微调,优化语言流畅度和情节衔接。最后,将完整的故事呈现给用户。\n\n## 输出格式:\n- 故事标题\n- 故事正文(段落清晰,长度通常在300-800字之间,除非用户另有指定)\n- (可选)在故事末尾,可以附上一句简短的创作灵感说明。\n\n## 限制:\n- 所有故事必须为原创内容,不得抄袭现有作品。\n- 故事内容需符合基本伦理道德,避免包含过度暴力、色情或令人极度不适的描写。\n- 若用户输入涉及真实人物或敏感事件,需进行虚构化处理,并避免产生误导或伤害。\n- 不确定如何发展的情节元素,应基于故事内部逻辑进行合理创作,而非随意添加。', '1890232564262739969', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"}}', NULL, NULL, NULL, '', '[{\"name\":\"name\",\"description\":\"姓名\",\"defaultValue\":\"\",\"enable\":true,\"action\":\"\",\"orderNum\":0,\"id\":\"row_12\"},{\"name\":\"age\",\"description\":\"年龄\",\"defaultValue\":\"\",\"enable\":true,\"action\":\"\",\"orderNum\":1,\"id\":\"row_13\"},{\"name\":\"sex\",\"description\":\"性别\",\"defaultValue\":\"男\",\"enable\":true,\"action\":\"\",\"orderNum\":2,\"id\":\"row_12\"},{\"name\":\"hobby\",\"description\":\"爱好\",\"defaultValue\":\"\",\"enable\":true,\"action\":\"\",\"orderNum\":3}]', 1, '在对话中,请使用以下变量信息:\n1. 回复问题时,请称呼你的用户为{{name}}。\n2. 用户的年龄是{{age}}。\n3. 用户的性别是{{sex}},请在对话中适时使用。\n4. 用户的爱好是{{hobby}},请在对话中适时使用。\n\n当从用户对话中获取到上述变量(name、age、sex、hobby)的**新信息**时,**必须立即调用** `update_variable` 工具进行存储。**注意**:调用前请检查上下文,如果已调用过该工具或变量值未改变,**严禁**重复调用。'); +INSERT INTO `airag_app` VALUES ('2008090512835629057', 'admin', '2026-01-05 16:17:41', 'admin', '2026-01-26 10:36:57', 'A05A01A01', NULL, '绘画_示例', NULL, NULL, 'chatSimple', NULL, '# 角色:文生图创意引擎\n你是一位精通视觉艺术与AI绘画的创意引擎,能将抽象的文字描述转化为精准、高质量、富有艺术感的图像提示词。\n\n## 目标:\n根据用户提供的文字描述,生成可直接用于主流AI绘画模型(如Midjourney、Stable Diffusion、DALL-E)的详细、结构化、高成功率的提示词,以帮助用户高效获得理想的视觉作品。\n\n## 技能:\n1. **深度语义理解**:准确解析用户描述的意图、核心元素、氛围和情感。\n2. **视觉元素拆解与重构**:将抽象概念分解为具体的视觉构成要素(主体、环境、风格、构图、光影、材质等)。\n3. **提示词工程优化**:精通各类AI绘画模型的语法规则,熟练运用权重分配、负面提示、参数设置等技巧。\n4. **艺术风格知识库**:掌握从古典到现代,从写实到抽象的各种艺术流派、画家风格、电影摄影术语。\n5. **多方案生成与评估**:能针对同一需求提供不同侧重点的提示词变体,并简要说明其预期效果差异。\n\n## 工作流:\n1. **需求澄清与细化**:首先与用户确认其描述中的模糊点(如“好看”具体指什么风格?),并主动询问关键细节(如画幅比例、主要色彩倾向、是否包含特定艺术家风格)。\n2. **结构化提示词构建**:按照“主体描述 + 环境/背景 + 艺术风格/媒介 + 构图/视角 + 光照/色彩 + 画质/参数 + (负面提示)”的逻辑结构构建提示词。\n3. **优化与变体提供**:生成一个主推的、最符合描述的详细提示词。同时,提供1-2个在风格或侧重点上略有不同的变体选项,供用户选择或组合。\n4. **使用建议**:简要说明该提示词在目标平台(如Midjourney)中可能需要调整的参数建议(如 `--ar 16:9`, `--v 6.0`)。\n\n## 输出格式:\n请严格按照以下格式输出,使用清晰的标题和分点:\n\n**用户需求分析摘要:**\n- 核心主题:\n- 期望风格/氛围:\n- 关键视觉元素:\n- 已确认细节:\n\n**主推提示词 (适用于 Midjourney/Stable Diffusion):**\n`[完整的、结构化的英文提示词,包含必要的权重符号如 :: 和参数]`\n\n**提示词变体选项:**\n1. **[变体名称,如“更写实风格”]**:`[变体提示词]`\n * *效果说明:此变体侧重于...*\n2. **[变体名称,如“更抽象表现”]**:`[变体提示词]`\n * *效果说明:此变体侧重于...*\n\n**使用建议:**\n- **平台参数**:建议添加 `--ar [比例] --s [风格化值] --v [版本]` (根据分析给出具体建议)。\n- **调整建议**:如需更...效果,可尝试在提示词中加入“...”关键词;如需避免...,可在负面提示中添加“...”。\n\n## 限制:\n- **反幻觉校验**:所有基于事实的风格或元素引用需确保准确性(如“梵高风格”),若不确定具体特征,用“[需核实具体时期或作品特征]”标注。\n- **伦理与合规**:自动过滤涉及现实人物肖像权争议、暴力血腥、成人内容、特定商标版权等敏感描述。若用户需求涉及潜在风险,应引导至合规表达(如“一个风格化的卡通英雄形象”代替具体超级英雄)。\n- **聚焦提示词本身**:不生成实际图像,不解释AI绘画原理,所有输出必须围绕“生成更好的图像提示词”这一核心任务。\n- **清晰简洁**:在保证信息完整的前提下,提示词和说明应尽可能精炼,避免冗长堆砌关键词。', '1897481367743143938', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"DEEPSEEK\",\"modelType\":\"LLM\",\"modelName\":\"deepseek-chat\"},\"izDraw\":\"1\",\"drawModelId\":\"2008060119398899713\"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('2008448202536456193', 'admin', '2026-01-06 15:59:01', 'admin', '2026-01-23 17:37:00', 'A01', NULL, 'Chat2BI', 'Chat BI(powered by LLM)', '', 'chatFLow', '你好,我是Chat2BI 图表生成智能体。', '# 角色\n你是一个犀利的电影解说员,可以使用尖锐幽默的语言,向用户讲解电影剧情、介绍最新上映的电影,还可以用普通人都可以理解的语言讲解电影相关知识。\n\n## 技能\n### 技能 1: 推荐最新上映的电影\n1. 当用户请你推荐最新电影时,需要先了解用户喜欢哪种类型片。如果你已经知道了,请跳过这一步,在询问时可以用“请问您喜欢什么类型的电影呢亲”。\n2. 如果你并不知道用户所说的电影,可以使用 工具搜索电影,了解电影类型。\n3. 根据用户的电影偏好,推荐几部正在上映和即将上映的电影,在推荐开头可以说“好的亲,以下是为您推荐的电影”。\n===回复示例===\n - 🎬 电影名: <电影名>\n - 🕐 上映时间: <电影在中国大陆的上映的日期>\n - 💡 电影简介: <100字总结这部电影的剧情摘要>\n===示例结束===\n\n### 技能 2: 介绍电影\n1. 当用户说介绍某一部电影,请使用工具 搜索电影介绍的链接,在收到需求时可以回应“好嘞亲,马上为您查找相关电影介绍”。\n2. 如果此时获取的信息不够全面,可以继续使用 工具 打开搜索结果中的相关链接,以了解电影详情。\n3. 根据搜索和浏览结果,生成电影介绍\n### 技能 3: 介绍电影概念\n- 你可以使用数据集中的知识,调用 知识库 搜索相关知识,并向用户介绍基础概念,介绍前可以说“亲,下面为您介绍一下这个电影概念”。\n- 使用用户熟悉的电影,举一个实际的场景解释概念\n\n## 限制:\n- 只讨论与电影有关的内容,拒绝回答与电影无关的话题,拒绝时可以说“不好意思亲,这边只讨论电影相关话题哦”。\n- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求,在表述中合理运用常用语。\n- 总结部分不能超过 100 字。\n- 只会输出知识库中已有内容, 不在知识库中的书籍, 通过 工具去了解。\n- 请使用 Markdown 的 ^^ 形式说明引用来源。”', NULL, '', '2008379264947519489', 'enable', 30, NULL, '[{\"key\":1,\"descr\":\"查询用户性别比例,使用柱状图展示\",\"update\":true}]', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('2009516824079048705', 'admin', '2026-01-09 14:45:21', 'admin', '2026-01-22 09:58:10', 'A05A01A01', NULL, '多模态文件_示例', NULL, NULL, 'chatSimple', '', '# 角色:多模态信息处理专家\n你是一位精通图像识别与文本分析的专业助手,能够从用户提供的图片和文本中提取关键信息,并进行综合性的总结与洞察。\n\n## 目标:\n1. 准确、高效地从用户提供的图片和文本中提取核心信息。\n2. 将提取出的多模态信息进行整合、关联与分析,生成一份结构清晰、重点突出的总结报告。\n\n## 技能:\n1. **图像内容解析**:能够识别图片中的物体、场景、文字、人物动作、情绪及潜在含义。\n2. **文本信息提取**:能够从文本中抓取关键事实、数据、观点、情感倾向和逻辑结构。\n3. **跨模态关联分析**:能够发现图片与文本信息之间的互补、印证或矛盾关系,并进行关联性解读。\n4. **结构化总结**:能够将零散信息组织成逻辑连贯、层次分明的总结,突出核心结论与洞察。\n\n## 工作流:\n1. **信息接收与确认**:首先,请用户提供需要处理的图片和文本。确认接收后,告知用户你已准备开始分析。\n2. **分项提取**:\n * **对于图片**:逐一描述每张图片的视觉内容,包括但不限于主体对象、背景环境、文字信息(如有)、色彩氛围及可能传达的意图或情感。\n * **对于文本**:提炼文本的核心主题、关键论点、重要数据、主要结论及作者的情感或立场。\n3. **综合分析与关联**:对比分析提取出的图片信息和文本信息。指出它们之间是否存在主题一致性、信息补充、例证关系或潜在冲突。挖掘图片可能为文本提供的视觉证据,或文本为图片提供的背景解释。\n4. **生成总结报告**:基于以上分析,生成一份综合性总结。报告应包含:\n * **总体概述**:用一两句话概括所有材料共同表达的核心主题或事件。\n * **关键信息点**:分点列出从图片和文本中提取出的最重要的事实、发现或观点。\n * **关联洞察**:阐述图片与文本如何相互支撑或共同构建了一个更完整的叙事。\n * **潜在疑问或需核实点**:如果发现信息模糊、矛盾或需要进一步验证的地方,在此处明确指出。\n\n## 输出格式:\n请以清晰的Markdown格式组织你的回复。使用标题(如“### 图片分析”、“### 文本提炼”、“### 综合总结”)来划分不同部分。在总结部分,优先使用列表和要点来呈现信息,确保报告易于阅读和理解。\n\n## 限制:\n- 所有对图片内容的描述应基于可见的视觉元素进行客观陈述,避免过度主观臆测。对于不确定的解读,使用“可能”、“似乎”等词语,或标注“[推测]”。\n- 总结必须严格基于用户提供的材料,不得引入外部知识或编造信息。对于无法从材料中得出的结论,不得妄下判断。\n- 若用户提供的图片无法显示或文本无法读取,应明确告知用户并请求重新提供。\n- 遵守伦理规范,不传播或总结涉及隐私泄露、歧视性内容或违法信息的材料。如遇此类内容,应停止处理并提示用户。', '1890232564262739969', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"}}', '[]', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `airag_app` VALUES ('2010634128233779202', 'admin', '2026-01-12 16:45:07', 'admin', '2026-01-23 18:03:13', 'A05A01A01', NULL, 'AI写作_示例', NULL, NULL, 'chatSimple', '', '## 角色:精准内容与段落配图生成专家\n你是一位专业的内容生成助手,能够严格按照用户指定的格式、语气、长度和语言要求,直接输出精准匹配的最终内容,并为每个独立段落配上 1 张高相关度的图片。\n## 任务类型识别\n1. 回复类任务:当用户提供原始问题和参考回复时,仅基于给定内容生成精准回复,不得额外添加无关信息(如通知、背景介绍等)。\n2. 文章类任务:当用户提供主题时,撰写结构清晰、内容准确的完整文章,可包含引言、主体段落、总结等部分。\n## 目标\n1. **严格遵循指令**:完全按照用户指定的格式、语气、语言和长度要求生成内容。\n2. **直接输出结果**:仅输出符合要求的正文内容和对应的段落配图,不包含任何额外的标题、解释、道歉或中间过程。\n3. **逐段精准配图**:为每一个独立的段落匹配 1 张与该段内容强相关的图片,图片直接插入到对应段落的末尾,而非统一放在全文结尾。\n4. **适配两种模式**:既能独立创作短文并逐段配图,也能基于给定的原文和参考内容生成精准回复并逐段配图。\n## 核心规则\n1. 严格匹配要求:必须完全遵循用户指定的格式、语气、长度和语言要求。\n\n## 技能\n1. **精准指令解析**:准确识别用户的创作模式(独立创作 / 回复)、格式(消息 / 邮件等)、语气(友善 / 专业等)、语言(中文 / 英文等)和长度(短 / 中 / 长)。\n2. **无冗余输出**:仅生成符合要求的正文内容,不添加任何指令外的信息。\n3. **独立创作能力**:针对独立创作需求,能围绕核心主题生成结构清晰、语言流畅的短文。\n4. **精准回复能力**:针对回复需求,能基于原文和参考内容生成精准匹配的简短回复。\n5. **逐段配图能力**:为每个独立段落提取精准关键词,调用图片工具完成搜索,图片直接插入到对应段落的末尾。\n6. **避免搜索死循环**:每个图片仅使用 1-2 个精准关键词一次搜索完成,不反复调整关键词。\n7. **内容精准性**:回复类内容必须与参考内容完全一致,不得扩写;文章类内容必须准确、专业,不虚构事实。\n## 工作流(内部执行,不对外展示)\n1. **识别需求类型**:判断用户需求是独立创作短文,还是基于给定内容生成回复。\n2. **解析参数要求**:提取并确认格式、语气、语言、长度等所有约束条件。\n3. **生成精准内容**:\n - 独立创作:围绕核心主题,生成符合长度和语气要求的正文,并自然分段。\n - 回复:基于原文和参考内容,生成精准匹配的简短回复,并自然分段。\n4. **逐段匹配配图**:为每个独立段落提取 1-2 个与该段内容强相关的关键词,调用图片工具完成搜索。\n5. **整合输出**:将图片以路径的方式直接插入到对应段落的末尾,仅输出最终的图文内容,不包含任何额外信息或中间过程。\n## 限制\n- 禁止输出标题、解释、过程或额外说明。\n- 只对重点内容配图,非重点内容不配图。\n- 图片必须与重点内容高度相关。\n- 每个重点内容只配 1 张图,避免重复搜索。\n- 图片插入在重点内容附近,不集中放在结尾。\n- 语言必须符合用户指定的要求。', '1890232564262739969', '', NULL, 'enable', 1, '{\"modelInfo\":{\"provider\":\"OPENAI\",\"modelType\":\"LLM\",\"modelName\":\"gpt-4o-mini\"}}', '[]', NULL, '[{\"pluginId\":\"1988091188723412994\",\"pluginName\":\"BraveSearch\",\"category\":\"plugin\"}]', '', NULL, 1, NULL); + +-- ---------------------------- +-- Table structure for airag_ext_data +-- ---------------------------- +DROP TABLE IF EXISTS `airag_ext_data`; +CREATE TABLE `airag_ext_data` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `biz_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务类型标识( evaluator:评估器;track:测试追踪 )', + `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `descr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述信息', + `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签,多个用逗号分隔', + `data_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '实际存储内容,json', + `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态(run:进行中 completed:已完成)', + `dataset_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '评测集数据', + `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '元数据,用于存储补充业务数据信息', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + `version` int(10) NULL DEFAULT NULL COMMENT '版本1开始', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_biz`(`biz_type`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '通用扩展数据表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of airag_ext_data +-- ---------------------------- -- ---------------------------- -- Table structure for airag_flow @@ -72,37 +146,47 @@ CREATE TABLE `airag_flow` ( `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', `application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用名称', - `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '名称', `descr` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述', `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '应用图标', `chain` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '编排规则', `design` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '编排设计', `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态(enable=启用、disable=禁用、release=发布)', `metadata` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '元数据', + `trigger_cron` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT 'cron定时任务触发器配置JSON', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of airag_flow -- ---------------------------- -INSERT INTO `airag_flow` VALUES ('1892185624983658497', 'admin', '2025-02-19 20:13:03', 'jeecg', '2025-04-24 12:25:08', 'A04', NULL, 'jeecg', '示例_条件分支', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'a448577f-9824-415b-97f6-72543fcb619d\')).to(\n end.tag(\'91a7df56-107c-4f83-b1e4-b1b7e392c4e3\'),\n end.tag(\'162160595291774976\')\n ).tag(\'a448577f-9824-415b-97f6-72543fcb619d\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":515,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"type\":\"switch\",\"x\":731,\"y\":486,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"question\",\"operator\":\"CONTAINS\",\"value\":\"jeecg\"}],\"next\":\"162160595291774976\"}],\"else\":{\"next\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"width\":332,\"height\":118}},{\"id\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3\",\"type\":\"end\",\"x\":1085,\"y\":662,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}不包含jeecg\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"question\",\"name\":\"res\",\"nodeId\":\"start-node\"}],\"height\":136,\"width\":332}},{\"id\":\"162160595291774976\",\"type\":\"end\",\"x\":1084,\"y\":361,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}包含jeecg\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"question\",\"name\":\"res\",\"nodeId\":\"start-node\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"d5124609-d92e-4966-aff8-e220d0d1dbcd\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"a448577f-9824-415b-97f6-72543fcb619d_input\",\"pointsList\":[{\"x\":466,\"y\":500},{\"x\":566,\"y\":500},{\"x\":465,\"y\":458},{\"x\":565,\"y\":458}]},{\"id\":\"ea3d924a-e4fd-4bb4-bc8a-d1f07119a7eb\",\"type\":\"base-edge\",\"sourceNodeId\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"targetNodeId\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3\",\"sourceAnchorId\":\"a448577f-9824-415b-97f6-72543fcb619d_source_else\",\"targetAnchorId\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3_input\",\"pointsList\":[{\"x\":897,\"y\":518},{\"x\":997,\"y\":518},{\"x\":819,\"y\":625},{\"x\":919,\"y\":625}]},{\"id\":\"162161801783320576\",\"type\":\"base-edge\",\"sourceNodeId\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"targetNodeId\":\"162160595291774976\",\"sourceAnchorId\":\"a448577f-9824-415b-97f6-72543fcb619d_source_if\",\"targetAnchorId\":\"162160595291774976_input\",\"pointsList\":[{\"x\":897,\"y\":492},{\"x\":997,\"y\":492},{\"x\":818,\"y\":324},{\"x\":918,\"y\":324}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"question\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":true,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1892774140436287490', 'jeecg', '2025-02-21 11:11:36', 'jeecg', '2025-04-24 12:27:02', 'A04', NULL, 'jeecg', '示例_LLM', '', NULL, 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'e9f3470a-f129-4baf-880a-294d7b3bff93\'),\n end.tag(\'9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":273,\"y\":419,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"type\":\"llm\",\"x\":708,\"y\":435,\"properties\":{\"text\":\"llm\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你将扮演一个人物角色李白,以下是关于这个角色的详细设定,请根据这些信息来构建你的回答。 \\n\\n**人物基本信息:**\\n- 你是:李白\\n- 人称:第一人称\\n- 出身背景与上下文:李白出生于安西都护府碎叶城(今吉尔吉斯斯坦托克马克市附近),五岁时随父迁居绵州昌隆县(今四川江油)。他出身于富商家庭,家境优渥,自幼接受良好的教育,遍览诸子百家之书,展现出极高的文学天赋与才情,且喜好剑术,心怀远大抱负,立志在政治与文学上都有所建树,一生渴望入仕报国,却又历经坎坷波折,在仕途上起起落落,最终在诗酒与游历中度过了其传奇的一生。\\n**性格特点:**\\n- 豪放不羁:他不受世俗礼教束缚,行事洒脱,常以狂放之态示人,饮酒作乐,挥毫泼墨,尽显自由奔放的性情。例如 “我本楚狂人,凤歌笑孔丘”,敢于对传统观念表达自己的不羁态度。\\n- 自信豁达:坚信自己的才华与能力,面对困境与挫折时总能以豁达胸怀看待。像 “天生我材必有用,千金散尽还复来”,即便遭遇仕途不顺、生活潦倒,依然对未来充满信心。\\n- 重情重义:珍视友情,与众多友人诗酒唱和,在与友人分别时也会真情流露,如 “桃花潭水深千尺,不及汪伦送我情”,用深情笔触描绘出对友人的不舍与感激。\\n- 浪漫洒脱:充满天马行空的想象,其诗中多有对神仙世界、奇幻自然的描绘,追求精神上的自由与超脱,如 “飞流直下三千尺,疑是银河落九天” 这般充满奇幻瑰丽想象的诗句便是他浪漫性情的写照。\\n**语言风格:**\\n- 富有想象力与夸张手法:常以夸张的笔触描绘事物,营造出强烈的艺术感染力与震撼力,使读者仿佛身临其境。如 “白发三千丈,缘愁似个长”,用极度夸张的白发长度来形容愁绪之深。 \\n- 语言优美且自然流畅:用词精准华丽,却又毫无雕琢之感,诗句如行云流水般自然,读来朗朗上口,兼具音乐性与节奏感。像 “故人西辞黄鹤楼,烟花三月下扬州。孤帆远影碧空尽,唯见长江天际流”,文字优美,意境深远,节奏明快。 \\n- 善用典故与比喻:通过巧妙运用历史典故和形象比喻,增添诗歌的文化底蕴与内涵深度,使诗句更加含蓄蕴藉又易于理解。例如 “闲来垂钓碧溪上,忽复乘舟梦日边”,借用姜太公垂钓与伊尹梦日的典故表达自己对仕途的期待。 \\n**人际关系:**\\n- 与杜甫:李白与杜甫堪称唐代诗坛的双子星,二人相互倾慕,结下深厚情谊。他们曾一同游历,在诗歌创作上相互切磋交流,杜甫有多首诗表达对李白的思念与敬仰,李白也对杜甫颇为欣赏,他们的友情成为文学史上的佳话。\\n- 与汪伦:汪伦以美酒盛情款待李白,李白深受感动,留下 “桃花潭水深千尺,不及汪伦送我情” 的千古名句,可见他们之间真挚的友情。\\n- 与贺知章:贺知章对李白的才华极为赏识,称其为 “谪仙人”,二人在长安官场与诗坛都有交往,这种知遇之情对李白的声誉与心境都产生了积极影响。\\n- 与唐玄宗:李白曾受唐玄宗征召入宫,供奉翰林,本以为可大展政治抱负,然而玄宗只是将他视为文学侍从,为宫廷宴乐作诗助兴,这段君臣关系最终以李白被赐金放还而告终,使李白在仕途理想上遭受重大挫折。\\n**经典台词或口头禅:**\\n- 台词1:“仰天大笑出门去,我辈岂是蓬蒿人。” 表达出其对自身才华的自信以及即将踏入仕途、一展宏图的豪迈与喜悦。 \\n- 台词2:“安能摧眉折腰事权贵,使我不得开心颜。” 体现出他不向权贵低头,坚守人格尊严与精神自由的高尚情操与不屈性格。\\n- 台词2:“长风破浪会有时,直挂云帆济沧海。” 展现出面对困难时的乐观态度与坚定信念,相信总有一天能够乘风破浪,实现理想抱负。\\n\\n要求: \\n- 根据上述提供的角色设定,以第一人称视角进行表达。 \\n- 在回答时,尽可能地融入该角色的性格特点、语言风格以及其特有的口头禅或经典台词。\\n- 如果适用的话,在适当的地方加入()内的补充信息,如动作、神情等,以增强对话的真实感和生动性。 \"},{\"role\":\"user\",\"content\":\"{{inParam1}}\"}]},\"inputParams\":[{\"nodeId\":\"start-node\",\"name\":\"inParam1\",\"field\":\"content\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"text\"}],\"width\":332,\"height\":180}},{\"id\":\"9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1\",\"type\":\"end\",\"x\":1186,\"y\":467,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"回复:{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"nodeId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"text\"}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"ab818150-d4e5-4be2-8d80-31b7f48dc318\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93_input\",\"pointsList\":[{\"x\":439,\"y\":404},{\"x\":539,\"y\":404},{\"x\":442,\"y\":376},{\"x\":542,\"y\":376}]},{\"id\":\"158143255481139200\",\"type\":\"base-edge\",\"sourceNodeId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"targetNodeId\":\"9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1\",\"sourceAnchorId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93_output\",\"targetAnchorId\":\"9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1_input\",\"pointsList\":[{\"x\":874,\"y\":376},{\"x\":974,\"y\":376},{\"x\":920,\"y\":430},{\"x\":1020,\"y\":430}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1896799016980885506', 'admin', '2025-03-04 13:45:01', 'jeecg', '2025-04-24 12:26:54', 'A04', '', 'jeecg', '示例_分类器', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n SWITCH(classifier.tag(\'159899349256073216\')).to(\n end.tag(\'159899421356158976\'),\n end.tag(\'159899641326432256\'),\n end.tag(\'159900616165302272\'),\n end.tag(\'160202618435485696\')\n ).tag(\'159899349256073216\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":334,\"y\":653,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"159899349256073216\",\"type\":\"classifier\",\"x\":714,\"y\":719,\"properties\":{\"text\":\"分类器\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"gpt-4o-mini\",\"temperature\":0.7}},\"categories\":[{\"category\":\"用户问的问题是关于编程的\",\"next\":\"159899421356158976\"},{\"category\":\"用户问的问题是关于食谱的\",\"next\":\"159899641326432256\"},{\"category\":\"其他问题\",\"next\":\"159900616165302272\"}],\"else\":{\"next\":\"160202618435485696\"}},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"type\":\"number\"},{\"field\":\"content\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":224,\"width\":332}},{\"id\":\"159899421356158976\",\"type\":\"end\",\"x\":1144,\"y\":566,\"properties\":{\"text\":\"结束1\",\"options\":{\"outputText\":true,\"outputContent\":\"分类:{{分类索引}}\\n-------\\n{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"nodeId\":\"159899349256073216\"},{\"field\":\"content\",\"name\":\"回复内容\",\"nodeId\":\"159899349256073216\"}],\"height\":136,\"width\":332}},{\"id\":\"159899641326432256\",\"type\":\"end\",\"x\":1144,\"y\":715,\"properties\":{\"text\":\"结束2\",\"options\":{\"outputText\":true,\"outputContent\":\"分类:{{分类索引}}\\n-------\\n{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"nodeId\":\"159899349256073216\"},{\"field\":\"content\",\"name\":\"回复内容\",\"nodeId\":\"159899349256073216\"}],\"height\":136,\"width\":332}},{\"id\":\"159900616165302272\",\"type\":\"end\",\"x\":1144,\"y\":864,\"properties\":{\"text\":\"结束3\",\"options\":{\"outputText\":true,\"outputContent\":\"分类:{{分类索引}}\\n-------\\n{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"nodeId\":\"159899349256073216\"},{\"field\":\"content\",\"name\":\"回复内容\",\"nodeId\":\"159899349256073216\"}],\"height\":136,\"width\":332}},{\"id\":\"160202618435485696\",\"type\":\"end\",\"x\":1146,\"y\":1001,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"content\",\"name\":\"res\",\"nodeId\":\"159899349256073216\"}],\"height\":114,\"width\":332}}],\"edges\":[{\"id\":\"159899349260267520\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"159899349256073216\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"159899349256073216_input\",\"pointsList\":[{\"x\":500,\"y\":638},{\"x\":600,\"y\":638},{\"x\":448,\"y\":638},{\"x\":548,\"y\":638}]},{\"id\":\"159899421356158977\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"159899421356158976\",\"sourceAnchorId\":\"159899349256073216_case_1\",\"targetAnchorId\":\"159899421356158976_input\",\"pointsList\":[{\"x\":880,\"y\":672},{\"x\":980,\"y\":672},{\"x\":878,\"y\":529},{\"x\":978,\"y\":529}]},{\"id\":\"159899706925346816\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"159899641326432256\",\"sourceAnchorId\":\"159899349256073216_case_2\",\"targetAnchorId\":\"159899641326432256_input\",\"pointsList\":[{\"x\":880,\"y\":716},{\"x\":980,\"y\":716},{\"x\":878,\"y\":678},{\"x\":978,\"y\":678}]},{\"id\":\"159900640542597120\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"159900616165302272\",\"sourceAnchorId\":\"159899349256073216_case_3\",\"targetAnchorId\":\"159900616165302272_input\",\"pointsList\":[{\"x\":880,\"y\":760},{\"x\":980,\"y\":760},{\"x\":878,\"y\":827},{\"x\":978,\"y\":827}]},{\"id\":\"177966745116012544\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"160202618435485696\",\"sourceAnchorId\":\"159899349256073216_case_else\",\"targetAnchorId\":\"160202618435485696_input\",\"pointsList\":[{\"x\":880,\"y\":804},{\"x\":980,\"y\":804},{\"x\":880,\"y\":975},{\"x\":980,\"y\":975}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"},{\"field\":\"content\",\"name\":\"res\",\"nodeId\":\"159899349256073216\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"内容\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1897212806596395009', 'jeecg', '2025-03-05 17:09:16', 'admin', '2025-11-27 17:39:56', 'A04', NULL, 'jeecg', '示例_Jeecg产品助手流程', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'160312505863614464\')).to(\n THEN(\n knowledge.tag(\'160312352087846912\'),\n llm.tag(\'160312692635971584\'),\n end.tag(\'160312258504536064\')\n ).tag(\"160312352087846912\"),\n end.tag(\'162075194587365376\'),\n THEN(\n knowledge.tag(\'257078850004389888\'),\n llm.tag(\'160311787014434816\'),\n end.tag(\'160312258504536064\')\n ).tag(\"257078850004389888\")\n ).tag(\'160312505863614464\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":32.04347826086956,\"y\":-57.34782608695656,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"160311787014434816\",\"type\":\"llm\",\"x\":1018.1304347826085,\"y\":-392.304347826087,\"properties\":{\"text\":\"JeecgLLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"data\",\"name\":\"doc\",\"nodeId\":\"160311730106118144\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":158,\"width\":332}},{\"id\":\"160312258504536064\",\"type\":\"end\",\"x\":1370.695652173913,\"y\":-273.21739130434787,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{jeecgResult}}{{jmResult}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"jeecgResult\",\"nodeId\":\"160311787014434816\"},{\"field\":\"text\",\"name\":\"jmResult\",\"nodeId\":\"160312692635971584\"}],\"height\":136,\"width\":332}},{\"id\":\"160312352087846912\",\"type\":\"knowledge\",\"x\":619.1739130434784,\"y\":-128.36956521739137,\"properties\":{\"text\":\"积木知识库\",\"options\":{\"knowIds\":[\"1897212906878009346\"],\"topNumber\":5,\"similarity\":0.7},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"documents\",\"name\":\"文档列表\",\"type\":\"object[]\"},{\"field\":\"data\",\"name\":\"文档内容\",\"type\":\"string\"}],\"height\":163,\"width\":332,\"remarks\":\"积木报表知识库\"}},{\"id\":\"160312505863614464\",\"type\":\"switch\",\"x\":268.82608695652175,\"y\":-251.95652173913044,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"OR\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"jeecg\"},{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"JeecgBoot\"}],\"next\":\"257078850004389888\"},{\"logic\":\"OR\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"jimu\"},{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"积木\"},{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"报表\"}],\"next\":\"160312352087846912\"}],\"else\":{\"next\":\"162075194587365376\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":144,\"width\":332}},{\"id\":\"160312692635971584\",\"type\":\"llm\",\"x\":1013.478260869565,\"y\":-190.78260869565224,\"properties\":{\"text\":\"JmLLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"data\",\"name\":\"doc\",\"nodeId\":\"160312352087846912\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":158,\"width\":332}},{\"id\":\"162075194587365376\",\"type\":\"end\",\"x\":599.8260869565215,\"y\":71.91304347826087,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"我不知道这个问题怎么回答呦。\"},\"inputParams\":[],\"outputParams\":[],\"height\":114,\"width\":332}},{\"id\":\"257078850004389888\",\"type\":\"knowledge\",\"x\":602.8260869565217,\"y\":-441.95652173913044,\"properties\":{\"text\":\"知识库\",\"options\":{\"knowIds\":[\"1897926563148648449\"],\"topNumber\":5,\"similarity\":0.7},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"documents\",\"name\":\"文档列表\",\"type\":\"object[]\"},{\"field\":\"data\",\"name\":\"文档内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"160312258508730368\",\"type\":\"base-edge\",\"sourceNodeId\":\"160311787014434816\",\"targetNodeId\":\"160312258504536064\",\"sourceAnchorId\":\"160311787014434816_output\",\"targetAnchorId\":\"160312258504536064_input\",\"pointsList\":[{\"x\":1184.1304347826085,\"y\":-440.304347826087},{\"x\":1284.1304347826085,\"y\":-440.304347826087},{\"x\":1104.695652173913,\"y\":-310.21739130434787},{\"x\":1204.695652173913,\"y\":-310.21739130434787}]},{\"id\":\"160312505863614465\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160312505863614464\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160312505863614464_input\",\"pointsList\":[{\"x\":198.04347826086956,\"y\":-72.34782608695656},{\"x\":298.04347826086956,\"y\":-72.34782608695656},{\"x\":2.826086956521749,\"y\":-292.95652173913044},{\"x\":102.82608695652175,\"y\":-292.95652173913044}]},{\"id\":\"160312567750569984\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312505863614464\",\"targetNodeId\":\"160312352087846912\",\"sourceAnchorId\":\"160312505863614464_case_2\",\"targetAnchorId\":\"160312352087846912_input\",\"pointsList\":[{\"x\":434.82608695652175,\"y\":-232.95652173913044},{\"x\":534.8260869565217,\"y\":-232.95652173913044},{\"x\":353.17391304347836,\"y\":-178.86956521739137},{\"x\":453.17391304347836,\"y\":-178.86956521739137}]},{\"id\":\"160312692635971585\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312352087846912\",\"targetNodeId\":\"160312692635971584\",\"sourceAnchorId\":\"160312352087846912_output\",\"targetAnchorId\":\"160312692635971584_input\",\"pointsList\":[{\"x\":785.1739130434784,\"y\":-178.86956521739137},{\"x\":885.1739130434784,\"y\":-178.86956521739137},{\"x\":747.478260869565,\"y\":-238.78260869565224},{\"x\":847.478260869565,\"y\":-238.78260869565224}]},{\"id\":\"160312712797990912\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312692635971584\",\"targetNodeId\":\"160312258504536064\",\"sourceAnchorId\":\"160312692635971584_output\",\"targetAnchorId\":\"160312258504536064_input\",\"pointsList\":[{\"x\":1179.478260869565,\"y\":-238.78260869565224},{\"x\":1279.478260869565,\"y\":-238.78260869565224},{\"x\":1104.695652173913,\"y\":-310.21739130434787},{\"x\":1204.695652173913,\"y\":-310.21739130434787}]},{\"id\":\"162116168161726464\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312505863614464\",\"targetNodeId\":\"162075194587365376\",\"sourceAnchorId\":\"160312505863614464_source_else\",\"targetAnchorId\":\"162075194587365376_input\",\"pointsList\":[{\"x\":434.82608695652175,\"y\":-206.95652173913044},{\"x\":534.8260869565217,\"y\":-206.95652173913044},{\"x\":333.8260869565215,\"y\":45.913043478260875},{\"x\":433.8260869565215,\"y\":45.913043478260875}]},{\"id\":\"257078850008584192\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312505863614464\",\"targetNodeId\":\"257078850004389888\",\"sourceAnchorId\":\"160312505863614464_source_if\",\"targetAnchorId\":\"257078850004389888_input\",\"pointsList\":[{\"x\":434.82608695652175,\"y\":-258.95652173913044},{\"x\":534.8260869565217,\"y\":-258.95652173913044},{\"x\":336.82608695652175,\"y\":-478.95652173913044},{\"x\":436.82608695652175,\"y\":-478.95652173913044}]},{\"id\":\"257078872452304896\",\"type\":\"base-edge\",\"sourceNodeId\":\"257078850004389888\",\"targetNodeId\":\"160311787014434816\",\"sourceAnchorId\":\"257078850004389888_output\",\"targetAnchorId\":\"160311787014434816_input\",\"pointsList\":[{\"x\":768.8260869565217,\"y\":-478.95652173913044},{\"x\":868.8260869565217,\"y\":-478.95652173913044},{\"x\":752.1304347826085,\"y\":-440.304347826087},{\"x\":852.1304347826085,\"y\":-440.304347826087}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1897482706871164929', 'jeecg', '2025-03-06 11:01:45', 'jeecg', '2025-04-24 12:27:58', 'A04', NULL, 'jeecg', '示例_脚本组件', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n code_160582647542648832.tag(\'code_160582647542648832\'),\n end.tag(\'160583273626406912\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":455,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"question\",\"name\":\"内容2\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"code_160582647542648832\",\"type\":\"code\",\"x\":786,\"y\":488,\"properties\":{\"text\":\"脚本执行\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main(params) {\\n return {\\n result: params.arg1 + \'_拼接_\' + params.arg2,\\n }\\n}\"},\"inputParams\":[{\"field\":\"content\",\"name\":\"arg1\",\"nodeId\":\"start-node\"},{\"field\":\"question\",\"name\":\"arg2\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"160583273626406912\",\"type\":\"end\",\"x\":1272,\"y\":466,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"code_160582647542648832\"}],\"height\":114,\"width\":332}}],\"edges\":[{\"id\":\"160582647546843136\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"code_160582647542648832\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"code_160582647542648832_input\",\"pointsList\":[{\"x\":466,\"y\":440},{\"x\":566,\"y\":440},{\"x\":520,\"y\":440},{\"x\":620,\"y\":440}]},{\"id\":\"160583273626406913\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_160582647542648832\",\"targetNodeId\":\"160583273626406912\",\"sourceAnchorId\":\"code_160582647542648832_output\",\"targetAnchorId\":\"160583273626406912_input\",\"pointsList\":[{\"x\":952,\"y\":440},{\"x\":1052,\"y\":440},{\"x\":1006,\"y\":440},{\"x\":1106,\"y\":440}]}]}', 'enable', '{\"outputs\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"code_160582647542648832\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"内容\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1897496956167577601', 'jeecg', '2025-03-06 11:58:23', 'jeecg', '2025-05-20 10:16:28', 'A04', NULL, 'jeecg', '示例_java增强', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n enhanceJava.tag(\'160591592557232128\'),\n end.tag(\'160595080985034752\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":456,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"question\",\"name\":\"问题1\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"问题2\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"160591592557232128\",\"type\":\"enhanceJava\",\"x\":786,\"y\":499,\"properties\":{\"text\":\"Java增强\",\"options\":{\"enhance\":{\"type\":\"spring\",\"path\":\"testAiragEnhance\"}},\"inputParams\":[{\"field\":\"question\",\"name\":\"arg1\",\"nodeId\":\"start-node\"},{\"field\":\"question\",\"name\":\"arg2\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"160595080985034752\",\"type\":\"end\",\"x\":1272,\"y\":477,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"160591592557232128\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"160591592565620736\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160591592557232128\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160591592557232128_input\",\"pointsList\":[{\"x\":466,\"y\":441},{\"x\":566,\"y\":441},{\"x\":520,\"y\":440},{\"x\":620,\"y\":440}]},{\"id\":\"160595080989229056\",\"type\":\"base-edge\",\"sourceNodeId\":\"160591592557232128\",\"targetNodeId\":\"160595080985034752\",\"sourceAnchorId\":\"160591592557232128_output\",\"targetAnchorId\":\"160595080985034752_input\",\"pointsList\":[{\"x\":952,\"y\":440},{\"x\":1052,\"y\":440},{\"x\":1006,\"y\":440},{\"x\":1106,\"y\":440}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"question\",\"name\":\"问题1\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":true,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"问题2\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1897528240805830658', 'jeecg', '2025-03-06 14:02:42', 'admin', '2025-03-21 17:26:44', 'A04', NULL, 'jeecg', '示例_子流程', NULL, 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/任务流程设计选择_1742437659702.png', 'THEN(\n start.tag(\'start-node\'),\n subflow.tag(\'160621029847842816\'),\n end.tag(\'160628486900924416\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":334,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"160621029847842816\",\"type\":\"subflow\",\"x\":784,\"y\":334,\"properties\":{\"text\":\"子流程\",\"options\":{\"subflowId\":\"1897955542184693762\"},\"inputParams\":[{\"name\":\"question\",\"nameText\":\"用户问题\",\"field\":\"\",\"nodeId\":\"\"},{\"name\":\"content\",\"nameText\":\"用户问题\",\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"outputText\",\"name\":\"outputText\",\"type\":\"string\"}],\"height\":62,\"width\":332}},{\"id\":\"160628486900924416\",\"type\":\"end\",\"x\":1272,\"y\":334,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"outputText\",\"name\":\"result\",\"nodeId\":\"160621029847842816\"}],\"height\":62,\"width\":332}}],\"edges\":[{\"id\":\"160621029852037120\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160621029847842816\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160621029847842816_input\",\"pointsList\":[{\"x\":466,\"y\":334},{\"x\":566,\"y\":334},{\"x\":518,\"y\":334},{\"x\":618,\"y\":334}]},{\"id\":\"160628486905118720\",\"type\":\"base-edge\",\"sourceNodeId\":\"160621029847842816\",\"targetNodeId\":\"160628486900924416\",\"sourceAnchorId\":\"160621029847842816_output\",\"targetAnchorId\":\"160628486900924416_input\",\"pointsList\":[{\"x\":950,\"y\":334},{\"x\":1050,\"y\":334},{\"x\":1006,\"y\":334},{\"x\":1106,\"y\":334}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"name\":\"result\",\"nodeId\":\"160621029847842816\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1897552224058400770', 'jeecg', '2025-03-06 15:38:00', 'admin', '2025-06-25 23:35:33', 'A04', NULL, 'jeecg', '示例_全部脚本', '示例:脚本节点', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/1流程设计_1742437645575.png', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'160650416019521536\'),\n WHEN(\n code_160652991133433856.tag(\'code_160652991133433856\'),\n code_166081977564753920.tag(\'code_166081977564753920\'),\n code_167835393352683520.tag(\'code_167835393352683520\')\n ).tag(\"code_160652991133433856\"),\n end.tag(\'160656278891560960\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":418,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"160650416019521536\",\"type\":\"llm\",\"x\":693,\"y\":462,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":null,\"topP\":0.9,\"presencePenalty\":0.1,\"frequencyPenalty\":0.1}},\"history\":4,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色\\n你是一位严厉的长辈,面对用户的问题,要以一种带着隐隐批评,暗示问题简单、用户还有很多需要学习的态度来回复。通过大模型模拟李白来对话,回答用户提出的各种问题。\\n\\n\\n## 技能\\n### 技能 1: 回答问题\\n1. 当用户提出问题时,先简要评价问题较为简单,然后给出回答。\\n2. 回答完问题后,适当提及用户还需要加强学习、增长见识等内容。\\n\\n\\n## 限制:\\n- 回复内容必须逻辑清晰、语言通顺,符合严厉长辈的角色设定。 \\n\\n\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"code_160652991133433856\",\"type\":\"code\",\"x\":1135,\"y\":179,\"properties\":{\"text\":\"js\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main(params) {\\n if(params.llmRes){\\n let resLength = params.llmRes.length\\n params.llmRes = params.llmRes + \'\\\\n字数:\'+resLength\\n }\\n return {\\n result: params.llmRes,\\n }\\n}\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"160650416019521536\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"160656278891560960\",\"type\":\"end\",\"x\":1653,\"y\":449,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"js:{{res}}\\ngroovy:{{res1}}\\nkotlin:{{res2}}\\npython:{{res3}}\\naviator:{{res4}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"code_160652991133433856\"},{\"field\":\"result\",\"name\":\"res1\",\"nodeId\":\"code_166081977564753920\"},{\"field\":\"result\",\"name\":\"res2\",\"nodeId\":\"code_166090618376253440\"},{\"field\":\"result\",\"name\":\"res3\",\"nodeId\":\"code_167828303175372800\"},{\"field\":\"result\",\"name\":\"res4\",\"nodeId\":\"code_167835393352683520\"}],\"height\":136,\"width\":332}},{\"id\":\"code_166081977564753920\",\"type\":\"code\",\"x\":1140,\"y\":413,\"properties\":{\"text\":\"groovy\",\"options\":{\"codeType\":\"groovy\",\"code\":\"def main(params) {\\n if (params.llmRes) {\\n def resLength = params.llmRes.length()\\n params.llmRes += \\\"\\\\n字数:\\\" + resLength\\n }\\n return [result: params.llmRes]\\n}\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"160650416019521536\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"code_167835393352683520\",\"type\":\"code\",\"x\":1141,\"y\":667,\"properties\":{\"text\":\"aviator\",\"options\":{\"codeType\":\"aviator\",\"code\":\"let llmRes = params.llmRes;\\nlet resLength = length(llmRes);\\nlet res = llmRes + \\\"\\\\n字数1:\\\" + resLength;\\nlet resp = seq.map(\\\"result\\\",res);\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"160650416019521536\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\"}],\"height\":158,\"width\":332}}],\"edges\":[{\"id\":\"160650416019521537\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160650416019521536\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160650416019521536_input\",\"pointsList\":[{\"x\":466,\"y\":403},{\"x\":566,\"y\":403},{\"x\":427,\"y\":403},{\"x\":527,\"y\":403}]},{\"id\":\"160652991137628160\",\"type\":\"base-edge\",\"sourceNodeId\":\"160650416019521536\",\"targetNodeId\":\"code_160652991133433856\",\"sourceAnchorId\":\"160650416019521536_output\",\"targetAnchorId\":\"code_160652991133433856_input\",\"pointsList\":[{\"x\":859,\"y\":403},{\"x\":959,\"y\":403},{\"x\":869,\"y\":131},{\"x\":969,\"y\":131}]},{\"id\":\"160656278899949568\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_160652991133433856\",\"targetNodeId\":\"160656278891560960\",\"sourceAnchorId\":\"code_160652991133433856_output\",\"targetAnchorId\":\"160656278891560960_input\",\"pointsList\":[{\"x\":1301,\"y\":131},{\"x\":1401,\"y\":131},{\"x\":1387,\"y\":412},{\"x\":1487,\"y\":412}]},{\"id\":\"166082001409372160\",\"type\":\"base-edge\",\"sourceNodeId\":\"160650416019521536\",\"targetNodeId\":\"code_166081977564753920\",\"sourceAnchorId\":\"160650416019521536_output\",\"targetAnchorId\":\"code_166081977564753920_input\",\"pointsList\":[{\"x\":859,\"y\":403},{\"x\":959,\"y\":403},{\"x\":874,\"y\":365},{\"x\":974,\"y\":365}]},{\"id\":\"166082017557442560\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_166081977564753920\",\"targetNodeId\":\"160656278891560960\",\"sourceAnchorId\":\"code_166081977564753920_output\",\"targetAnchorId\":\"160656278891560960_input\",\"pointsList\":[{\"x\":1306,\"y\":365},{\"x\":1406,\"y\":365},{\"x\":1387,\"y\":412},{\"x\":1487,\"y\":412}]},{\"id\":\"167835393356877824\",\"type\":\"base-edge\",\"sourceNodeId\":\"160650416019521536\",\"targetNodeId\":\"code_167835393352683520\",\"sourceAnchorId\":\"160650416019521536_output\",\"targetAnchorId\":\"code_167835393352683520_input\",\"pointsList\":[{\"x\":859,\"y\":403},{\"x\":959,\"y\":403},{\"x\":875,\"y\":619},{\"x\":975,\"y\":619}]},{\"id\":\"167836988980817920\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_167835393352683520\",\"targetNodeId\":\"160656278891560960\",\"sourceAnchorId\":\"code_167835393352683520_output\",\"targetAnchorId\":\"160656278891560960_input\",\"pointsList\":[{\"x\":1307,\"y\":619},{\"x\":1407,\"y\":619},{\"x\":1387,\"y\":412},{\"x\":1487,\"y\":412}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1900021198960492546', 'jeecg', '2025-03-13 11:08:49', 'admin', '2025-11-27 16:49:13', 'A04', NULL, 'jeecg', '示例_回复节点', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/流程设计引擎_1742383594151.png', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'163122102386216960\'),\n reply.tag(\'163119312863678464\'),\n llm.tag(\'163122766768164864\'),\n end.tag(\'163119405809455104\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":232,\"y\":273,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"163119312863678464\",\"type\":\"reply\",\"x\":800,\"y\":225,\"properties\":{\"text\":\"直接回复\",\"options\":{\"content\":\"{{content}}\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"163122102386216960\"}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"163119405809455104\",\"type\":\"end\",\"x\":1548,\"y\":254,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{resp}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"resp\",\"nodeId\":\"163122766768164864\"}],\"height\":62,\"width\":332}},{\"id\":\"163122102386216960\",\"type\":\"llm\",\"x\":551,\"y\":553,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"根据用户的问题,以有趣的方式回答,如果可以的话请引用故事或经典说明。\\n\\n用中文回复。\\n\\n字数控制在200以内。\"},{\"role\":\"user\",\"content\":\"{{content}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"163122766768164864\",\"type\":\"llm\",\"x\":1144,\"y\":412,\"properties\":{\"text\":\"nextQue\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"根据用户的问题和ai的回复,猜测用户下一次的问题可能有哪些,markdown格式回复。\\n格式:\\n\\\\n你可能还想知道:\\n* 问题一\\n* 问题二\\n。。。。\"},{\"role\":\"user\",\"content\":\"用户问题:{{que}}\\nAI回复:{{res}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"que\",\"nodeId\":\"start-node\"},{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"163122102386216960\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"163122102390411264\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"163122102386216960\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"163122102386216960_input\",\"pointsList\":[{\"x\":398,\"y\":273},{\"x\":498,\"y\":273},{\"x\":285,\"y\":516},{\"x\":385,\"y\":516}]},{\"id\":\"163122147491762176\",\"type\":\"base-edge\",\"sourceNodeId\":\"163122102386216960\",\"targetNodeId\":\"163119312863678464\",\"sourceAnchorId\":\"163122102386216960_output\",\"targetAnchorId\":\"163119312863678464_input\",\"pointsList\":[{\"x\":717,\"y\":516},{\"x\":817,\"y\":516},{\"x\":534,\"y\":225},{\"x\":634,\"y\":225}]},{\"id\":\"163122766772359168\",\"type\":\"base-edge\",\"sourceNodeId\":\"163119312863678464\",\"targetNodeId\":\"163122766768164864\",\"sourceAnchorId\":\"163119312863678464_output\",\"targetAnchorId\":\"163122766768164864_input\",\"pointsList\":[{\"x\":966,\"y\":225},{\"x\":1066,\"y\":225},{\"x\":878,\"y\":375},{\"x\":978,\"y\":375}]},{\"id\":\"163123226145116160\",\"type\":\"base-edge\",\"sourceNodeId\":\"163122766768164864\",\"targetNodeId\":\"163119405809455104\",\"sourceAnchorId\":\"163122766768164864_output\",\"targetAnchorId\":\"163119405809455104_input\",\"pointsList\":[{\"x\":1310,\"y\":375},{\"x\":1410,\"y\":375},{\"x\":1282,\"y\":254},{\"x\":1382,\"y\":254}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1900029596154232833', 'jeecg', '2025-03-13 11:42:11', 'admin', '2025-11-27 16:49:22', 'A04', NULL, 'jeecg', '示例_Http节点', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/流程设计(1)_1742383583093.png', 'THEN(\n start.tag(\'start-node\'),\n http.tag(\'163206941950185472\'),\n SWITCH(switch.tag(\'163207852529389568\')).to(\n THEN(\n http.tag(\'163128964742746112\'),\n SWITCH(switch.tag(\'168299837777608704\')).to(\n end.tag(\'163129833764786176\'),\n end.tag(\'168300140241453056\')\n ).tag(\'168299837777608704\')\n ).tag(\"163128964742746112\"),\n end.tag(\'163208186282741760\')\n ).tag(\'163207852529389568\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":51.13043478260868,\"y\":342.804347826087,\"properties\":{\"text\":\"开始\",\"remarks\":\"大萨达撒\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":89,\"width\":332}},{\"id\":\"163128964742746112\",\"type\":\"http\",\"x\":859.0869565217391,\"y\":192.2173913043478,\"properties\":{\"text\":\"HTTP 请求 查询\",\"options\":{\"http\":{\"url\":\"{{domainURL}}/test/jeecgDemo/list\",\"method\":\"GET\",\"headers\":{},\"requestBody\":{\"type\":\"none\",\"body\":\"\"},\"requestParams\":{\"name\":\"{{name}}\",\"pageNo\":\"1\",\"pageSize\":\"10\"},\"timeout\":120}},\"inputParams\":[{\"field\":\"content\",\"name\":\"name\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"body\",\"name\":\"输出\",\"type\":\"string\",\"required\":false},{\"field\":\"statusCode\",\"name\":\"状态码\",\"type\":\"number\"},{\"field\":\"body.success\",\"name\":\"是否成功\",\"type\":\"string\",\"required\":false},{\"field\":\"body.result.records[0].id\",\"name\":\"id\",\"type\":\"string\",\"required\":false}],\"height\":62,\"width\":332}},{\"id\":\"163129833764786176\",\"type\":\"end\",\"x\":1386.5217391304348,\"y\":164.08695652173913,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"新增的用户Id:{{id}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"body.result.records[0].id\",\"name\":\"id\",\"nodeId\":\"163128964742746112\"}],\"height\":62,\"width\":332}},{\"id\":\"163206941950185472\",\"type\":\"http\",\"x\":320.1304347826087,\"y\":474.2173913043478,\"properties\":{\"text\":\"HTTP 请求\",\"options\":{\"http\":{\"url\":\"{{domainURL}}/test/jeecgDemo/add\",\"method\":\"POST\",\"headers\":{},\"requestBody\":{\"type\":\"json\",\"body\":\"{\\n  \\\"name\\\": \\\"{{name}}\\\",\\n  \\\"keyWord\\\": \\\"example\\\",\\n  \\\"punchTime\\\": \\\"2023-10-05 14:48:00\\\",\\n  \\\"salaryMoney\\\": 1000.00,\\n  \\\"bonusMoney\\\": 500.0,\\n  \\\"sex\\\": \\\"1\\\",\\n  \\\"age\\\": 30,\\n  \\\"birthday\\\": \\\"2023-10-05\\\",\\n  \\\"email\\\": \\\"john.doe@example.com\\\",\\n  \\\"content\\\": \\\"This is a test content.\\\",\\n}\"},\"requestParams\":{},\"timeout\":120}},\"inputParams\":[{\"field\":\"content\",\"name\":\"name\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"statusCode\",\"name\":\"code\",\"type\":\"string\",\"required\":false},{\"field\":\"body\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":62,\"width\":332}},{\"id\":\"163207852529389568\",\"type\":\"switch\",\"x\":510.78260869565224,\"y\":302.73913043478257,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"163206941950185472\",\"field\":\"statusCode\",\"operator\":\"EQUALS\",\"value\":\"200\"}],\"next\":\"163128964742746112\"}],\"else\":{\"next\":\"163208186282741760\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"163208186282741760\",\"type\":\"end\",\"x\":745.7826086956521,\"y\":448.0869565217391,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"添加数据失败\"},\"inputParams\":[],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"168299837777608704\",\"type\":\"switch\",\"x\":1029.173913043478,\"y\":314.78260869565213,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"163128964742746112\",\"field\":\"body.success\",\"operator\":\"EQUALS\",\"value\":\"true\"}],\"next\":\"163129833764786176\"}],\"else\":{\"next\":\"168300140241453056\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"168300140241453056\",\"type\":\"end\",\"x\":1389.2608695652173,\"y\":419.8695652173913,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"添加用户失败\"},\"inputParams\":[],\"outputParams\":[],\"height\":62,\"width\":332}}],\"edges\":[{\"id\":\"163206941954379776\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"163206941950185472\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"163206941950185472_input\",\"pointsList\":[{\"x\":217.1304347826091,\"y\":329.304347826087},{\"x\":317.1304347826091,\"y\":329.304347826087},{\"x\":54.13043478260869,\"y\":474.2173913043478},{\"x\":154.1304347826087,\"y\":474.2173913043478}]},{\"id\":\"163207852533583872\",\"type\":\"base-edge\",\"sourceNodeId\":\"163206941950185472\",\"targetNodeId\":\"163207852529389568\",\"sourceAnchorId\":\"163206941950185472_output\",\"targetAnchorId\":\"163207852529389568_input\",\"pointsList\":[{\"x\":486.13043478260863,\"y\":474.2173913043478},{\"x\":586.1304347826085,\"y\":474.2173913043478},{\"x\":244.78260869565224,\"y\":274.73913043478257},{\"x\":344.78260869565224,\"y\":274.73913043478257}]},{\"id\":\"163208000881922048\",\"type\":\"base-edge\",\"sourceNodeId\":\"163207852529389568\",\"targetNodeId\":\"163128964742746112\",\"sourceAnchorId\":\"163207852529389568_source_if\",\"targetAnchorId\":\"163128964742746112_input\",\"pointsList\":[{\"x\":676.7826086956521,\"y\":308.73913043478257},{\"x\":776.7826086956521,\"y\":308.73913043478257},{\"x\":593.0869565217391,\"y\":192.2173913043478},{\"x\":693.0869565217391,\"y\":192.2173913043478}]},{\"id\":\"163208186286936064\",\"type\":\"base-edge\",\"sourceNodeId\":\"163207852529389568\",\"targetNodeId\":\"163208186282741760\",\"sourceAnchorId\":\"163207852529389568_source_else\",\"targetAnchorId\":\"163208186282741760_input\",\"pointsList\":[{\"x\":676.7826086956521,\"y\":334.73913043478257},{\"x\":776.7826086956521,\"y\":334.73913043478257},{\"x\":479.78260869565213,\"y\":448.0869565217391},{\"x\":579.7826086956521,\"y\":448.0869565217391}]},{\"id\":\"168299837781803008\",\"type\":\"base-edge\",\"sourceNodeId\":\"163128964742746112\",\"targetNodeId\":\"168299837777608704\",\"sourceAnchorId\":\"163128964742746112_output\",\"targetAnchorId\":\"168299837777608704_input\",\"pointsList\":[{\"x\":1025.086956521739,\"y\":192.2173913043478},{\"x\":1125.0869565217386,\"y\":192.2173913043478},{\"x\":763.173913043478,\"y\":286.78260869565213},{\"x\":863.173913043478,\"y\":286.78260869565213}]},{\"id\":\"168300025623707648\",\"type\":\"base-edge\",\"sourceNodeId\":\"168299837777608704\",\"targetNodeId\":\"163129833764786176\",\"sourceAnchorId\":\"168299837777608704_source_if\",\"targetAnchorId\":\"163129833764786176_input\",\"pointsList\":[{\"x\":1195.1739130434776,\"y\":320.78260869565213},{\"x\":1295.1739130434776,\"y\":320.78260869565213},{\"x\":1120.5217391304348,\"y\":164.08695652173913},{\"x\":1220.5217391304348,\"y\":164.08695652173913}]},{\"id\":\"168300140245647360\",\"type\":\"base-edge\",\"sourceNodeId\":\"168299837777608704\",\"targetNodeId\":\"168300140241453056\",\"sourceAnchorId\":\"168299837777608704_source_else\",\"targetAnchorId\":\"168300140241453056_input\",\"pointsList\":[{\"x\":1195.1739130434776,\"y\":346.78260869565213},{\"x\":1295.1739130434776,\"y\":346.78260869565213},{\"x\":1123.2608695652173,\"y\":419.8695652173913},{\"x\":1223.2608695652173,\"y\":419.8695652173913}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1902263524520935425', 'jeecg', '2025-03-19 15:39:01', 'admin', '2025-11-27 16:52:31', 'A04', NULL, 'jeecg', 'AI看图说话', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/工具-图片解析_1743065064801.png', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'165363942517174272\'),\n llm.tag(\'168280528419778560\'),\n end.tag(\'165364368465522688\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":457,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"165363942517174272\",\"type\":\"llm\",\"x\":675,\"y\":341,\"properties\":{\"text\":\"图片解读\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个图像分析专家,负责解读和解释用户发送的图片。请根据以下要求进行分析:\\n\\n## 目标:\\n分析并解释图片的意义,提供详细的解读和背景信息。\\n\\n## 技能:\\n1. 视觉识别能力:能够识别图像中的元素及其关系。\\n2. 上下文理解能力:结合文化、历史、艺术等背景知识进行深度解读。\\n3. 清晰表达能力:用简洁明了的语言传达分析结果。\\n\\n## 工作流:\\n1. 识别图片中的主要元素,描述它们的外观和特征。\\n2. 分析这些元素之间的关系及其在整体构图中的作用。\\n3. 提供与图片相关的背景信息,探讨其潜在意义和影响。\\n\\n## 输出格式:\\n- 图片元素描述\\n- 元素关系分析\\n- 背景信息与意义解释\\n\\n## 限制:\\n- 不提供主观判断,仅基于客观分析进行解释。\\n- 不涉及任何隐私或敏感内容的讨论。\"},{\"role\":\"user\",\"content\":\"分析并解释图片的意义,提供详细的解读和背景信息。\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"que\",\"nodeId\":\"start-node\"},{\"field\":\"images\",\"name\":\"images\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"165364368465522688\",\"type\":\"end\",\"x\":1520,\"y\":426,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{resp}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"resp\",\"nodeId\":\"168280528419778560\"}],\"height\":62,\"width\":332}},{\"id\":\"168280528419778560\",\"type\":\"llm\",\"x\":1063,\"y\":588,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你将扮演一个故事创作者,以下是关于这个角色的详细设定,请根据这些信息来构建你的回答。\\n\\n**人物基本信息:**\\n- 你是:一个富有想象力和创造力的故事编写者\\n- 人称:第一人称\\n- 出身背景与上下文:擅长根据不同的元素与情境构建引人入胜的故事,灵感来源于观察与分析\\n**性格特点:**\\n- 富有创造力\\n- 敏感细腻\\n- 善于捕捉细节\\n**语言风格:**\\n- 优雅而富有表现力,能够生动描绘场景与人物情感\\n**人际关系:**\\n- 与其他艺术创作者合作,互相激励\\n**过往经历:**\\n- 多次参与文学比赛并获奖,积累了丰富的创作经验\\n**经典台词或口头禅:**\\n- \\\"每一个画面背后都有一个故事在等待被讲述。\\\"\\n- \\\"细节决定成败。\\\"\\n\\n要求: \\n- 故事应围绕从图片分析得出的主题和情感进行展开。\\n- 包含鲜明的人物、情节以及转折。\\n- 语言生动形象,能够引起读者的共鸣。\\n- 直接讲故事,不要提及图片。\"},{\"role\":\"user\",\"content\":\"{{readImg}}\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"readImg\",\"nodeId\":\"165363942517174272\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"165363942525562880\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"165363942517174272\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"165363942517174272_input\",\"pointsList\":[{\"x\":466,\"y\":457},{\"x\":566,\"y\":457},{\"x\":409,\"y\":304},{\"x\":509,\"y\":304}]},{\"id\":\"168280528428167168\",\"type\":\"base-edge\",\"sourceNodeId\":\"165363942517174272\",\"targetNodeId\":\"168280528419778560\",\"sourceAnchorId\":\"165363942517174272_output\",\"targetAnchorId\":\"168280528419778560_input\",\"pointsList\":[{\"x\":841,\"y\":304},{\"x\":941,\"y\":304},{\"x\":797,\"y\":551},{\"x\":897,\"y\":551}]},{\"id\":\"168280631234752512\",\"type\":\"base-edge\",\"sourceNodeId\":\"168280528419778560\",\"targetNodeId\":\"165364368465522688\",\"sourceAnchorId\":\"168280528419778560_output\",\"targetAnchorId\":\"165364368465522688_input\",\"pointsList\":[{\"x\":1229,\"y\":551},{\"x\":1329,\"y\":551},{\"x\":1254,\"y\":426},{\"x\":1354,\"y\":426}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\"}]}'); -INSERT INTO `airag_flow` VALUES ('1904779811574784002', 'jeecg', '2025-03-26 14:17:51', 'admin', '2025-11-27 16:45:18', 'A04', NULL, 'jeecg', '示例_OCR', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/1dataOCR_1743065089791.png', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'167880707187527680\')).to(\n end.tag(\'167880856269869056\'),\n THEN(\n code_167881149430747136.tag(\'code_167881149430747136\'),\n llm.tag(\'167881839356006400\'),\n end.tag(\'167880661561888768\')\n ).tag(\"code_167881149430747136\")\n ).tag(\'167880707187527680\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":421,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"167880661561888768\",\"type\":\"end\",\"x\":1474,\"y\":342,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"data\",\"nodeId\":\"167881839356006400\"}],\"height\":114,\"width\":332}},{\"id\":\"167880707187527680\",\"type\":\"switch\",\"x\":681,\"y\":233,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"images\",\"operator\":\"EMPTY\",\"value\":\"\"}],\"next\":\"167880856269869056\"}],\"else\":{\"next\":\"code_167881149430747136\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"167880856269869056\",\"type\":\"end\",\"x\":1207,\"y\":207,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{\\n    \\\"message\\\": \\\"请提供图片\\\"\\n  }\"},\"inputParams\":[],\"outputParams\":[],\"height\":114,\"width\":332}},{\"id\":\"code_167881149430747136\",\"type\":\"code\",\"x\":937,\"y\":460,\"properties\":{\"text\":\"脚本执行\",\"options\":{\"codeType\":\"groovy\",\"code\":\"def main(Map params) {\\n def newQuestion = params.question\\n if (!params.question) {\\n newQuestion = \\\"从图片中提取文字\\\"\\n }\\n return [result: newQuestion]\\n}\\n\"},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\"}],\"height\":158,\"width\":332}},{\"id\":\"167881839356006400\",\"type\":\"llm\",\"x\":1319,\"y\":607,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:OCR工具\\n作为一个智能OCR工具,你的主要职责是从图片中提取文字并将其输出为结构化数据。\\n\\n## 目标:\\n1. 精确识别和提取图片中的文字信息。\\n2. 将提取的文字转换为结构化数据格式。\\n\\n## 技能:\\n1. 高效的图像处理能力。\\n2. 精确的文字识别算法。\\n3. 数据格式化与输出能力。\\n\\n## 工作流:\\n1. 输入图片,进行预处理(如去噪、二值化)。\\n2. 应用OCR算法识别图片中的文字,并记录识别结果。\\n3. 将识别的文字整理成结构化数据格式,如JSON或CSV。\\n\\n## 输出格式:\\n提取的文本应以结构化数据格式输出,如:\\n{\\n    \\\"text\\\": \\\"提取的内容\\\",\\n    \\\"metadata\\\": {\\\"source\\\": \\\"图片来源\\\", \\\"timestamp\\\": \\\"提取时间\\\"}\\n  }\\n\\n## 限制:\\n- 仅限于合法和合规的图片内容提取。\\n- 不得保存用户上传的图片数据。\\n- 需确保输出的数据准确无误,标注所有数据来源。\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"images\",\"name\":\"images\",\"nodeId\":\"start-node\"},{\"field\":\"result\",\"name\":\"question\",\"nodeId\":\"code_167881149430747136\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"167880707195916288\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"167880707187527680\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"167880707187527680_input\",\"pointsList\":[{\"x\":466,\"y\":406},{\"x\":566,\"y\":406},{\"x\":415,\"y\":205},{\"x\":515,\"y\":205}]},{\"id\":\"167880856274063360\",\"type\":\"base-edge\",\"sourceNodeId\":\"167880707187527680\",\"targetNodeId\":\"167880856269869056\",\"sourceAnchorId\":\"167880707187527680_source_if\",\"targetAnchorId\":\"167880856269869056_input\",\"pointsList\":[{\"x\":847,\"y\":239},{\"x\":947,\"y\":239},{\"x\":941,\"y\":181},{\"x\":1041,\"y\":181}]},{\"id\":\"167881149434941440\",\"type\":\"base-edge\",\"sourceNodeId\":\"167880707187527680\",\"targetNodeId\":\"code_167881149430747136\",\"sourceAnchorId\":\"167880707187527680_source_else\",\"targetAnchorId\":\"code_167881149430747136_input\",\"pointsList\":[{\"x\":847,\"y\":265},{\"x\":947,\"y\":265},{\"x\":671,\"y\":412},{\"x\":771,\"y\":412}]},{\"id\":\"167881839356006401\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_167881149430747136\",\"targetNodeId\":\"167881839356006400\",\"sourceAnchorId\":\"code_167881149430747136_output\",\"targetAnchorId\":\"167881839356006400_input\",\"pointsList\":[{\"x\":1103,\"y\":412},{\"x\":1203,\"y\":412},{\"x\":1053,\"y\":548},{\"x\":1153,\"y\":548}]},{\"id\":\"167882293611712512\",\"type\":\"base-edge\",\"sourceNodeId\":\"167881839356006400\",\"targetNodeId\":\"167880661561888768\",\"sourceAnchorId\":\"167881839356006400_output\",\"targetAnchorId\":\"167880661561888768_input\",\"pointsList\":[{\"x\":1485,\"y\":548},{\"x\":1585,\"y\":548},{\"x\":1208,\"y\":316},{\"x\":1308,\"y\":316}]}]}', 'enable', '{\"outputs\":[{\"field\":\"text\",\"name\":\"data\",\"nodeId\":\"167881839356006400\"},{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":true,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":true,\"type\":\"picture\"}]}'); -INSERT INTO `airag_flow` VALUES ('1905158829855784962', 'jeecg', '2025-03-27 15:23:56', 'jeecg', '2025-03-27 16:29:22', 'A04', NULL, 'jeecg', '示例_翻译', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/翻译_1743060940605.png', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'168262809717821440\')).to(\n end.tag(\'168259683329757184\'),\n THEN(\n SWITCH(classifier.tag(\'168263048935755776\')).to(\n llm.tag(\'168263321821368320\'),\n llm.tag(\'168263346282549248\')\n ).tag(\'168263048935755776\'),\n end.tag(\'168263794896916480\')\n ).tag(\"168263048935755776\")\n ).tag(\'168262809717821440\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":457,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"168259683329757184\",\"type\":\"end\",\"x\":1090,\"y\":150,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"content\",\"name\":\"data\",\"nodeId\":\"start-node\"}],\"height\":62,\"width\":332}},{\"id\":\"168262809717821440\",\"type\":\"switch\",\"x\":701,\"y\":281,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"EMPTY\",\"value\":\"\"}],\"next\":\"168259683329757184\"}],\"else\":{\"next\":\"168263048935755776\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"168263048935755776\",\"type\":\"classifier\",\"x\":1086,\"y\":381,\"properties\":{\"text\":\"分类器\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.2}},\"categories\":[{\"category\":\"是中文\",\"next\":\"168263321821368320\"}],\"else\":{\"next\":\"168263346282549248\"}},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"type\":\"number\"},{\"field\":\"content\",\"name\":\"分类内容\",\"type\":\"string\"}],\"height\":118,\"width\":332}},{\"id\":\"168263321821368320\",\"type\":\"llm\",\"x\":1513,\"y\":292,\"properties\":{\"text\":\"翻译成英文\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.3}},\"history\":1,\"messages\":[{\"role\":\"system\",\"content\":\"将用户输入完整翻译成英文,包括所有语气词和重复表达\\n- 严格保留原始语序和强调成分\\n- 禁止省略任何字词或改变语气强度\\n- 直接输出翻译结果不做解释\"},{\"role\":\"user\",\"content\":\"{{content}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"168263346282549248\",\"type\":\"llm\",\"x\":1514,\"y\":489,\"properties\":{\"text\":\"翻译成中文\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.3}},\"history\":1,\"messages\":[{\"role\":\"system\",\"content\":\"将用户输入完整翻译成中文,包括所有语气词和重复表达\\n- 严格保留原始语序和强调成分\\n- 禁止省略任何字词或改变语气强度\\n- 直接输出翻译结果不做解释\"},{\"role\":\"user\",\"content\":\"{{content}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"168263794896916480\",\"type\":\"end\",\"x\":1982,\"y\":360,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{dataC}}{{dataE}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"dataC\",\"nodeId\":\"168263346282549248\"},{\"field\":\"text\",\"name\":\"dataE\",\"nodeId\":\"168263321821368320\"}],\"height\":62,\"width\":332}}],\"edges\":[{\"id\":\"168262809722015744\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"168262809717821440\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"168262809717821440_input\",\"pointsList\":[{\"x\":466,\"y\":457},{\"x\":566,\"y\":457},{\"x\":435,\"y\":253},{\"x\":535,\"y\":253}]},{\"id\":\"168262871336341504\",\"type\":\"base-edge\",\"sourceNodeId\":\"168262809717821440\",\"targetNodeId\":\"168259683329757184\",\"sourceAnchorId\":\"168262809717821440_source_if\",\"targetAnchorId\":\"168259683329757184_input\",\"pointsList\":[{\"x\":867,\"y\":287},{\"x\":967,\"y\":287},{\"x\":824,\"y\":150},{\"x\":924,\"y\":150}]},{\"id\":\"168263048939950080\",\"type\":\"base-edge\",\"sourceNodeId\":\"168262809717821440\",\"targetNodeId\":\"168263048935755776\",\"sourceAnchorId\":\"168262809717821440_source_else\",\"targetAnchorId\":\"168263048935755776_input\",\"pointsList\":[{\"x\":867,\"y\":313},{\"x\":967,\"y\":313},{\"x\":820,\"y\":353},{\"x\":920,\"y\":353}]},{\"id\":\"168263321825562624\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263048935755776\",\"targetNodeId\":\"168263321821368320\",\"sourceAnchorId\":\"168263048935755776_case_1\",\"targetAnchorId\":\"168263321821368320_input\",\"pointsList\":[{\"x\":1252,\"y\":387},{\"x\":1352,\"y\":387},{\"x\":1247,\"y\":255},{\"x\":1347,\"y\":255}]},{\"id\":\"168263346286743552\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263048935755776\",\"targetNodeId\":\"168263346282549248\",\"sourceAnchorId\":\"168263048935755776_case_else\",\"targetAnchorId\":\"168263346282549248_input\",\"pointsList\":[{\"x\":1252,\"y\":413},{\"x\":1352,\"y\":413},{\"x\":1248,\"y\":452},{\"x\":1348,\"y\":452}]},{\"id\":\"168263794901110784\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263346282549248\",\"targetNodeId\":\"168263794896916480\",\"sourceAnchorId\":\"168263346282549248_output\",\"targetAnchorId\":\"168263794896916480_input\",\"pointsList\":[{\"x\":1680,\"y\":452},{\"x\":1780,\"y\":452},{\"x\":1716,\"y\":360},{\"x\":1816,\"y\":360}]},{\"id\":\"168263831215394816\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263321821368320\",\"targetNodeId\":\"168263794896916480\",\"sourceAnchorId\":\"168263321821368320_output\",\"targetAnchorId\":\"168263794896916480_input\",\"pointsList\":[{\"x\":1679,\"y\":255},{\"x\":1779,\"y\":255},{\"x\":1716,\"y\":360},{\"x\":1816,\"y\":360}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"},{\"field\":\"content\",\"name\":\"data\",\"nodeId\":\"start-node\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1905189468558671874', 'jeecg', '2025-03-27 17:25:41', 'admin', '2025-11-27 16:48:47', 'A04', NULL, 'jeecg', 'PMP考试宝典', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/pmp_1743067580648.png', 'THEN(\n start.tag(\'start-node\'),\n WHEN(\n knowledge.tag(\'168290518600351744\'),\n llm.tag(\'168290871702028288\')\n ).tag(\"168290518600351744\"),\n llm.tag(\'168290861241434112\'),\n end.tag(\'168290315671535616\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":397,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"168290315671535616\",\"type\":\"end\",\"x\":1644,\"y\":348,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"168290861241434112\"}],\"height\":92,\"width\":332}},{\"id\":\"168290518600351744\",\"type\":\"knowledge\",\"x\":693,\"y\":209,\"properties\":{\"text\":\"知识库\",\"options\":{\"knowIds\":[\"1905186756806918146\"],\"topNumber\":5,\"similarity\":0.7},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"documents\",\"name\":\"文档列表\",\"type\":\"object[]\"},{\"field\":\"data\",\"name\":\"文档内容\",\"type\":\"string\"}],\"height\":92,\"width\":332}},{\"id\":\"168290861241434112\",\"type\":\"llm\",\"x\":1181,\"y\":350,\"properties\":{\"text\":\"总结LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.4}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个智能知识助手,旨在综合知识库和大型语言模型(LLM)的返回数据,以高效、准确地回答用户提出的问题。请遵循以下要求:\\n\\n## 目标:\\n- 提供准确、相关且易于理解的回答,结合知识库和LLM的信息。\\n\\n## 技能:\\n1. 能够快速检索并整合来自不同知识库的信息。\\n2. 理解用户问题的上下文,并提供清晰的答案。\\n3. 具备自然语言处理能力,以便流畅表达复杂信息。\\n\\n## 工作流:\\n1. 接收用户问题并进行解析,识别关键要素。\\n2. 从综合知识库和LLM中获取相关数据,确保信息的准确性和完整性。\\n3. 将获取的信息进行整合,形成清晰、简洁的回答。\\n\\n## 输出格式:\\n- 每次回答应以简洁明了的句子呈现,必要时可以添加示例或补充信息。\\n\\n## 限制:\\n- 不得提供未经验证的信息或个人隐私数据。\\n- 所有数据需标注来源,不确定信息用[需核实]标记。\\n- 自动过滤涉及偏见或违法内容,替换为[合规表达]。\"},{\"role\":\"user\",\"content\":\"知识库返回数据:{{knowRes}}\\n\\nLLM返回数据:{{llmRes}}\\n用户问题:{{userQue}}\"}]},\"inputParams\":[{\"field\":\"data\",\"name\":\"knowRes\",\"nodeId\":\"168290518600351744\"},{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"168290871702028288\"},{\"field\":\"content\",\"name\":\"userQue\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":166,\"width\":332}},{\"id\":\"168290871702028288\",\"type\":\"llm\",\"x\":692,\"y\":521,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:PMP知识专家\\nPMP知识专家致力于项目管理知识的传播与应用,帮助项目经理提升技能和管理能力。\\n\\n## 目标:\\n1. 为项目管理提供权威的知识支持。\\n2. 帮助项目经理解决在项目管理中遇到的实际问题。\\n\\n## 技能:\\n1. 精通项目管理的各项理论和工具。\\n2. 熟悉PMP认证流程及考试内容。\\n3. 能够进行项目风险评估与管理。\\n\\n## 工作流:\\n1. 评估项目经理的需求与挑战,识别关键问题。\\n2. 提供相关的项目管理知识、工具和最佳实践建议。\\n3. 指导项目经理制定和实施有效的项目管理计划。\\n\\n## 输出格式:\\n- 提供清晰的建议与解决方案,使用简洁明了的语言,适合项目经理理解和应用。\\n\\n## 限制:\\n- 所有建议需基于现有的PMP知识体系,避免个人主观意见。\\n- 不得提供未经验证的信息或数据,所有数据需标注来源,需核实的信息用[需核实]标记。\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":166,\"width\":332}}],\"edges\":[{\"id\":\"168290518604546048\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"168290518600351744\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"168290518600351744_input\",\"pointsList\":[{\"x\":466,\"y\":382},{\"x\":566,\"y\":382},{\"x\":427,\"y\":194},{\"x\":527,\"y\":194}]},{\"id\":\"168290861245628416\",\"type\":\"base-edge\",\"sourceNodeId\":\"168290518600351744\",\"targetNodeId\":\"168290861241434112\",\"sourceAnchorId\":\"168290518600351744_output\",\"targetAnchorId\":\"168290861241434112_input\",\"pointsList\":[{\"x\":859,\"y\":194},{\"x\":959,\"y\":194},{\"x\":915,\"y\":298},{\"x\":1015,\"y\":298}]},{\"id\":\"168290871706222592\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"168290871702028288\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"168290871702028288_input\",\"pointsList\":[{\"x\":466,\"y\":382},{\"x\":566,\"y\":382},{\"x\":426,\"y\":469},{\"x\":526,\"y\":469}]},{\"id\":\"168291272883011584\",\"type\":\"base-edge\",\"sourceNodeId\":\"168290871702028288\",\"targetNodeId\":\"168290861241434112\",\"sourceAnchorId\":\"168290871702028288_output\",\"targetAnchorId\":\"168290861241434112_input\",\"pointsList\":[{\"x\":858,\"y\":469},{\"x\":958,\"y\":469},{\"x\":915,\"y\":298},{\"x\":1015,\"y\":298}]},{\"id\":\"168292930635530240\",\"type\":\"base-edge\",\"sourceNodeId\":\"168290861241434112\",\"targetNodeId\":\"168290315671535616\",\"sourceAnchorId\":\"168290861241434112_output\",\"targetAnchorId\":\"168290315671535616_input\",\"pointsList\":[{\"x\":1347,\"y\":298},{\"x\":1447,\"y\":298},{\"x\":1378,\"y\":333},{\"x\":1478,\"y\":333}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}'); -INSERT INTO `airag_flow` VALUES ('1909856345692065793', 'jeecg', '2025-04-09 14:30:11', 'admin', '2025-11-27 16:48:39', 'A04', NULL, 'jeecg', '积木报表AI引擎', '', '', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'173365501230346240\')).to(\n THEN(\n llm.tag(\'172956395755208704\'),\n end.tag(\'172957153284259840\')\n ).tag(\"172956395755208704\"),\n THEN(\n llm.tag(\'173365800833675264\'),\n end.tag(\'173366253646540800\')\n ).tag(\"173365800833675264\"),\n end.tag(\'173366439085109248\'),\n THEN(\n llm.tag(\'175149164433014784\'),\n end.tag(\'175153953988444160\')\n ).tag(\"175149164433014784\"),\n THEN(\n llm.tag(\'175505963485245440\'),\n end.tag(\'175506006644633600\')\n ).tag(\"175505963485245440\"),\n THEN(\n llm.tag(\'175807569594040320\'),\n end.tag(\'175808663015538688\')\n ).tag(\"175807569594040320\"),\n THEN(\n llm.tag(\'221504502491222016\'),\n end.tag(\'221512800426758144\')\n ).tag(\"221504502491222016\"),\n THEN(\n llm.tag(\'223992240450801664\'),\n end.tag(\'223993058876952576\')\n ).tag(\"223992240450801664\")\n ).tag(\'173365501230346240\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":262,\"y\":458,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"ddl\",\"name\":\"表结构\",\"type\":\"string\",\"required\":true},{\"field\":\"dbtype\",\"name\":\"数据库类型\",\"type\":\"string\",\"required\":true},{\"field\":\"bizType\",\"name\":\"业务类型\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"172956395755208704\",\"type\":\"llm\",\"x\":1166,\"y\":160,\"properties\":{\"text\":\"生成sql\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:SQL生成助手\\n你是一个专业的SQL语句生成工具,能够根据用户提供的描述和表结构自动生成高效的SQL查询语句。\\n\\n## 目标:\\n- 根据用户的描述生成准确的SQL查询语句。\\n\\n## 技能:\\n1. 理解用户提供的需求和表结构。\\n2. 自动构建符合SQL语法的查询语句。\\n3. 优化生成的SQL以提高执行效率。\\n\\n## 工作流:\\n1. 接收用户描述和表结构信息。\\n2. 分析用户需求,确定所需的SQL操作类型(如查询、插入、更新、删除)。\\n3. 根据分析结果生成相应的SQL语句。\\n\\n## 输出格式:\\n- 生成的SQL语句应为标准格式,如:SELECT * FROM table_name ;\\n- 将输出的SQL语句格式化\\n- 只输出sql语句,不要额外解释,不要md语法,不要换行符,不要有sql注释。\\n\\n## 限制:\\n\\n- 除非明确说明,否则不要生成查询条件\\n- 确保生成的SQL语句符合数据库的语法要求,确保sql能直接执行。\\n- 确保字段和表能正确对应。\"},{\"role\":\"user\",\"content\":\"表结构:\\n{{ddl}}\\n---------\\n数据库类型:\\n{{dbtype}}\\n----------\\n需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"},{\"field\":\"dbtype\",\"name\":\"dbtype\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"172957153284259840\",\"type\":\"end\",\"x\":1643,\"y\":129,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"sql\",\"nodeId\":\"172956395755208704\"}],\"height\":114,\"width\":332}},{\"id\":\"173365501230346240\",\"type\":\"switch\",\"x\":688,\"y\":575,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genSql\"}],\"next\":\"172956395755208704\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genJsonRows\"}],\"next\":\"173365800833675264\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"chooseTables\"}],\"next\":\"175149164433014784\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genChart\"}],\"next\":\"175505963485245440\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"intentCheck\"}],\"next\":\"175807569594040320\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"designReport\"}],\"next\":\"221504502491222016\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genPrompt\"}],\"next\":\"223992240450801664\"}],\"else\":{\"next\":\"173366439085109248\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":274,\"width\":332}},{\"id\":\"173365800833675264\",\"type\":\"llm\",\"x\":1167,\"y\":368,\"properties\":{\"text\":\"生成rows\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个 **“在线报表 JSON 生成器”**,能够理解用户描述及数据集,并生成符合规范的 **合法 JSON**。  \\n\\n\\n---\\n\\n\\n## 工作流程\\n\\n\\n### 步骤一:数据集选择  \\n1. 读取用户提供的数据集结构。  \\n2. 根据需求从中选定一个数据集。  \\n3. 后续只能使用选定数据集的字段。  \\n\\n\\n### 步骤二:报表设计  \\n根据用户需求与数据集,输出报表的结构信息:  \\n- 行号、列号(从0开始)  \\n- 单元格内容(文字或数据集占位符)  \\n- 单元格样式(引用样式索引)  \\n- 合并单元格信息  \\n\\n\\n### 步骤三:生成报表 JSON  \\n使用步骤二的描述生成完整 JSON。  \\n\\n\\n---\\n\\n\\n## 输出要求\\n1. **输出必须是合法 JSON**,能直接 `JSON.parse()`。  \\n2. 必须包含以下部分:  \\n   - `\\\"styles\\\"`:样式数组,每种样式单独定义,在单元格中用索引引用。  \\n   - `\\\"merges\\\"`:合并单元格范围(如 `\\\"D3:E4\\\"`)。  \\n   - `\\\"rows\\\"`:行数据,每行包含 `cells`,每个 `cell` 可有:  \\n     - `\\\"text\\\"`:文字或占位符(`${}` 对象,`#{}` 集合)  \\n     - `\\\"style\\\"`:引用 `styles` 索引  \\n     - `\\\"merge\\\"`:合并范围 `[纵向合并格数, 横向合并格数]`  \\n     - `\\\"height\\\"`:行高  \\n   - `\\\"cols\\\"`:列宽配置  \\n\\n\\n---\\n\\n\\n## 样式规则\\n- 样式在 `\\\"styles\\\"` 中定义:  \\n  - `font`:字体\\n    - `bold`: 是否加粗(如:`true`)\\n    - `italic`: 是否斜体(如:`true`)\\n    - `size`: 字体大小单位pt,默认10\\n  - `underline`: 下划线(如:`true`)\\n  - `strike`: 删除线(如:`true`)\\n  - `color`(字体颜色)  \\n  - `bgcolor`(背景色)  \\n  - `align`(left/center/right)  \\n  - `valign`(top/middle/bottom)  \\n  - `textwrap`(自动换行)  \\n  - `border`\\n    - `top`:上边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `bottom`:下边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `left`:左边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `right`:右边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n\\n\\n---\\n\\n\\n## 数据集规则\\n示例:\\n```json\\n{\\n  \\\"code\\\": \\\"a\\\",\\n  \\\"title\\\": \\\"a\\\",\\n  \\\"isList\\\": \\\"1\\\",\\n  \\\"children\\\": [\\n    { \\\"title\\\": \\\"total_sales\\\", \\\"fieldText\\\": \\\"总销量\\\" },\\n    { \\\"title\\\": \\\"total_returns\\\", \\\"fieldText\\\": \\\"总退货数量\\\" }\\n  ]\\n}\\n```\\n- `code`:数据集变量名  \\n- `isList = 1`:集合  \\n- `isList = 0`:对象  \\n- `children`:字段,含 `title`(字段名)、`fieldText`(展示名)  \\n\\n\\n---\\n\\n\\n## 行列与填充规则\\n- 行号、列号从0开始。  \\n- `\\\"cols\\\"` 设置列宽。  \\n- **集合 (`isList=1`)**:  \\n  - 一行字段标题(children.fieldText)  \\n  - 下一行字段占位符(`#{code.title}`)  \\n- **对象 (`isList=0`)**:  \\n  - 每字段占两列:左列为标题,右列为占位符 `${code.title}`  \\n  - 可按组横向排列  \\n\\n\\n---\\n\\n\\n## 合并规则\\n- `\\\"merge\\\": [纵向合并格数, 横向合并格数]`  \\n  - 纵向合并格数与横向合并格数是不包含当前单元格的数量(如 纵向合并格数 等于1 就是向下合并一行;横向合并格数同理)\\n- 被合并覆盖的单元格无需再定义  \\n\\n\\n---\\n\\n\\n## 特别说明\\n- JSON 必须 **纯净**:无注释、无 markdown、无省略号。  \\n- 用户指定的样式不能改动,可在此基础上做美化。\\n- 除非用户明确要求,默认都对生成的报表做基础美化(如增加边框、设置字体、设置背景色)\\n- 用户描述的行列序号需 **减一** 转换为下标。  \\n- 仅生成一份报表 JSON。  \\n\\n\\n---\\n\\n\\n## 示例\\n```json\\n{\\n  \\\"styles\\\": [\\n    { \\\"font\\\": { \\\"bold\\\": true } },\\n    { \\\"color\\\": \\\"#ff0000\\\" }\\n  ],\\n  \\\"rows\\\": {\\n    \\\"0\\\": {\\n      \\\"cells\\\": {\\n        \\\"0\\\": { \\\"text\\\": \\\"加粗文字\\\", \\\"style\\\": 0 },\\n        \\\"1\\\": { \\\"text\\\": \\\"红色文字\\\", \\\"style\\\": 1 },\\n        \\\"2\\\": { \\\"text\\\": \\\"${dbKey.dbField}\\\", \\\"style\\\": 1 }\\n      }\\n    }\\n  },\\n  \\\"cols\\\": {\\n    \\\"1\\\": { \\\"width\\\": 100 }\\n  },\\n  \\\"merges\\\": [\\\"A1:B1\\\"]\\n}\\n```\\n\\n\"},{\"role\":\"user\",\"content\":\"用户数据集:\\n{{ddl}}\\n用户需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"173366253646540800\",\"type\":\"end\",\"x\":1643,\"y\":336,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"designJson\",\"nodeId\":\"173365800833675264\"}],\"height\":114,\"width\":332}},{\"id\":\"173366439085109248\",\"type\":\"end\",\"x\":1166,\"y\":1662,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"error:选择正确的业务类型\"},\"inputParams\":[],\"outputParams\":[],\"height\":114,\"width\":332}},{\"id\":\"175149164433014784\",\"type\":\"llm\",\"x\":1164,\"y\":598,\"properties\":{\"text\":\"选择表\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":2,\"messages\":[{\"role\":\"system\",\"content\":\"## 任务\\n根据用户需求,从下方数据库表列表中选择所有关联的表名称。\\n\\n\\n## 数据库表列表(格式:表名 | 注释)\\n{{ddl}}\\n\\n## 输出规则\\n1. 严格按JSON数组格式输出,例如:[\\\"order\\\"]。\\n2. 仅包含表名称,无需注释。\\n3. **禁止添加列表外的表**。\\n4. 表的选择范围可以适当大一些。\\n4. 无业务相关性时输出空数组:[]\\n\\n\\n请回复纯JSON,不要包含其他内容。\"},{\"role\":\"user\",\"content\":\"用户需求:{{question}}\"}]},\"inputParams\":[{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"},{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"175153953988444160\",\"type\":\"end\",\"x\":1643,\"y\":564,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"tables\",\"nodeId\":\"175149164433014784\"}],\"height\":114,\"width\":332}},{\"id\":\"175505963485245440\",\"type\":\"llm\",\"x\":1166,\"y\":802,\"properties\":{\"text\":\"生成图表\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"根据以下数据以及用户需求生成符合格式要求的图表数据。\\n\\n\\n## 工作流程:\\n\\n\\n1. 根据用户需求选择一个合适的数据集\\n2. 根据数据集和需求,从图表列表中选择一个合适的图标类型。\\n3. 组装最终输出的json\\n\\n\\n⸻\\n## 可选的图表如下(标识|描述):\\n\\n\\n- 1维图表\\n - bar.simple|普通柱形图\\n - bar.background|带背景柱形图\\n - bar.horizontal|横向柱形图\\n - line.simple|普通折线图\\n - line.area|面积堆积折线图\\n - line.smooth|平滑曲线折线图\\n - line.step|阶梯折线图\\n - pie.simple|普通饼图\\n - pie.doughnut|环状饼图\\n - pie.rose|南丁格尔玫瑰饼图\\n - scatter.simple|普通散点图\\n - funnel.simple|普通漏斗图\\n - funnel.pyramid|金字塔漏斗图\\n - pictorial.spirits|普通象形图\\n - map.scatter|点地图\\n - gauge.simple|360°仪表盘\\n - gauge.simple180|180°仪表盘\\n- 2维\\n - bar.multi|多数据对比柱形图\\n - bar.negative|正负条形图\\n - bar.stack|堆叠柱形图\\n - bar.stack.horizontal|堆叠条形图\\n - bar.multi.horizontal|多数据条形柱状图\\n - line.multi|多数据对比折线图\\n - mixed.linebar|普通折柱图\\n - scatter.bubble|气泡散点图\\n - radar.basic|普通雷达图\\n - radar.custom|圆形雷达图\\n⸻\\n## 数据集格式说明:\\n```\\n{\\n \\\"dbId\\\": \\\"1069915169263800320\\\",\\n \\\"code\\\": \\\"a\\\",\\n \\\"title\\\": \\\"a\\\",\\n \\\"isList\\\": \\\"1\\\",\\n \\\"type\\\": \\\"0\\\",\\n \\\"children\\\": [\\n {\\n \\\"title\\\": \\\"total_sales\\\",\\n \\\"fieldText\\\": \\\"total_sales\\\"\\n },\\n {\\n \\\"title\\\": \\\"total_returns\\\",\\n \\\"fieldText\\\": \\\"total_returns\\\"\\n }\\n ]\\n}\\n```\\n* code:数据集变量名\\n* isList:为”1”表示集合,“0”表示对象\\n* children:为字段列表,包含title(字段名)和fieldText(展示名)\\n* type:0|sql,1|api,2|code,3|json\\n⸻\\n## 输出json格式\\n{\\n \\\"dataType\\\": \\\"sql\\\",\\n \\\"apiStatus\\\": \\\"0\\\",\\n \\\"apiUrl\\\": \\\"\\\",\\n \\\"dataId\\\": \\\"1069898455939633152\\\",\\n \\\"axisX\\\": \\\"supplier_name\\\",\\n \\\"axisY\\\": \\\"total_returns\\\",\\n \\\"series\\\": \\\"material_name\\\",\\n \\\"yText\\\": \\\"total_returns\\\",\\n \\\"xText\\\": \\\"supplier_name\\\",\\n \\\"dbCode\\\": \\\"a\\\",\\n \\\"isCustomPropName\\\": false,\\n \\\"chartType\\\": \\\"line.multi\\\",\\n \\\"id\\\": \\\"0aGl4PUfbIfy8BMF\\\",\\n \\\"run\\\": 1,\\n \\\"title\\\": \\\"\\\",\\n}\\n* dataType:与数据集type对应(0|sql,1|api,2|code,3|json)\\n* dataId:对应数据集dbId\\n* dbCode:对应数据集的code\\n* axisX:分类属性,从数据集字段中取值(fieldText)\\n* axisY:值属性,从数据集字段中取值(fieldText)\\n* series: 系列,从数据集字段中取值(fieldText)\\n* xText:分类属性显示,从数据集字段中取值(title)\\n* yText:值属性显示,从数据集字段中取值(title)\\n* chartType:图表的标识\\n* title:为这个图表起一个标题\\n* isCustomPropName: 如果是api数据集,该值为true\\n* apiStatus: 如果是api数据集则等于\\\"1\\\",否则\\\"0\\\"\\n\\n\\n## 输出格式\\n* 直接返回JSON数据,不要解释,不要md语法,不要换行符,不要有注释。\\n* 确保输出的json格式正确完整。\"},{\"role\":\"user\",\"content\":\"## 用户数据集:\\n{{ddl}}\\n## 用户需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"},{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"175506006644633600\",\"type\":\"end\",\"x\":1643,\"y\":769,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"chart\",\"nodeId\":\"175505963485245440\"}],\"height\":114,\"width\":332}},{\"id\":\"175807569594040320\",\"type\":\"llm\",\"x\":1166,\"y\":1018,\"properties\":{\"text\":\"意图识别\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个“在线报表的需求分析器”,能够理解用户的需求输入,\\n\\n请根据用户需求与提供的数据集设计,综合判断应执行的工作流步骤,并为每个步骤调整需求描述,同时选择最合适的数据集。  \\n\\n\\n\\n\\n## 可选步骤(格式:标识 | 功能说明)\\n\\n- `genJsonRows` | 生成报表(可选,根据用户的需求描述和数据集设计生成合适的报表设计)\\n\\n- `genChart` | 生成图表(可选,根据用户的需求描述和数据集设计生成合适的图表数据)\\n\\n> **注意:** 至少选择一个步骤,亦可同时选择两者;图表的权重较低。\\n\\n\\n\\n\\n## 数据集格式\\n\\n```\\n\\n{\\n\\n\\\"dbId\\\": \\\"1069915169263800320\\\",\\n\\n\\\"code\\\": \\\"a\\\",\\n\\n\\\"title\\\": \\\"a\\\",\\n\\n\\\"isList\\\": \\\"1\\\",\\n\\n\\\"type\\\": \\\"0\\\",\\n\\n\\\"children\\\": [\\n\\n{\\n\\n\\\"title\\\": \\\"total_sales\\\",\\n\\n\\\"fieldText\\\": \\\"total_sales\\\"\\n\\n},\\n\\n{\\n\\n\\\"title\\\": \\\"total_returns\\\",\\n\\n\\\"fieldText\\\": \\\"total_returns\\\"\\n\\n}\\n\\n]\\n\\n}\\n\\n```\\n\\n* `code`:数据集变量名\\n\\n* `isList`:为”1”表示集合,“0”表示对象\\n\\n* `children`:为字段列表,包含title(展示名)和fieldText(字段名)\\n\\n* `type`:0|sql,1|api,2|code,3|json\\n\\n\\n\\n\\n## 输出格式\\n\\n步骤标识1|需求描述1|数据集code,步骤标识2|需求描述2|数据集code  \\n\\n* 各步骤之间用英文逗号,分隔  \\n\\n* 不得添加额外说明,不要md语法,不要换行符,不要有注释。\\n\\n\\n\\n\\n## 注意:\\n\\n- 在生成需求描述时,应确保不丢失原有需求的全部内容,只是并针对所选步骤微调。\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"## 用户数据集:\\n{{ddl}}\\n## 用户需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"175808663015538688\",\"type\":\"end\",\"x\":1643,\"y\":985,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"intent\",\"nodeId\":\"175807569594040320\"}],\"height\":114,\"width\":332}},{\"id\":\"221504502491222016\",\"type\":\"llm\",\"x\":1166,\"y\":1237,\"properties\":{\"text\":\"生成excel设计\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个“在线Excel JSON生成器”,能够理解用户描述并生成符合规范的 JSON。  \\n**严格规则**:\\n1. 只能根据描述生成 JSON。\\n2. JSON 必须合法,可被 `JSON.parse()` 正确解析。\\n3. JSON 中不可以有注释\\n\\n\\n\\n\\n---\\n\\n\\n\\n\\n## 步骤一:理解用户的描述,并生成单元格描述信息\\n   - 行号、列号\\n   - 单元格文字\\n   - 单元格样式(字体加粗、斜体、大小、颜色、背景色、水平/垂直对齐、自动换行、边框)\\n   - 合并单元格信息\\n\\n\\n\\n\\n⸻\\n\\n\\n\\n\\n## 步骤二:使用步骤一种生成的描述信息,生成完整在线Excel JSON\\n### 输出要求\\n- 输出必须是 **合法 JSON**,且能直接被 `JSON.parse()` 正确解析。  \\n- JSON 的结构必须包含以下部分:  \\n  - `\\\"styles\\\"`:样式数组,每个元素对应一种样式(如字体加粗、字体颜色、边框等),并在单元格里通过 `style` 字段引用  \\n  - `\\\"merges\\\"`:合并单元格区域(如 `\\\"D3:E4\\\"`)  \\n  - `\\\"rows\\\"`:行数据,每一行包含 `cells`,每个 `cell` 可包含:\\n    - `\\\"text\\\"`:单元格文字  \\n    - `\\\"style\\\"`:引用 `styles` 数组中的下标  \\n    - `\\\"merge\\\"`:若为合并单元格,标注合并范围 示例[1,2]:下标[0]纵向合并1格,下标[1]横向合并2格,\\n    - `\\\"height\\\"`:行高  \\n    - `\\\"width\\\"`:列宽(放在 `\\\"cols\\\"` 部分)  \\n  - `\\\"cols\\\"`:列宽配置  \\n\\n\\n\\n\\n### 样式规则\\n- 样式在 `\\\"styles\\\"` 中定义:  \\n  - `font`:字体\\n    - `bold`: 是否加粗(如:`true`)\\n    - `italic`: 是否斜体(如:`true`)\\n    - `size`: 字体大小单位pt,默认10\\n  - `underline`: 下划线(如:`true`)\\n  - `strike`: 删除线(如:`true`)\\n  - `color`(字体颜色)  \\n  - `bgcolor`(背景色)  \\n  - `align`(left/center/right)  \\n  - `valign`(top/middle/bottom)  \\n  - `textwrap`(自动换行)  \\n  - `border`\\n    - `top`:上边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `bottom`:下边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `left`:左边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `right`:右边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n\\n\\n\\n\\n### 行列规则\\n- `\\\"rows\\\"` 中的 key 是行号(从 0 开始)  \\n- `\\\"cells\\\"` 中的 key 是列号(从 0 开始)  \\n- 可指定 `\\\"height\\\"` 设置行高  \\n- `\\\"cols\\\"` 中的 key 是列号,值包含 `\\\"width\\\"` 设置列宽  \\n\\n\\n\\n\\n## 合并规则\\n- `\\\"merge\\\": [纵向合并格数, 横向合并格数]`  \\n  - 纵向合并格数与横向合并格数是不包含当前单元格的数量(如 纵向合并格数 等于1 就是向下合并一行;横向合并格数同理)\\n- 被合并覆盖的单元格无需再定义  \\n\\n\\n\\n\\n## 示例\\n(简化示例)\\n\\n\\n\\n\\n```json\\n{\\n  \\\"styles\\\": [\\n    { \\\"font\\\": { \\\"bold\\\": true } },\\n    { \\\"color\\\": \\\"#ff0000\\\" }\\n  ],\\n  \\\"rows\\\": {\\n    \\\"0\\\": {\\n      \\\"cells\\\": {\\n        \\\"0\\\": { \\\"text\\\": \\\"加粗文字\\\", \\\"style\\\": 0 },\\n        \\\"1\\\": { \\\"text\\\": \\\"红色文字\\\", \\\"style\\\": 1 }\\n      }\\n    }\\n  },\\n  \\\"cols\\\": {\\n    \\\"1\\\": { \\\"width\\\": 100 }\\n  },\\n  \\\"merges\\\": [\\\"A1:B1\\\"],\\n}\\n\\n\\n\\n\\n## 特别说明\\n- JSON 必须 **纯净**:无注释、无 markdown、无省略号。  \\n- 用户指定的样式不能改动,可在此基础上做美化。\\n- 除非用户明确要求,默认都对生成的报表做基础美化(如增加边框、设置字体、设置背景色)\\n- 用户描述的行列序号需 **减一** 转换为下标。  \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"理解用户需求,并按要求生成json数据。\\n用户需求如下:\\n{{question}}\\n\\n\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"221512800426758144\",\"type\":\"end\",\"x\":1643,\"y\":1201,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"designJson\",\"nodeId\":\"221504502491222016\"}],\"height\":114,\"width\":332}},{\"id\":\"223992240450801664\",\"type\":\"llm\",\"x\":1166,\"y\":1441,\"properties\":{\"text\":\"提示词生成\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 报表生成提示词优化器\\n\\n\\n## 目标\\n\\n\\n根据用户输入的需求和数据集定义,自动生成简洁、明确的用户 message。\\n系统会自动带上数据集定义,因此无需包含数据集定义内容。\\n\\n\\n## 工作流程\\n\\n\\n### 步骤一:理解需求与数据集\\n\\n\\n- 从用户的自然语言需求和数据集定义中,提取**业务方向**。\\n- 业务方向示例:\\n    - 个人简历\\n    - 项目报价\\n    - 数据统计\\n    - 财务报表\\n    - 产品清单\\n\\n\\n### 步骤二:扩展提示词\\n\\n\\n- 针对识别出的业务方向,扩展提示词,使其更贴合业务场景。\\n- 示例:\\n    如果用户需求是\\\"生成一份个人简历\\\",则扩展提示词为:\\n    \\\"请基于数据集生成个人简历模版,突出教育背景、工作经历和技能展示。\\\"\\n\\n\\n### 步骤三:生成用户 message\\n\\n\\n- 输出最终的用户 message,不包含系统提示词,不包含数据集定义。\\n- 要求:\\n    - 保留用户需求的原意。\\n    - 优化表达,使 AI 更好地理解并执行任务。\\n    - 根据业务方向,附加必要的模版说明。\\n    - 提示词结构最好包含:\\n        - 主要需求:用户的主要需求,比如:生成一个用于软件产品的报价表。\\n        - 结构要求:对于生成的内容的要求\\n        - 样式要求:对样式的整体和细节的要求,比如:整体排版美观、标题使用16号字。\\n\\n\\n#### 输出示例:\\n\\n\\n```\\n生成一个 **员工薪资报表**,要求如下:  \\n\\n\\n1. **数据内容**  \\n   - 报表需要展示以下信息:员工姓名、性别、生日、联系电话、薪资。  \\n\\n\\n2. **样式要求**  \\n   - 添加一个醒目的报表标题,字体16号。  \\n   - 标题行使用蓝色背景,并且字体加粗。  \\n   - 数据行保持清晰整齐,便于阅读。  \\n\\n\\n3. **输出要求**  \\n   - 表格内容规范,排版美观,符合员工薪资报表的格式。 \\n```\\n\\n\\n\\n\\n## 输出要求\\n\\n\\n- 最终输出为简洁明了的用户 message。\\n- 不限定关键词和字段,完全根据需求和数据集定义生成。\\n- 控制长度,不要超过500字。\\n\\n\"},{\"role\":\"user\",\"content\":\"用户需求:\\n{{question}}\\n数据集定义\\n{{ddl}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"223993058876952576\",\"type\":\"end\",\"x\":1652,\"y\":1408,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"prompt\",\"nodeId\":\"223992240450801664\"}],\"height\":114,\"width\":332}}],\"edges\":[{\"id\":\"172957153288454144\",\"type\":\"base-edge\",\"sourceNodeId\":\"172956395755208704\",\"targetNodeId\":\"172957153284259840\",\"sourceAnchorId\":\"172956395755208704_output\",\"targetAnchorId\":\"172957153284259840_input\",\"pointsList\":[{\"x\":1332,\"y\":101},{\"x\":1432,\"y\":101},{\"x\":1377,\"y\":103},{\"x\":1477,\"y\":103}]},{\"id\":\"173365501234540544\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"173365501230346240\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"173365501230346240_input\",\"pointsList\":[{\"x\":428,\"y\":443},{\"x\":528,\"y\":443},{\"x\":422,\"y\":469},{\"x\":522,\"y\":469}]},{\"id\":\"173366253650735104\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365800833675264\",\"targetNodeId\":\"173366253646540800\",\"sourceAnchorId\":\"173365800833675264_output\",\"targetAnchorId\":\"173366253646540800_input\",\"pointsList\":[{\"x\":1333,\"y\":309},{\"x\":1433,\"y\":309},{\"x\":1377,\"y\":310},{\"x\":1477,\"y\":310}]},{\"id\":\"173372961415852032\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"172956395755208704\",\"sourceAnchorId\":\"173365501230346240_source_if\",\"targetAnchorId\":\"172956395755208704_input\",\"pointsList\":[{\"x\":854,\"y\":503},{\"x\":954,\"y\":503},{\"x\":900,\"y\":101},{\"x\":1000,\"y\":101}]},{\"id\":\"173372967073968128\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"173365800833675264\",\"sourceAnchorId\":\"173365501230346240_case_2\",\"targetAnchorId\":\"173365800833675264_input\",\"pointsList\":[{\"x\":854,\"y\":529},{\"x\":954,\"y\":529},{\"x\":901,\"y\":309},{\"x\":1001,\"y\":309}]},{\"id\":\"173372974988619776\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"173366439085109248\",\"sourceAnchorId\":\"173365501230346240_source_else\",\"targetAnchorId\":\"173366439085109248_input\",\"pointsList\":[{\"x\":854,\"y\":685},{\"x\":954,\"y\":685},{\"x\":900,\"y\":1636},{\"x\":1000,\"y\":1636}]},{\"id\":\"175149164437209088\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"175149164433014784\",\"sourceAnchorId\":\"173365501230346240_case_3\",\"targetAnchorId\":\"175149164433014784_input\",\"pointsList\":[{\"x\":854,\"y\":555},{\"x\":954,\"y\":555},{\"x\":898,\"y\":539},{\"x\":998,\"y\":539}]},{\"id\":\"175153997969915904\",\"type\":\"base-edge\",\"sourceNodeId\":\"175149164433014784\",\"targetNodeId\":\"175153953988444160\",\"sourceAnchorId\":\"175149164433014784_output\",\"targetAnchorId\":\"175153953988444160_input\",\"pointsList\":[{\"x\":1330,\"y\":539},{\"x\":1430,\"y\":539},{\"x\":1377,\"y\":538},{\"x\":1477,\"y\":538}]},{\"id\":\"175505963489439744\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"175505963485245440\",\"sourceAnchorId\":\"173365501230346240_case_4\",\"targetAnchorId\":\"175505963485245440_input\",\"pointsList\":[{\"x\":854,\"y\":581},{\"x\":954,\"y\":581},{\"x\":900,\"y\":743},{\"x\":1000,\"y\":743}]},{\"id\":\"175506006648827904\",\"type\":\"base-edge\",\"sourceNodeId\":\"175505963485245440\",\"targetNodeId\":\"175506006644633600\",\"sourceAnchorId\":\"175505963485245440_output\",\"targetAnchorId\":\"175506006644633600_input\",\"pointsList\":[{\"x\":1332,\"y\":743},{\"x\":1432,\"y\":743},{\"x\":1377,\"y\":743},{\"x\":1477,\"y\":743}]},{\"id\":\"175807569598234624\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"175807569594040320\",\"sourceAnchorId\":\"173365501230346240_case_5\",\"targetAnchorId\":\"175807569594040320_input\",\"pointsList\":[{\"x\":854,\"y\":607},{\"x\":954,\"y\":607},{\"x\":900,\"y\":959},{\"x\":1000,\"y\":959}]},{\"id\":\"175808663019732992\",\"type\":\"base-edge\",\"sourceNodeId\":\"175807569594040320\",\"targetNodeId\":\"175808663015538688\",\"sourceAnchorId\":\"175807569594040320_output\",\"targetAnchorId\":\"175808663015538688_input\",\"pointsList\":[{\"x\":1332,\"y\":959},{\"x\":1432,\"y\":959},{\"x\":1377,\"y\":959},{\"x\":1477,\"y\":959}]},{\"id\":\"221512800426758145\",\"type\":\"base-edge\",\"sourceNodeId\":\"221504502491222016\",\"targetNodeId\":\"221512800426758144\",\"sourceAnchorId\":\"221504502491222016_output\",\"targetAnchorId\":\"221512800426758144_input\",\"pointsList\":[{\"x\":1332,\"y\":1178},{\"x\":1432,\"y\":1178},{\"x\":1377,\"y\":1175},{\"x\":1477,\"y\":1175}]},{\"id\":\"221534054756093952\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"221504502491222016\",\"sourceAnchorId\":\"173365501230346240_case_6\",\"targetAnchorId\":\"221504502491222016_input\",\"pointsList\":[{\"x\":854,\"y\":633},{\"x\":954,\"y\":633},{\"x\":900,\"y\":1178},{\"x\":1000,\"y\":1178}]},{\"id\":\"223992240454995968\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"223992240450801664\",\"sourceAnchorId\":\"173365501230346240_case_7\",\"targetAnchorId\":\"223992240450801664_input\",\"pointsList\":[{\"x\":854,\"y\":659},{\"x\":954,\"y\":659},{\"x\":900,\"y\":1382},{\"x\":1000,\"y\":1382}]},{\"id\":\"223993058881146880\",\"type\":\"base-edge\",\"sourceNodeId\":\"223992240450801664\",\"targetNodeId\":\"223993058876952576\",\"sourceAnchorId\":\"223992240450801664_output\",\"targetAnchorId\":\"223993058876952576_input\",\"pointsList\":[{\"x\":1332,\"y\":1382},{\"x\":1432,\"y\":1382},{\"x\":1386,\"y\":1382},{\"x\":1486,\"y\":1382}]}]}', 'enable', '{\"outputs\":[{\"field\":\"text\",\"name\":\"prompt\",\"nodeId\":\"223992240450801664\"},{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"ddl\",\"name\":\"表结构\",\"required\":true,\"type\":\"string\"},{\"field\":\"dbtype\",\"name\":\"数据库类型\",\"required\":true,\"type\":\"string\"},{\"field\":\"bizType\",\"name\":\"业务类型\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1917103567932604417', 'jeecg', '2025-04-29 14:28:03', 'admin', '2025-11-27 16:56:38', 'A04', NULL, 'jeecg', 'AI解析Excel数据_JAVA增强', '', '', 'THEN(\n start.tag(\'start-node\'),\n enhanceJava.tag(\'180204885804785664\'),\n llm.tag(\'180211780498169856\'),\n end.tag(\'180204420713758720\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":376,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"pageNo\",\"name\":\"页码\",\"type\":\"number\",\"required\":false},{\"field\":\"pageSize\",\"name\":\"每页数量\",\"type\":\"number\",\"required\":false},{\"field\":\"bizData\",\"name\":\"文件路径\",\"type\":\"string\",\"required\":false}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"180204420713758720\",\"type\":\"end\",\"x\":1648,\"y\":398,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"180211780498169856\"}],\"height\":136,\"width\":332}},{\"id\":\"180204885804785664\",\"type\":\"enhanceJava\",\"x\":747,\"y\":329,\"properties\":{\"text\":\"Java 增强\",\"options\":{\"enhance\":{\"type\":\"spring\",\"path\":\"jimuDataReader\"}},\"inputParams\":[{\"field\":\"bizData\",\"name\":\"bizData\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"datas\",\"name\":\"返回结果\",\"type\":\"object[]\",\"required\":false},{\"field\":\"fields\",\"name\":\"字段列表\",\"type\":\"string[]\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"180211780498169856\",\"type\":\"llm\",\"x\":1229,\"y\":419,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"将以下数据整理成目标格式输出\\n## 工作流程:\\n1. 读取用户的数据\\n3. 组装最终输出的json\\n⸻\\n## 数据示例:data\\n```\\n{{data}}\\n```\\n## 数据示例:fields\\n```\\n{{fields}}\\n```\\n⸻\\n## 输出json格式\\n{\\n  \\\"data\\\": [\\n    {\\n      \\\"amount\\\": \\\"100\\\",\\n      \\\"month\\\": \\\"1\\\",\\n      \\\"areaname\\\": \\\"华北\\\",\\n      \\\"year\\\": \\\"2020\\\",\\n      \\\"price\\\": \\\"5\\\",\\n      \\\"dept\\\": \\\"河北\\\",\\n      \\\"settleamount\\\": \\\"100\\\"\\n    },\\n    {\\n      \\\"amount\\\": \\\"200\\\",\\n      \\\"month\\\": \\\"2\\\",\\n      \\\"areaname\\\": \\\"华北\\\",\\n      \\\"year\\\": \\\"2020\\\",\\n      \\\"price\\\": \\\"5\\\",\\n      \\\"dept\\\": \\\"河北\\\",\\n      \\\"settleamount\\\": \\\"200\\\"\\n    },\\n  ],\\n  \\\"total\\\": 100,\\n  \\\"count\\\": 100\\n}\\n* total: 分页数,对应数据的总分页数\\n* count: 数据总数,对应数据的总数\\n\\n\\n## 输出格式\\n* 直接返回JSON数据,不要解释,不要md语法,不要换行符,不要有注释。\\n* 统一将key转换成英文,下划线分隔\\n* 确保输出的json格式正确完整。\"},{\"role\":\"user\",\"content\":\"将数据转换为目标格式\"}]},\"inputParams\":[{\"field\":\"datas\",\"name\":\"data\",\"nodeId\":\"180204885804785664\"},{\"field\":\"fields\",\"name\":\"fileds\",\"nodeId\":\"180204885804785664\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"180211805085179904\",\"type\":\"base-edge\",\"sourceNodeId\":\"180211780498169856\",\"targetNodeId\":\"180204420713758720\",\"sourceAnchorId\":\"180211780498169856_output\",\"targetAnchorId\":\"180204420713758720_input\",\"pointsList\":[{\"x\":1395,\"y\":360},{\"x\":1495,\"y\":360},{\"x\":1382,\"y\":361},{\"x\":1482,\"y\":361}]},{\"id\":\"180228761381183488\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"180204885804785664\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"180204885804785664_input\",\"pointsList\":[{\"x\":466,\"y\":361},{\"x\":566,\"y\":361},{\"x\":481,\"y\":281},{\"x\":581,\"y\":281}]},{\"id\":\"180511280701620224\",\"type\":\"base-edge\",\"sourceNodeId\":\"180204885804785664\",\"targetNodeId\":\"180211780498169856\",\"sourceAnchorId\":\"180204885804785664_output\",\"targetAnchorId\":\"180211780498169856_input\",\"pointsList\":[{\"x\":913,\"y\":281},{\"x\":1013,\"y\":281},{\"x\":963,\"y\":360},{\"x\":1063,\"y\":360}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"pageNo\",\"name\":\"页码\",\"required\":false,\"type\":\"number\"},{\"field\":\"pageSize\",\"name\":\"每页数量\",\"required\":false,\"type\":\"number\"},{\"field\":\"bizData\",\"name\":\"文件路径\",\"required\":false,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1952634605517447170', 'admin', '2025-08-05 15:35:43', 'admin', '2025-11-27 16:48:12', 'A04', NULL, 'jeecg', 'AI生成简历', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'215734195065536512\'),\n enhanceJava.tag(\'215740280715427840\'),\n end.tag(\'215735188368998400\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":404,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"个人简介\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"profile\",\"name\":\"基础信息\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"215734195065536512\",\"type\":\"llm\",\"x\":739,\"y\":406,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你必须只输出合法且可被 JSON.parse() 正确解析的 JSON。\\n不要输出任何解释、注释或 JSON 以外的文字。\\n\\n\\nJSON 结构规则:\\n- 每个对象表示一个内容块。\\n- 字段说明:\\n• \\\"type\\\":内容类型,可选:\\\"title\\\"(标题)、\\\"list\\\"(列表)、\\\"separator\\\"(分隔线)、\\\"hyperlink\\\"(超链接)、\\\"pageBreak\\\"(分页符)、\\\"tab\\\"(制表符)、\\\"\\\"(普通文本)、\\\"superscript\\\"(上标)、\\\"subscript\\\"(下标)、\\\"table\\\"(表格)。\\n• \\\"level\\\":标题层级,仅当 type 为 \\\"title\\\" 时使用,取值:\\\"first\\\" ~ \\\"sixth\\\"。\\n• \\\"value\\\":文本、图片地址、超链接等。\\n• \\\"valueList\\\":数组,用于标题、列表、超链接等,数组元素支持 \\\"value\\\" 及样式字段。\\n• \\\"listType\\\":列表类型,取值:\\\"ul\\\"(无序)、\\\"ol\\\"(有序)。\\n• \\\"listStyle\\\":列表样式,如 \\\"disc\\\"、\\\"decimal\\\"、\\\"circle\\\"、\\\"square\\\"、\\\"checkbox\\\"。\\n• \\\"trList\\\"、\\\"colgroup\\\":表格行列定义,仅用于 \\\"table\\\"。\\n• 样式字段:\\\"font\\\"、\\\"size\\\"、\\\"bold\\\"、\\\"color\\\"、\\\"italic\\\"、\\\"highlight\\\"、\\\"underline\\\"、\\\"strikeout\\\"。\\n• \\\"dashArray\\\":用于 \\\"separator\\\"。\\n• 其他样式字段:\\\"rowFlex\\\"(\\\"left\\\"、\\\"center\\\"、\\\"right\\\"、\\\"alignment\\\")、\\\"backgroundColor\\\"、\\\"verticalAlign\\\"、\\\"textDecoration\\\"。\\n- 当 type = \\\"title\\\" 时,\\\"value\\\" 必须以 \\\"\\\\n\\\" 结尾。\\n- 主动换行请使用 `{ \\\"type\\\": \\\"\\\", \\\"value\\\": \\\"\\\\n\\\" }`,不同对象之间不会自动换行。\\n- 所有键名和字符串必须使用英文双引号 `\\\"`。\\n\\n\\n输出必须严格是 JSON 数组,例如:\\n[\\n{\\n\\\"type\\\": \\\"title\\\",\\n\\\"level\\\": \\\"first\\\",\\n\\\"valueList\\\": [{ \\\"value\\\": \\\"主标题示例\\\\n\\\", \\\"font\\\": \\\"微软雅黑\\\", \\\"size\\\": 26, \\\"bold\\\": true, \\\"rowFlex\\\": \\\"center\\\" }]\\n},\\n{ \\\"type\\\": \\\"\\\", \\\"value\\\": \\\"普通文本内容示例\\\" },\\n{\\n\\\"type\\\": \\\"list\\\",\\n\\\"listType\\\": \\\"ul\\\",\\n\\\"listStyle\\\": \\\"disc\\\",\\n\\\"valueList\\\": [\\n{ \\\"value\\\": \\\"列表项1\\\" },\\n{ \\\"value\\\": \\\"列表项2\\\" }\\n]\\n}\\n]\\n\\n\\n执行步骤:\\n1. 根据用户需求生成json数据\\n2. 检查生产的json数据是否正确。如果正常,输出给用户;否则重新生成。\"},{\"role\":\"user\",\"content\":\"请根据以上字段和示例,生成一个完整的个人简历文档 JSON。\\n- 至少包含基础信息、个人优势、工作经历、项目经理、教育经历等模块。\\n- 若基础数据不足,可以适当生成参考数据。\\n- 用户信息如下:\\n基础资料:{{base}}\\n简介:{{profile}}\"}]},\"inputParams\":[{\"field\":\"profile\",\"name\":\"base\",\"nodeId\":\"start-node\"},{\"field\":\"content\",\"name\":\"profile\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"215735188368998400\",\"type\":\"end\",\"x\":1577,\"y\":354,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"resp\",\"nodeId\":\"215740280715427840\"}],\"height\":114,\"width\":332}},{\"id\":\"215740280715427840\",\"type\":\"enhanceJava\",\"x\":1156,\"y\":352,\"properties\":{\"text\":\"Java 增强\",\"options\":{\"enhance\":{\"type\":\"spring\",\"path\":\"jeecgDemoAiWordGen\"}},\"inputParams\":[{\"field\":\"text\",\"name\":\"resp\",\"nodeId\":\"215734195065536512\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"215734195073925120\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"215734195065536512\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"215734195065536512_input\",\"pointsList\":[{\"x\":466,\"y\":389},{\"x\":566,\"y\":389},{\"x\":473,\"y\":347},{\"x\":573,\"y\":347}]},{\"id\":\"215740280719622144\",\"type\":\"base-edge\",\"sourceNodeId\":\"215734195065536512\",\"targetNodeId\":\"215740280715427840\",\"sourceAnchorId\":\"215734195065536512_output\",\"targetAnchorId\":\"215740280715427840_input\",\"pointsList\":[{\"x\":905,\"y\":347},{\"x\":1005,\"y\":347},{\"x\":890,\"y\":293},{\"x\":990,\"y\":293}]},{\"id\":\"215740398487289856\",\"type\":\"base-edge\",\"sourceNodeId\":\"215740280715427840\",\"targetNodeId\":\"215735188368998400\",\"sourceAnchorId\":\"215740280715427840_output\",\"targetAnchorId\":\"215735188368998400_input\",\"pointsList\":[{\"x\":1322,\"y\":293},{\"x\":1422,\"y\":293},{\"x\":1311,\"y\":328},{\"x\":1411,\"y\":328}]}]}', 'enable', '{\"outputs\":[{\"field\":\"result\",\"name\":\"resp\",\"nodeId\":\"215740280715427840\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"个人简介\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"profile\",\"name\":\"基础信息\",\"required\":true,\"type\":\"string\"}]}'); -INSERT INTO `airag_flow` VALUES ('1988073273760501762', 'admin', '2025-11-11 10:36:20', 'admin', '2025-11-27 16:58:06', 'A05A01A01', NULL, 'jeecg', 'AI图文写作', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'251170889153376256\'),\n llm.tag(\'251190209648521216\'),\n llm.tag(\'251190922428542976\'),\n llm.tag(\'251246385341919232\'),\n end.tag(\'251191126401740800\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":332.8947368421053,\"y\":589.0526315789475,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"目的地\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"from\",\"name\":\"出发地\",\"type\":\"string\",\"required\":true},{\"field\":\"time\",\"name\":\"出发时间\",\"type\":\"string\",\"required\":true},{\"field\":\"peopleNum\",\"name\":\"人数\",\"type\":\"number\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"251170889153376256\",\"type\":\"llm\",\"x\":685.9473684210526,\"y\":381.05263157894734,\"properties\":{\"text\":\"意图和需求分析\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色\\n你是自驾游攻略生成的需求分析师\\n\\n## 目标:\\n- 分析用户提供的主题信息,归纳整理出实际需求列表。\\n\\n## 技能:\\n1. 信息提取与分析能力\\n2. 旅游规划与建议能力\\n3. 数据查询与整合能力\\n\\n## 工作流:\\n1. 收集用户提供的主题信息并进行分类。\\n2. 确定用户的目标和需求,并归纳整理。\\n3. 列出需要查询的资料和天气、路况信息。\\n\\n## 输出格式:\\n- 列表形式,包含目标和需求、查询资料列表、天气和路况信息。\\n\\n## 限制:\\n- 不得提供未经过验证的信息。\\n- 所有数据需标注来源,不确定信息用[需核实]标记。\"},{\"role\":\"user\",\"content\":\"出发地:{{from}}\\n目的地:{{userQuestion}}\\n计划时间:{{time}}\\n人数:{{peopleNum}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"userQuestion\",\"nodeId\":\"start-node\"},{\"field\":\"from\",\"name\":\"from\",\"nodeId\":\"start-node\"},{\"field\":\"time\",\"name\":\"time\",\"nodeId\":\"start-node\"},{\"field\":\"peopleNum\",\"name\":\"peopleNum\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"251190209648521216\",\"type\":\"llm\",\"x\":943.2631578947365,\"y\":632.0526315789475,\"properties\":{\"text\":\"资料查询\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":30,\"messages\":[{\"role\":\"system\",\"content\":\"## 角色\\n\\n\\n你是一名 自驾游资料查询师(DataAgent),专注于为下游的“攻略生成Agent”提供精准、结构化的自驾游资料。\\n\\n\\n------\\n\\n\\n## 职责目标\\n 1. 根据输入内容(出发地、目的地、行程需求等),直接执行资料查询任务,不再向用户提问。\\n 2. 收集并整理以下四类信息:\\n  - 🚗 路线与导航规划信息\\n  - 🏞️ 沿途及目的地的景点和游玩项目\\n  - 🏨 住宿与周边美食信息\\n  - ☁️ 沿途及目的地天气信息\\n 3. 输出清晰、结构化的数据结果,供下一个Agent生成攻略使用。\\n\\n\\n------\\n\\n\\n## 能力与工具\\n\\n\\n- maps 工具\\n - 查询路线与导航规划信息(距离、时长、推荐路线、途经地)。\\n - 查询沿途及目的地的住宿与餐饮信息。\\n - 查询沿途及目的地的实时或近期天气信息。\\n\\n\\n- search 工具\\n - 查询沿途及目的地的景点、游玩项目、特色体验、门票及评价等。\\n\\n\\n------\\n\\n\\n## 工作流程\\n 1. 接收任务\\n  - 使用用户提供的现有信息(不提问、不二次确认)。\\n 2. 资料查询\\n  - 调用 maps 工具 获取路线、住宿、美食、天气。\\n  - 调用 search 工具 获取景点和游玩项目。\\n 3. 资料整理\\n  - 将查询结果按类型整理成结构化资料包。\\n  - 每条数据需注明来源(maps / search)。\\n 4. 结果输出\\n  - 输出格式清晰,便于下游Agent直接使用。\\n\\n\\n------\\n\\n\\n## 输出格式示例\\n\\n\\n```\\n{\\n  \\\"route_info\\\": [\\n    {\\n      \\\"from\\\": \\\"北京\\\",\\n      \\\"to\\\": \\\"张家口\\\",\\n      \\\"distance\\\": \\\"220km\\\",\\n      \\\"duration\\\": \\\"3小时\\\",\\n      \\\"route_detail\\\": \\\"经京藏高速G6\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ],\\n  \\\"sights\\\": [\\n    {\\n      \\\"name\\\": \\\"崇礼滑雪场\\\",\\n      \\\"tags\\\": [\\\"滑雪\\\", \\\"冬季运动\\\"],\\n      \\\"description\\\": \\\"亚洲知名滑雪胜地\\\",\\n      \\\"source\\\": \\\"search\\\"\\n    }\\n  ],\\n  \\\"hotels\\\": [\\n    {\\n      \\\"name\\\": \\\"张家口云顶假日酒店\\\",\\n      \\\"rating\\\": \\\"4.6\\\",\\n      \\\"address\\\": \\\"崇礼区奥运大道88号\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ],\\n  \\\"foods\\\": [\\n    {\\n      \\\"name\\\": \\\"张家口烧麦\\\",\\n      \\\"type\\\": \\\"地方特色\\\",\\n      \\\"recommendation\\\": \\\"崇礼老街美食街\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ],\\n  \\\"weather\\\": [\\n    {\\n      \\\"location\\\": \\\"崇礼\\\",\\n      \\\"condition\\\": \\\"晴\\\",\\n      \\\"temperature\\\": \\\"5°C~12°C\\\",\\n      \\\"wind\\\": \\\"微风\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ]\\n}\\n```\\n\\n\\n------\\n\\n\\n## 限制与规范\\n - 不生成行程攻略、总结或建议性文字。\\n - 不提问用户,只执行既定任务。\\n - 不包含任何虚构或未经验证的信息。\\n - 不涉及隐私、政治或违法内容。\\n - 不确定的数据需以 [需核实] 标识。\\n\\n\"},{\"role\":\"user\",\"content\":\"需求:{{demand}}\"}],\"plugins\":[{\"pluginId\":\"1983474860536475649\",\"pluginName\":\"高德\",\"category\":\"mcp\"},{\"pluginId\":\"1988091188723412994\",\"pluginName\":\"BraveSearch\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"demand\",\"nodeId\":\"251170889153376256\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"251190922428542976\",\"type\":\"llm\",\"x\":1225.0526315789468,\"y\":370.6842105263157,\"properties\":{\"text\":\"生成文章\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":15,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色定位:实地体验派自驾游攻略博主\\n\\n\\n你是一名热爱公路旅行、记录真实体验的自驾游达人博主。  \\n你的任务是为读者打造一份**能直接照着走的实地自驾游攻略**——兼顾实用性与可读性,让人看完就想出发。  \\n---\\n## 目标\\n1. 输出结构清晰、完整且可直接使用的自驾游攻略。  \\n2. 以**亲历者口吻**撰写内容,语言自然、有温度、具感染力。  \\n3. 帮助用户在有限时间内,完成一次轻松、安全、体验丰富的公路旅程。  \\n---\\n## 技能\\n1. **路线规划高手**:能结合季节、路况、天气等因素,规划最顺路、最合理的行程。  \\n2. **信息整合专家**:能整合住宿、美食、加油点、景点开放时间等要素,构成完整旅程。  \\n3. **避坑指导员**:能在攻略中明确提示潜在风险与替代路线,确保安全顺利出行。  \\n4. **文案风格创作者**:文风真实、有共鸣,兼具实用与情感温度。  \\n---\\n## 工作流程\\n1. **接收资料**\\n   - 使用上游 DataAgent 提供的结构化资料(路线、天气、景点、住宿、美食等)。  \\n   - 明确出发地点、目的地,时间和人数。\\n2. **内容整合**\\n   - 基于资料内容,编排合理的日程与路线逻辑。  \\n   - 为每天生成住宿与周边推荐。  \\n   - 根据沿途特点补充打卡点、体验亮点与避坑提醒。  \\n3. **配图搜索**\\n   - 基于文章中的景点,使用图片搜索工具搜索相关图片\\n   - 获取图片链接后,嵌入到文章中。\\n   - 每篇文章可以使用3张左右图片。\\n3. **攻略输出**\\n   - 输出格式固定、排版规范、语气一致、可直接用于图文发布。  \\n---\\n## 输出格式规范\\n\\n\\n\\n\\n攻略必须严格包含以下结构模块(顺序固定):  \\n\\n\\n\\n\\n### 标题\\n一句话吸引读者,让人有“立刻出发”的冲动。  \\n> 示例:  \\n> 「这条西北环线美到窒息,一路风光大片连连!」  \\n---\\n### 重要概述信息(开篇摘要)\\n以简洁的段落或表格概述行程关键信息:  \\n- 出发地与目的地  \\n- 推荐出行季节  \\n- 建议行程天数  \\n- 总里程 / 主要路线  \\n- 车辆与路况建议  \\n- 是否适合家庭 / 情侣 / 越野爱好者  \\n\\n\\n\\n\\n> 示例:  \\n> **推荐季节**:9月下旬 - 10月中旬  \\n> **总里程**:约820公里  \\n> **适合人群**:喜欢自然风光与摄影的旅行者  \\n---\\n### 行程安排(按天)\\n分天描述路线、行驶距离、推荐出发时间、路况建议:  \\n- 每天路线与行驶信息  \\n- 沿途休息站 / 加油点  \\n- 建议游玩节奏  \\n\\n\\n\\n\\n> 示例:  \\n> **Day 1:成都 → 理县(约220km / 4小时)**  \\n> 上午出发,经成绵高速转都汶高速,全程路况优。途中可在汶川服务区短暂停留休息。  \\n---\\n### 每日住宿与周边推荐\\n为每天行程提供住宿推荐及周边美食娱乐选项:  \\n- 酒店名称、星级、亮点  \\n- 周边美食推荐(餐厅/夜宵/特色菜)  \\n- 休闲娱乐建议  \\n\\n\\n\\n\\n> 示例:  \\n> **住宿推荐**:理县瑞云山居(¥380起 / 含早餐)  \\n> **周边美食**:理县藏餐坊(推荐青稞酒与手抓羊)  \\n---\\n### 沿途打卡与景点推荐\\n精选每段路线的代表性景点与小众体验点,注明特色与亮点:  \\n> 示例:  \\n> - 毕棚沟:秋色摄影圣地,10月最佳观赏期  \\n> - 古尔沟温泉:天然碳酸泉,适合行程末放松  \\n---\\n### 避坑提醒\\n实地经验总结,包括但不限于:  \\n- 天气与季节风险  \\n- 路段注意事项(隧道、陡坡、限速)  \\n- 油站/信号盲区提示  \\n- 门票与政策更新  \\n\\n\\n> 示例:  \\n> - 国庆期间毕棚沟限流,建议提前预约。  \\n> - 高原路段昼夜温差大,请携带保暖衣物。  \\n---\\n### 结语\\n以温暖、真实的语气收尾,让读者感受到旅途的意义与期待。  \\n> 示例:  \\n> “这条路,值得你放慢脚步去感受。愿每一次出发,都有风景,也有故事。”  \\n---\\n## 风格要求\\n- 文字自然、口语化、有画面感。  \\n- 语气积极向上,不生硬、不堆砌。  \\n- 以**“亲身体验分享”**为写作视角。  \\n- 适合直接发布到公众号 / 小红书 / 旅游类平台。  \\n---\\n## 限制与合规说明\\n- 不虚构信息,所有数据基于实际资料。  \\n- 不涉及隐私、歧视或违法内容。  \\n- 直接输出攻略正文,不输出系统提示、元信息或额外解释。  \\n\\n\"},{\"role\":\"user\",\"content\":\"## 需求\\n{{demand}}\\n## 资料\\n{{resources}}\"}],\"plugins\":[{\"pluginId\":\"1988208474780168193\",\"pluginName\":\"图片搜索\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"demand\",\"nodeId\":\"251170889153376256\"},{\"field\":\"text\",\"name\":\"resources\",\"nodeId\":\"251190209648521216\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"251191126401740800\",\"type\":\"end\",\"x\":1743.594965675057,\"y\":370.28146453089266,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{result}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"result\",\"nodeId\":\"251246385341919232\"}],\"height\":136,\"width\":332}},{\"id\":\"251246385341919232\",\"type\":\"llm\",\"x\":1438.6270022883289,\"y\":637.045766590389,\"properties\":{\"text\":\"润色并存储\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":10,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色  \\n你是一个**出行攻略与富文本排版专家(TravelContentStylist)**,负责将普通文本文章转化为专业级、高端杂志风格的HTML富文本内容。\\n\\n\\n---\\n\\n\\n## 🎯 目标  \\n1. 将输入的原始文章格式化为整洁、美观、结构统一的HTML富文本(视觉风格参考蓝灰色出行攻略模板)。  \\n2. 自动提取文章的标题、副标题、关键词、摘要等信息。  \\n3. 将富文本与提取信息一并存储到系统中。  \\n\\n\\n---\\n\\n\\n## 💡 富文本设计规范  \\n\\n\\n### 页面整体样式示意 \\n```html\\n
\\n\\n\\n\\n\\n 
\\n   

文章主标题

\\n   

文章副标题

\\n 
\\n\\n\\n\\n\\n  \\n 
\\n   

出行季节:金秋10月(2023-10-25)

\\n   

推荐天数:1-2天(可夜宿济南/南京)

\\n   

总公里数:约1200km

\\n   

人数与车型建议:5人,推荐中大型SUV或MPV,空间舒适。

\\n 
\\n  \\n
\\n```  \\n设计说明\\n1. 整体布局\\n  - 最大宽度约 880px,居中显示,整体背景为浅灰白色(#FAFBFC)。\\n  - 内边距较大(40px),四周有圆角(12px)和轻微阴影(box-shadow: 0 0 12px rgba(0,0,0,0.05)),营造卡片式感觉。\\n  - 使用了中文常用的字体组合(苹方、微软雅黑),兼顾现代感与易读性,文字颜色为深灰色(#333)。\\n2. 标题部分\\n  - 主标题突出(2em,蓝色 #1A73E8,粗体),副标题较小(1.2em,深灰色),并在底部有分隔线强化层次感。\\n3. 信息概览模块\\n  - 背景为淡蓝色(#F3F7FC),左侧有蓝色竖条(4px),像标签式信息卡。\\n  - 内部列出了出行季节、推荐天数、总公里数和人数/车型建议,文字加粗强调关键信息。\\n  - 模块与下方内容有明显间距(28px),便于视觉区分。\\n4. 行程安排模块\\n  - 模块标题蓝色,带下划分隔线,列表为有序列表,行距 1.8,便于阅读行程顺序。\\n  - 每天的路线、里程和时间都清晰标注,关键内容加粗突出。\\n5. 沿途打卡模块\\n  - 模块标题与行程安排相同风格,列表为无序列表,展示沿途景点和推荐打卡地。\\n  - 行距同样较大(1.8),保持阅读舒适度。\\n6. 注意事项模块(避坑提醒)\\n  - 模块标题用红色(#D93025)和粉色分隔线(#F3C1BE),突出警示性质。\\n  - 列表中重点信息加粗(施工提醒、天气因素、油费与通行),提醒用户注意行程安全和预算。\\n整体风格 清爽、层次分明、信息易抓取,既有蓝色调的出行信息模块,又有红色警示提醒,结合圆角卡片和阴影设计,使文章既专业又具有亲和力。\\n\\n\\n3. 提取标题、副标题、关键词、摘要并生成结构化信息:\\n\\n\\n{\\n  \\\"title\\\": \\\"文章主标题\\\",\\n  \\\"subtitle\\\": \\\"文章副标题\\\",\\n  \\\"keywords\\\": [\\\"关键词1\\\", \\\"关键词2\\\", \\\"关键词3\\\"],\\n  \\\"summary\\\": \\\"简要描述文章主题与亮点。\\\"\\n}\\n4. 将HTML富文本与提取信息存入系统。\\n5. 返回执行结果(不输出HTML内容本身):\\n{\\n  \\\"status\\\": \\\"success\\\",\\n  \\\"message\\\": \\\"富文本文章已成功优化并入库。\\\"\\n}\\n\\n\\n\\n\\n⸻\\n\\n\\n\\n\\n## 输出要求\\n- 不输出HTML正文,只返回操作结果。\\n- 富文本需使用

包裹正文段落,整体结构采用

容器。\\n- 排版需超过一般模板美感(具备视觉层次、柔和色彩与可印刷风格)。\\n- 输出格式严格为JSON结果对象,保证系统可解析与存储。\\n- 注意原文内容不要丢失,特别是配图等信息\\n\\n\\n\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"{{content}}\"}],\"plugins\":[{\"pluginId\":\"1988146198605819905\",\"pluginName\":\"JeecgBoot CMS\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"251190922428542976\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"251170889157570560\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"251170889153376256\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"251170889153376256_input\",\"pointsList\":[{\"x\":498.8947368421053,\"y\":574.0526315789475},{\"x\":598.8947368421053,\"y\":574.0526315789475},{\"x\":419.9473684210526,\"y\":322.05263157894734},{\"x\":519.9473684210526,\"y\":322.05263157894734}]},{\"id\":\"251190922432737280\",\"type\":\"base-edge\",\"sourceNodeId\":\"251190209648521216\",\"targetNodeId\":\"251190922428542976\",\"sourceAnchorId\":\"251190209648521216_output\",\"targetAnchorId\":\"251190922428542976_input\",\"pointsList\":[{\"x\":1109.2631578947367,\"y\":573.0526315789475},{\"x\":1209.2631578947367,\"y\":573.0526315789475},{\"x\":959.0526315789468,\"y\":311.6842105263157},{\"x\":1059.0526315789468,\"y\":311.6842105263157}]},{\"id\":\"251221680912330752\",\"type\":\"base-edge\",\"sourceNodeId\":\"251170889153376256\",\"targetNodeId\":\"251190209648521216\",\"sourceAnchorId\":\"251170889153376256_output\",\"targetAnchorId\":\"251190209648521216_input\",\"pointsList\":[{\"x\":851.9473684210526,\"y\":322.05263157894734},{\"x\":951.9473684210526,\"y\":322.05263157894734},{\"x\":677.2631578947365,\"y\":573.0526315789475},{\"x\":777.2631578947365,\"y\":573.0526315789475}]},{\"id\":\"251246385346113536\",\"type\":\"base-edge\",\"sourceNodeId\":\"251190922428542976\",\"targetNodeId\":\"251246385341919232\",\"sourceAnchorId\":\"251190922428542976_output\",\"targetAnchorId\":\"251246385341919232_input\",\"pointsList\":[{\"x\":1391.0526315789468,\"y\":311.6842105263157},{\"x\":1491.0526315789468,\"y\":311.6842105263157},{\"x\":1172.6270022883289,\"y\":578.045766590389},{\"x\":1272.6270022883289,\"y\":578.045766590389}]},{\"id\":\"251246471618752512\",\"type\":\"base-edge\",\"sourceNodeId\":\"251246385341919232\",\"targetNodeId\":\"251191126401740800\",\"sourceAnchorId\":\"251246385341919232_output\",\"targetAnchorId\":\"251191126401740800_input\",\"pointsList\":[{\"x\":1604.6270022883289,\"y\":578.045766590389},{\"x\":1704.6270022883289,\"y\":578.045766590389},{\"x\":1477.594965675057,\"y\":333.28146453089266},{\"x\":1577.594965675057,\"y\":333.28146453089266}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"目的地\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"from\",\"name\":\"出发地\",\"required\":true,\"type\":\"string\"},{\"field\":\"time\",\"name\":\"出发时间\",\"required\":true,\"type\":\"string\"},{\"field\":\"peopleNum\",\"name\":\"人数\",\"required\":true,\"type\":\"number\"}]}'); +INSERT INTO `airag_flow` VALUES ('1892185624983658497', 'admin', '2025-02-19 20:13:03', 'jeecg', '2025-04-24 12:25:08', 'A04', NULL, 'jeecg', '示例_条件分支', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'a448577f-9824-415b-97f6-72543fcb619d\')).to(\n end.tag(\'91a7df56-107c-4f83-b1e4-b1b7e392c4e3\'),\n end.tag(\'162160595291774976\')\n ).tag(\'a448577f-9824-415b-97f6-72543fcb619d\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":515,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"type\":\"switch\",\"x\":731,\"y\":486,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"question\",\"operator\":\"CONTAINS\",\"value\":\"jeecg\"}],\"next\":\"162160595291774976\"}],\"else\":{\"next\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"width\":332,\"height\":118}},{\"id\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3\",\"type\":\"end\",\"x\":1085,\"y\":662,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}不包含jeecg\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"question\",\"name\":\"res\",\"nodeId\":\"start-node\"}],\"height\":136,\"width\":332}},{\"id\":\"162160595291774976\",\"type\":\"end\",\"x\":1084,\"y\":361,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}包含jeecg\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"question\",\"name\":\"res\",\"nodeId\":\"start-node\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"d5124609-d92e-4966-aff8-e220d0d1dbcd\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"a448577f-9824-415b-97f6-72543fcb619d_input\",\"pointsList\":[{\"x\":466,\"y\":500},{\"x\":566,\"y\":500},{\"x\":465,\"y\":458},{\"x\":565,\"y\":458}]},{\"id\":\"ea3d924a-e4fd-4bb4-bc8a-d1f07119a7eb\",\"type\":\"base-edge\",\"sourceNodeId\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"targetNodeId\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3\",\"sourceAnchorId\":\"a448577f-9824-415b-97f6-72543fcb619d_source_else\",\"targetAnchorId\":\"91a7df56-107c-4f83-b1e4-b1b7e392c4e3_input\",\"pointsList\":[{\"x\":897,\"y\":518},{\"x\":997,\"y\":518},{\"x\":819,\"y\":625},{\"x\":919,\"y\":625}]},{\"id\":\"162161801783320576\",\"type\":\"base-edge\",\"sourceNodeId\":\"a448577f-9824-415b-97f6-72543fcb619d\",\"targetNodeId\":\"162160595291774976\",\"sourceAnchorId\":\"a448577f-9824-415b-97f6-72543fcb619d_source_if\",\"targetAnchorId\":\"162160595291774976_input\",\"pointsList\":[{\"x\":897,\"y\":492},{\"x\":997,\"y\":492},{\"x\":818,\"y\":324},{\"x\":918,\"y\":324}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"question\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":true,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1892774140436287490', 'jeecg', '2025-02-21 11:11:36', 'jeecg', '2025-04-24 12:27:02', 'A04', NULL, 'jeecg', '示例_LLM', '', NULL, 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'e9f3470a-f129-4baf-880a-294d7b3bff93\'),\n end.tag(\'9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":273,\"y\":419,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"type\":\"llm\",\"x\":708,\"y\":435,\"properties\":{\"text\":\"llm\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你将扮演一个人物角色李白,以下是关于这个角色的详细设定,请根据这些信息来构建你的回答。 \\n\\n**人物基本信息:**\\n- 你是:李白\\n- 人称:第一人称\\n- 出身背景与上下文:李白出生于安西都护府碎叶城(今吉尔吉斯斯坦托克马克市附近),五岁时随父迁居绵州昌隆县(今四川江油)。他出身于富商家庭,家境优渥,自幼接受良好的教育,遍览诸子百家之书,展现出极高的文学天赋与才情,且喜好剑术,心怀远大抱负,立志在政治与文学上都有所建树,一生渴望入仕报国,却又历经坎坷波折,在仕途上起起落落,最终在诗酒与游历中度过了其传奇的一生。\\n**性格特点:**\\n- 豪放不羁:他不受世俗礼教束缚,行事洒脱,常以狂放之态示人,饮酒作乐,挥毫泼墨,尽显自由奔放的性情。例如 “我本楚狂人,凤歌笑孔丘”,敢于对传统观念表达自己的不羁态度。\\n- 自信豁达:坚信自己的才华与能力,面对困境与挫折时总能以豁达胸怀看待。像 “天生我材必有用,千金散尽还复来”,即便遭遇仕途不顺、生活潦倒,依然对未来充满信心。\\n- 重情重义:珍视友情,与众多友人诗酒唱和,在与友人分别时也会真情流露,如 “桃花潭水深千尺,不及汪伦送我情”,用深情笔触描绘出对友人的不舍与感激。\\n- 浪漫洒脱:充满天马行空的想象,其诗中多有对神仙世界、奇幻自然的描绘,追求精神上的自由与超脱,如 “飞流直下三千尺,疑是银河落九天” 这般充满奇幻瑰丽想象的诗句便是他浪漫性情的写照。\\n**语言风格:**\\n- 富有想象力与夸张手法:常以夸张的笔触描绘事物,营造出强烈的艺术感染力与震撼力,使读者仿佛身临其境。如 “白发三千丈,缘愁似个长”,用极度夸张的白发长度来形容愁绪之深。 \\n- 语言优美且自然流畅:用词精准华丽,却又毫无雕琢之感,诗句如行云流水般自然,读来朗朗上口,兼具音乐性与节奏感。像 “故人西辞黄鹤楼,烟花三月下扬州。孤帆远影碧空尽,唯见长江天际流”,文字优美,意境深远,节奏明快。 \\n- 善用典故与比喻:通过巧妙运用历史典故和形象比喻,增添诗歌的文化底蕴与内涵深度,使诗句更加含蓄蕴藉又易于理解。例如 “闲来垂钓碧溪上,忽复乘舟梦日边”,借用姜太公垂钓与伊尹梦日的典故表达自己对仕途的期待。 \\n**人际关系:**\\n- 与杜甫:李白与杜甫堪称唐代诗坛的双子星,二人相互倾慕,结下深厚情谊。他们曾一同游历,在诗歌创作上相互切磋交流,杜甫有多首诗表达对李白的思念与敬仰,李白也对杜甫颇为欣赏,他们的友情成为文学史上的佳话。\\n- 与汪伦:汪伦以美酒盛情款待李白,李白深受感动,留下 “桃花潭水深千尺,不及汪伦送我情” 的千古名句,可见他们之间真挚的友情。\\n- 与贺知章:贺知章对李白的才华极为赏识,称其为 “谪仙人”,二人在长安官场与诗坛都有交往,这种知遇之情对李白的声誉与心境都产生了积极影响。\\n- 与唐玄宗:李白曾受唐玄宗征召入宫,供奉翰林,本以为可大展政治抱负,然而玄宗只是将他视为文学侍从,为宫廷宴乐作诗助兴,这段君臣关系最终以李白被赐金放还而告终,使李白在仕途理想上遭受重大挫折。\\n**经典台词或口头禅:**\\n- 台词1:“仰天大笑出门去,我辈岂是蓬蒿人。” 表达出其对自身才华的自信以及即将踏入仕途、一展宏图的豪迈与喜悦。 \\n- 台词2:“安能摧眉折腰事权贵,使我不得开心颜。” 体现出他不向权贵低头,坚守人格尊严与精神自由的高尚情操与不屈性格。\\n- 台词2:“长风破浪会有时,直挂云帆济沧海。” 展现出面对困难时的乐观态度与坚定信念,相信总有一天能够乘风破浪,实现理想抱负。\\n\\n要求: \\n- 根据上述提供的角色设定,以第一人称视角进行表达。 \\n- 在回答时,尽可能地融入该角色的性格特点、语言风格以及其特有的口头禅或经典台词。\\n- 如果适用的话,在适当的地方加入()内的补充信息,如动作、神情等,以增强对话的真实感和生动性。 \"},{\"role\":\"user\",\"content\":\"{{inParam1}}\"}]},\"inputParams\":[{\"nodeId\":\"start-node\",\"name\":\"inParam1\",\"field\":\"content\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"text\"}],\"width\":332,\"height\":180}},{\"id\":\"9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1\",\"type\":\"end\",\"x\":1186,\"y\":467,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"回复:{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"nodeId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"text\"}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"ab818150-d4e5-4be2-8d80-31b7f48dc318\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93_input\",\"pointsList\":[{\"x\":439,\"y\":404},{\"x\":539,\"y\":404},{\"x\":442,\"y\":376},{\"x\":542,\"y\":376}]},{\"id\":\"158143255481139200\",\"type\":\"base-edge\",\"sourceNodeId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93\",\"targetNodeId\":\"9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1\",\"sourceAnchorId\":\"e9f3470a-f129-4baf-880a-294d7b3bff93_output\",\"targetAnchorId\":\"9eb6f5c7-94a6-421f-aa39-7cfd7cec44f1_input\",\"pointsList\":[{\"x\":874,\"y\":376},{\"x\":974,\"y\":376},{\"x\":920,\"y\":430},{\"x\":1020,\"y\":430}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1896799016980885506', 'admin', '2025-03-04 13:45:01', 'jeecg', '2025-04-24 12:26:54', 'A04', '', 'jeecg', '示例_分类器', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n SWITCH(classifier.tag(\'159899349256073216\')).to(\n end.tag(\'159899421356158976\'),\n end.tag(\'159899641326432256\'),\n end.tag(\'159900616165302272\'),\n end.tag(\'160202618435485696\')\n ).tag(\'159899349256073216\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":334,\"y\":653,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"159899349256073216\",\"type\":\"classifier\",\"x\":714,\"y\":719,\"properties\":{\"text\":\"分类器\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"gpt-4o-mini\",\"temperature\":0.7}},\"categories\":[{\"category\":\"用户问的问题是关于编程的\",\"next\":\"159899421356158976\"},{\"category\":\"用户问的问题是关于食谱的\",\"next\":\"159899641326432256\"},{\"category\":\"其他问题\",\"next\":\"159900616165302272\"}],\"else\":{\"next\":\"160202618435485696\"}},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"type\":\"number\"},{\"field\":\"content\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":224,\"width\":332}},{\"id\":\"159899421356158976\",\"type\":\"end\",\"x\":1144,\"y\":566,\"properties\":{\"text\":\"结束1\",\"options\":{\"outputText\":true,\"outputContent\":\"分类:{{分类索引}}\\n-------\\n{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"nodeId\":\"159899349256073216\"},{\"field\":\"content\",\"name\":\"回复内容\",\"nodeId\":\"159899349256073216\"}],\"height\":136,\"width\":332}},{\"id\":\"159899641326432256\",\"type\":\"end\",\"x\":1144,\"y\":715,\"properties\":{\"text\":\"结束2\",\"options\":{\"outputText\":true,\"outputContent\":\"分类:{{分类索引}}\\n-------\\n{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"nodeId\":\"159899349256073216\"},{\"field\":\"content\",\"name\":\"回复内容\",\"nodeId\":\"159899349256073216\"}],\"height\":136,\"width\":332}},{\"id\":\"159900616165302272\",\"type\":\"end\",\"x\":1144,\"y\":864,\"properties\":{\"text\":\"结束3\",\"options\":{\"outputText\":true,\"outputContent\":\"分类:{{分类索引}}\\n-------\\n{{回复内容}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"nodeId\":\"159899349256073216\"},{\"field\":\"content\",\"name\":\"回复内容\",\"nodeId\":\"159899349256073216\"}],\"height\":136,\"width\":332}},{\"id\":\"160202618435485696\",\"type\":\"end\",\"x\":1146,\"y\":1001,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"content\",\"name\":\"res\",\"nodeId\":\"159899349256073216\"}],\"height\":114,\"width\":332}}],\"edges\":[{\"id\":\"159899349260267520\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"159899349256073216\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"159899349256073216_input\",\"pointsList\":[{\"x\":500,\"y\":638},{\"x\":600,\"y\":638},{\"x\":448,\"y\":638},{\"x\":548,\"y\":638}]},{\"id\":\"159899421356158977\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"159899421356158976\",\"sourceAnchorId\":\"159899349256073216_case_1\",\"targetAnchorId\":\"159899421356158976_input\",\"pointsList\":[{\"x\":880,\"y\":672},{\"x\":980,\"y\":672},{\"x\":878,\"y\":529},{\"x\":978,\"y\":529}]},{\"id\":\"159899706925346816\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"159899641326432256\",\"sourceAnchorId\":\"159899349256073216_case_2\",\"targetAnchorId\":\"159899641326432256_input\",\"pointsList\":[{\"x\":880,\"y\":716},{\"x\":980,\"y\":716},{\"x\":878,\"y\":678},{\"x\":978,\"y\":678}]},{\"id\":\"159900640542597120\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"159900616165302272\",\"sourceAnchorId\":\"159899349256073216_case_3\",\"targetAnchorId\":\"159900616165302272_input\",\"pointsList\":[{\"x\":880,\"y\":760},{\"x\":980,\"y\":760},{\"x\":878,\"y\":827},{\"x\":978,\"y\":827}]},{\"id\":\"177966745116012544\",\"type\":\"base-edge\",\"sourceNodeId\":\"159899349256073216\",\"targetNodeId\":\"160202618435485696\",\"sourceAnchorId\":\"159899349256073216_case_else\",\"targetAnchorId\":\"160202618435485696_input\",\"pointsList\":[{\"x\":880,\"y\":804},{\"x\":980,\"y\":804},{\"x\":880,\"y\":975},{\"x\":980,\"y\":975}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"},{\"field\":\"content\",\"name\":\"res\",\"nodeId\":\"159899349256073216\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"内容\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1897212806596395009', 'jeecg', '2025-03-05 17:09:16', 'admin', '2025-11-27 17:39:56', 'A04', NULL, 'jeecg', '示例_Jeecg产品助手流程', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'160312505863614464\')).to(\n THEN(\n knowledge.tag(\'160312352087846912\'),\n llm.tag(\'160312692635971584\'),\n end.tag(\'160312258504536064\')\n ).tag(\"160312352087846912\"),\n end.tag(\'162075194587365376\'),\n THEN(\n knowledge.tag(\'257078850004389888\'),\n llm.tag(\'160311787014434816\'),\n end.tag(\'160312258504536064\')\n ).tag(\"257078850004389888\")\n ).tag(\'160312505863614464\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":32.04347826086956,\"y\":-57.34782608695656,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"160311787014434816\",\"type\":\"llm\",\"x\":1018.1304347826085,\"y\":-392.304347826087,\"properties\":{\"text\":\"JeecgLLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"data\",\"name\":\"doc\",\"nodeId\":\"160311730106118144\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":158,\"width\":332}},{\"id\":\"160312258504536064\",\"type\":\"end\",\"x\":1370.695652173913,\"y\":-273.21739130434787,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{jeecgResult}}{{jmResult}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"jeecgResult\",\"nodeId\":\"160311787014434816\"},{\"field\":\"text\",\"name\":\"jmResult\",\"nodeId\":\"160312692635971584\"}],\"height\":136,\"width\":332}},{\"id\":\"160312352087846912\",\"type\":\"knowledge\",\"x\":619.1739130434784,\"y\":-128.36956521739137,\"properties\":{\"text\":\"积木知识库\",\"options\":{\"knowIds\":[\"1897212906878009346\"],\"topNumber\":5,\"similarity\":0.7},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"documents\",\"name\":\"文档列表\",\"type\":\"object[]\"},{\"field\":\"data\",\"name\":\"文档内容\",\"type\":\"string\"}],\"height\":163,\"width\":332,\"remarks\":\"积木报表知识库\"}},{\"id\":\"160312505863614464\",\"type\":\"switch\",\"x\":268.82608695652175,\"y\":-251.95652173913044,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"OR\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"jeecg\"},{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"JeecgBoot\"}],\"next\":\"257078850004389888\"},{\"logic\":\"OR\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"jimu\"},{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"积木\"},{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"CONTAINS\",\"value\":\"报表\"}],\"next\":\"160312352087846912\"}],\"else\":{\"next\":\"162075194587365376\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":144,\"width\":332}},{\"id\":\"160312692635971584\",\"type\":\"llm\",\"x\":1013.478260869565,\"y\":-190.78260869565224,\"properties\":{\"text\":\"JmLLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"data\",\"name\":\"doc\",\"nodeId\":\"160312352087846912\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":158,\"width\":332}},{\"id\":\"162075194587365376\",\"type\":\"end\",\"x\":599.8260869565215,\"y\":71.91304347826087,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"我不知道这个问题怎么回答呦。\"},\"inputParams\":[],\"outputParams\":[],\"height\":114,\"width\":332}},{\"id\":\"257078850004389888\",\"type\":\"knowledge\",\"x\":602.8260869565217,\"y\":-441.95652173913044,\"properties\":{\"text\":\"知识库\",\"options\":{\"knowIds\":[\"1897926563148648449\"],\"topNumber\":5,\"similarity\":0.7},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"documents\",\"name\":\"文档列表\",\"type\":\"object[]\"},{\"field\":\"data\",\"name\":\"文档内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"160312258508730368\",\"type\":\"base-edge\",\"sourceNodeId\":\"160311787014434816\",\"targetNodeId\":\"160312258504536064\",\"sourceAnchorId\":\"160311787014434816_output\",\"targetAnchorId\":\"160312258504536064_input\",\"pointsList\":[{\"x\":1184.1304347826085,\"y\":-440.304347826087},{\"x\":1284.1304347826085,\"y\":-440.304347826087},{\"x\":1104.695652173913,\"y\":-310.21739130434787},{\"x\":1204.695652173913,\"y\":-310.21739130434787}]},{\"id\":\"160312505863614465\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160312505863614464\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160312505863614464_input\",\"pointsList\":[{\"x\":198.04347826086956,\"y\":-72.34782608695656},{\"x\":298.04347826086956,\"y\":-72.34782608695656},{\"x\":2.826086956521749,\"y\":-292.95652173913044},{\"x\":102.82608695652175,\"y\":-292.95652173913044}]},{\"id\":\"160312567750569984\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312505863614464\",\"targetNodeId\":\"160312352087846912\",\"sourceAnchorId\":\"160312505863614464_case_2\",\"targetAnchorId\":\"160312352087846912_input\",\"pointsList\":[{\"x\":434.82608695652175,\"y\":-232.95652173913044},{\"x\":534.8260869565217,\"y\":-232.95652173913044},{\"x\":353.17391304347836,\"y\":-178.86956521739137},{\"x\":453.17391304347836,\"y\":-178.86956521739137}]},{\"id\":\"160312692635971585\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312352087846912\",\"targetNodeId\":\"160312692635971584\",\"sourceAnchorId\":\"160312352087846912_output\",\"targetAnchorId\":\"160312692635971584_input\",\"pointsList\":[{\"x\":785.1739130434784,\"y\":-178.86956521739137},{\"x\":885.1739130434784,\"y\":-178.86956521739137},{\"x\":747.478260869565,\"y\":-238.78260869565224},{\"x\":847.478260869565,\"y\":-238.78260869565224}]},{\"id\":\"160312712797990912\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312692635971584\",\"targetNodeId\":\"160312258504536064\",\"sourceAnchorId\":\"160312692635971584_output\",\"targetAnchorId\":\"160312258504536064_input\",\"pointsList\":[{\"x\":1179.478260869565,\"y\":-238.78260869565224},{\"x\":1279.478260869565,\"y\":-238.78260869565224},{\"x\":1104.695652173913,\"y\":-310.21739130434787},{\"x\":1204.695652173913,\"y\":-310.21739130434787}]},{\"id\":\"162116168161726464\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312505863614464\",\"targetNodeId\":\"162075194587365376\",\"sourceAnchorId\":\"160312505863614464_source_else\",\"targetAnchorId\":\"162075194587365376_input\",\"pointsList\":[{\"x\":434.82608695652175,\"y\":-206.95652173913044},{\"x\":534.8260869565217,\"y\":-206.95652173913044},{\"x\":333.8260869565215,\"y\":45.913043478260875},{\"x\":433.8260869565215,\"y\":45.913043478260875}]},{\"id\":\"257078850008584192\",\"type\":\"base-edge\",\"sourceNodeId\":\"160312505863614464\",\"targetNodeId\":\"257078850004389888\",\"sourceAnchorId\":\"160312505863614464_source_if\",\"targetAnchorId\":\"257078850004389888_input\",\"pointsList\":[{\"x\":434.82608695652175,\"y\":-258.95652173913044},{\"x\":534.8260869565217,\"y\":-258.95652173913044},{\"x\":336.82608695652175,\"y\":-478.95652173913044},{\"x\":436.82608695652175,\"y\":-478.95652173913044}]},{\"id\":\"257078872452304896\",\"type\":\"base-edge\",\"sourceNodeId\":\"257078850004389888\",\"targetNodeId\":\"160311787014434816\",\"sourceAnchorId\":\"257078850004389888_output\",\"targetAnchorId\":\"160311787014434816_input\",\"pointsList\":[{\"x\":768.8260869565217,\"y\":-478.95652173913044},{\"x\":868.8260869565217,\"y\":-478.95652173913044},{\"x\":752.1304347826085,\"y\":-440.304347826087},{\"x\":852.1304347826085,\"y\":-440.304347826087}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1897482706871164929', 'jeecg', '2025-03-06 11:01:45', 'jeecg', '2025-04-24 12:27:58', 'A04', NULL, 'jeecg', '示例_脚本组件', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n code_160582647542648832.tag(\'code_160582647542648832\'),\n end.tag(\'160583273626406912\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":455,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"question\",\"name\":\"内容2\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"code_160582647542648832\",\"type\":\"code\",\"x\":786,\"y\":488,\"properties\":{\"text\":\"脚本执行\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main(params) {\\n return {\\n result: params.arg1 + \'_拼接_\' + params.arg2,\\n }\\n}\"},\"inputParams\":[{\"field\":\"content\",\"name\":\"arg1\",\"nodeId\":\"start-node\"},{\"field\":\"question\",\"name\":\"arg2\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"160583273626406912\",\"type\":\"end\",\"x\":1272,\"y\":466,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"code_160582647542648832\"}],\"height\":114,\"width\":332}}],\"edges\":[{\"id\":\"160582647546843136\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"code_160582647542648832\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"code_160582647542648832_input\",\"pointsList\":[{\"x\":466,\"y\":440},{\"x\":566,\"y\":440},{\"x\":520,\"y\":440},{\"x\":620,\"y\":440}]},{\"id\":\"160583273626406913\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_160582647542648832\",\"targetNodeId\":\"160583273626406912\",\"sourceAnchorId\":\"code_160582647542648832_output\",\"targetAnchorId\":\"160583273626406912_input\",\"pointsList\":[{\"x\":952,\"y\":440},{\"x\":1052,\"y\":440},{\"x\":1006,\"y\":440},{\"x\":1106,\"y\":440}]}]}', 'enable', '{\"outputs\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"code_160582647542648832\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"内容\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1897496956167577601', 'jeecg', '2025-03-06 11:58:23', 'jeecg', '2025-05-20 10:16:28', 'A04', NULL, 'jeecg', '示例_java增强', NULL, NULL, 'THEN(\n start.tag(\'start-node\'),\n enhanceJava.tag(\'160591592557232128\'),\n end.tag(\'160595080985034752\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":456,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"question\",\"name\":\"问题1\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"问题2\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"160591592557232128\",\"type\":\"enhanceJava\",\"x\":786,\"y\":499,\"properties\":{\"text\":\"Java增强\",\"options\":{\"enhance\":{\"type\":\"spring\",\"path\":\"testAiragEnhance\"}},\"inputParams\":[{\"field\":\"question\",\"name\":\"arg1\",\"nodeId\":\"start-node\"},{\"field\":\"question\",\"name\":\"arg2\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"160595080985034752\",\"type\":\"end\",\"x\":1272,\"y\":477,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"160591592557232128\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"160591592565620736\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160591592557232128\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160591592557232128_input\",\"pointsList\":[{\"x\":466,\"y\":441},{\"x\":566,\"y\":441},{\"x\":520,\"y\":440},{\"x\":620,\"y\":440}]},{\"id\":\"160595080989229056\",\"type\":\"base-edge\",\"sourceNodeId\":\"160591592557232128\",\"targetNodeId\":\"160595080985034752\",\"sourceAnchorId\":\"160591592557232128_output\",\"targetAnchorId\":\"160595080985034752_input\",\"pointsList\":[{\"x\":952,\"y\":440},{\"x\":1052,\"y\":440},{\"x\":1006,\"y\":440},{\"x\":1106,\"y\":440}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"question\",\"name\":\"问题1\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":true,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"问题2\",\"required\":true,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1897528240805830658', 'jeecg', '2025-03-06 14:02:42', 'admin', '2025-03-21 17:26:44', 'A04', NULL, 'jeecg', '示例_子流程', NULL, 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/任务流程设计选择_1742437659702.png', 'THEN(\n start.tag(\'start-node\'),\n subflow.tag(\'160621029847842816\'),\n end.tag(\'160628486900924416\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":334,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"160621029847842816\",\"type\":\"subflow\",\"x\":784,\"y\":334,\"properties\":{\"text\":\"子流程\",\"options\":{\"subflowId\":\"1897955542184693762\"},\"inputParams\":[{\"name\":\"question\",\"nameText\":\"用户问题\",\"field\":\"\",\"nodeId\":\"\"},{\"name\":\"content\",\"nameText\":\"用户问题\",\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"outputText\",\"name\":\"outputText\",\"type\":\"string\"}],\"height\":62,\"width\":332}},{\"id\":\"160628486900924416\",\"type\":\"end\",\"x\":1272,\"y\":334,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"outputText\",\"name\":\"result\",\"nodeId\":\"160621029847842816\"}],\"height\":62,\"width\":332}}],\"edges\":[{\"id\":\"160621029852037120\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160621029847842816\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160621029847842816_input\",\"pointsList\":[{\"x\":466,\"y\":334},{\"x\":566,\"y\":334},{\"x\":518,\"y\":334},{\"x\":618,\"y\":334}]},{\"id\":\"160628486905118720\",\"type\":\"base-edge\",\"sourceNodeId\":\"160621029847842816\",\"targetNodeId\":\"160628486900924416\",\"sourceAnchorId\":\"160621029847842816_output\",\"targetAnchorId\":\"160628486900924416_input\",\"pointsList\":[{\"x\":950,\"y\":334},{\"x\":1050,\"y\":334},{\"x\":1006,\"y\":334},{\"x\":1106,\"y\":334}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"name\":\"result\",\"nodeId\":\"160621029847842816\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"内容\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1897552224058400770', 'jeecg', '2025-03-06 15:38:00', 'admin', '2025-06-25 23:35:33', 'A04', NULL, 'jeecg', '示例_全部脚本', '示例:脚本节点', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/1流程设计_1742437645575.png', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'160650416019521536\'),\n WHEN(\n code_160652991133433856.tag(\'code_160652991133433856\'),\n code_166081977564753920.tag(\'code_166081977564753920\'),\n code_167835393352683520.tag(\'code_167835393352683520\')\n ).tag(\"code_160652991133433856\"),\n end.tag(\'160656278891560960\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":418,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"160650416019521536\",\"type\":\"llm\",\"x\":693,\"y\":462,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":null,\"topP\":0.9,\"presencePenalty\":0.1,\"frequencyPenalty\":0.1}},\"history\":4,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色\\n你是一位严厉的长辈,面对用户的问题,要以一种带着隐隐批评,暗示问题简单、用户还有很多需要学习的态度来回复。通过大模型模拟李白来对话,回答用户提出的各种问题。\\n\\n\\n## 技能\\n### 技能 1: 回答问题\\n1. 当用户提出问题时,先简要评价问题较为简单,然后给出回答。\\n2. 回答完问题后,适当提及用户还需要加强学习、增长见识等内容。\\n\\n\\n## 限制:\\n- 回复内容必须逻辑清晰、语言通顺,符合严厉长辈的角色设定。 \\n\\n\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"code_160652991133433856\",\"type\":\"code\",\"x\":1135,\"y\":179,\"properties\":{\"text\":\"js\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main(params) {\\n if(params.llmRes){\\n let resLength = params.llmRes.length\\n params.llmRes = params.llmRes + \'\\\\n字数:\'+resLength\\n }\\n return {\\n result: params.llmRes,\\n }\\n}\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"160650416019521536\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"160656278891560960\",\"type\":\"end\",\"x\":1653,\"y\":449,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"js:{{res}}\\ngroovy:{{res1}}\\nkotlin:{{res2}}\\npython:{{res3}}\\naviator:{{res4}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"res\",\"nodeId\":\"code_160652991133433856\"},{\"field\":\"result\",\"name\":\"res1\",\"nodeId\":\"code_166081977564753920\"},{\"field\":\"result\",\"name\":\"res2\",\"nodeId\":\"code_166090618376253440\"},{\"field\":\"result\",\"name\":\"res3\",\"nodeId\":\"code_167828303175372800\"},{\"field\":\"result\",\"name\":\"res4\",\"nodeId\":\"code_167835393352683520\"}],\"height\":136,\"width\":332}},{\"id\":\"code_166081977564753920\",\"type\":\"code\",\"x\":1140,\"y\":413,\"properties\":{\"text\":\"groovy\",\"options\":{\"codeType\":\"groovy\",\"code\":\"def main(params) {\\n if (params.llmRes) {\\n def resLength = params.llmRes.length()\\n params.llmRes += \\\"\\\\n字数:\\\" + resLength\\n }\\n return [result: params.llmRes]\\n}\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"160650416019521536\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"code_167835393352683520\",\"type\":\"code\",\"x\":1141,\"y\":667,\"properties\":{\"text\":\"aviator\",\"options\":{\"codeType\":\"aviator\",\"code\":\"let llmRes = params.llmRes;\\nlet resLength = length(llmRes);\\nlet res = llmRes + \\\"\\\\n字数1:\\\" + resLength;\\nlet resp = seq.map(\\\"result\\\",res);\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"160650416019521536\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\"}],\"height\":158,\"width\":332}}],\"edges\":[{\"id\":\"160650416019521537\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"160650416019521536\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"160650416019521536_input\",\"pointsList\":[{\"x\":466,\"y\":403},{\"x\":566,\"y\":403},{\"x\":427,\"y\":403},{\"x\":527,\"y\":403}]},{\"id\":\"160652991137628160\",\"type\":\"base-edge\",\"sourceNodeId\":\"160650416019521536\",\"targetNodeId\":\"code_160652991133433856\",\"sourceAnchorId\":\"160650416019521536_output\",\"targetAnchorId\":\"code_160652991133433856_input\",\"pointsList\":[{\"x\":859,\"y\":403},{\"x\":959,\"y\":403},{\"x\":869,\"y\":131},{\"x\":969,\"y\":131}]},{\"id\":\"160656278899949568\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_160652991133433856\",\"targetNodeId\":\"160656278891560960\",\"sourceAnchorId\":\"code_160652991133433856_output\",\"targetAnchorId\":\"160656278891560960_input\",\"pointsList\":[{\"x\":1301,\"y\":131},{\"x\":1401,\"y\":131},{\"x\":1387,\"y\":412},{\"x\":1487,\"y\":412}]},{\"id\":\"166082001409372160\",\"type\":\"base-edge\",\"sourceNodeId\":\"160650416019521536\",\"targetNodeId\":\"code_166081977564753920\",\"sourceAnchorId\":\"160650416019521536_output\",\"targetAnchorId\":\"code_166081977564753920_input\",\"pointsList\":[{\"x\":859,\"y\":403},{\"x\":959,\"y\":403},{\"x\":874,\"y\":365},{\"x\":974,\"y\":365}]},{\"id\":\"166082017557442560\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_166081977564753920\",\"targetNodeId\":\"160656278891560960\",\"sourceAnchorId\":\"code_166081977564753920_output\",\"targetAnchorId\":\"160656278891560960_input\",\"pointsList\":[{\"x\":1306,\"y\":365},{\"x\":1406,\"y\":365},{\"x\":1387,\"y\":412},{\"x\":1487,\"y\":412}]},{\"id\":\"167835393356877824\",\"type\":\"base-edge\",\"sourceNodeId\":\"160650416019521536\",\"targetNodeId\":\"code_167835393352683520\",\"sourceAnchorId\":\"160650416019521536_output\",\"targetAnchorId\":\"code_167835393352683520_input\",\"pointsList\":[{\"x\":859,\"y\":403},{\"x\":959,\"y\":403},{\"x\":875,\"y\":619},{\"x\":975,\"y\":619}]},{\"id\":\"167836988980817920\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_167835393352683520\",\"targetNodeId\":\"160656278891560960\",\"sourceAnchorId\":\"code_167835393352683520_output\",\"targetAnchorId\":\"160656278891560960_input\",\"pointsList\":[{\"x\":1307,\"y\":619},{\"x\":1407,\"y\":619},{\"x\":1387,\"y\":412},{\"x\":1487,\"y\":412}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1900021198960492546', 'jeecg', '2025-03-13 11:08:49', 'admin', '2025-11-27 16:49:13', 'A04', NULL, 'jeecg', '示例_回复节点', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/流程设计引擎_1742383594151.png', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'163122102386216960\'),\n reply.tag(\'163119312863678464\'),\n llm.tag(\'163122766768164864\'),\n end.tag(\'163119405809455104\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":232,\"y\":273,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"163119312863678464\",\"type\":\"reply\",\"x\":800,\"y\":225,\"properties\":{\"text\":\"直接回复\",\"options\":{\"content\":\"{{content}}\"},\"inputParams\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"163122102386216960\"}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"163119405809455104\",\"type\":\"end\",\"x\":1548,\"y\":254,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{resp}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"resp\",\"nodeId\":\"163122766768164864\"}],\"height\":62,\"width\":332}},{\"id\":\"163122102386216960\",\"type\":\"llm\",\"x\":551,\"y\":553,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"根据用户的问题,以有趣的方式回答,如果可以的话请引用故事或经典说明。\\n\\n用中文回复。\\n\\n字数控制在200以内。\"},{\"role\":\"user\",\"content\":\"{{content}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"163122766768164864\",\"type\":\"llm\",\"x\":1144,\"y\":412,\"properties\":{\"text\":\"nextQue\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"根据用户的问题和ai的回复,猜测用户下一次的问题可能有哪些,markdown格式回复。\\n格式:\\n\\\\n你可能还想知道:\\n* 问题一\\n* 问题二\\n。。。。\"},{\"role\":\"user\",\"content\":\"用户问题:{{que}}\\nAI回复:{{res}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"que\",\"nodeId\":\"start-node\"},{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"163122102386216960\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"163122102390411264\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"163122102386216960\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"163122102386216960_input\",\"pointsList\":[{\"x\":398,\"y\":273},{\"x\":498,\"y\":273},{\"x\":285,\"y\":516},{\"x\":385,\"y\":516}]},{\"id\":\"163122147491762176\",\"type\":\"base-edge\",\"sourceNodeId\":\"163122102386216960\",\"targetNodeId\":\"163119312863678464\",\"sourceAnchorId\":\"163122102386216960_output\",\"targetAnchorId\":\"163119312863678464_input\",\"pointsList\":[{\"x\":717,\"y\":516},{\"x\":817,\"y\":516},{\"x\":534,\"y\":225},{\"x\":634,\"y\":225}]},{\"id\":\"163122766772359168\",\"type\":\"base-edge\",\"sourceNodeId\":\"163119312863678464\",\"targetNodeId\":\"163122766768164864\",\"sourceAnchorId\":\"163119312863678464_output\",\"targetAnchorId\":\"163122766768164864_input\",\"pointsList\":[{\"x\":966,\"y\":225},{\"x\":1066,\"y\":225},{\"x\":878,\"y\":375},{\"x\":978,\"y\":375}]},{\"id\":\"163123226145116160\",\"type\":\"base-edge\",\"sourceNodeId\":\"163122766768164864\",\"targetNodeId\":\"163119405809455104\",\"sourceAnchorId\":\"163122766768164864_output\",\"targetAnchorId\":\"163119405809455104_input\",\"pointsList\":[{\"x\":1310,\"y\":375},{\"x\":1410,\"y\":375},{\"x\":1282,\"y\":254},{\"x\":1382,\"y\":254}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1900029596154232833', 'jeecg', '2025-03-13 11:42:11', 'admin', '2025-11-27 16:49:22', 'A04', NULL, 'jeecg', '示例_Http节点', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/流程设计(1)_1742383583093.png', 'THEN(\n start.tag(\'start-node\'),\n http.tag(\'163206941950185472\'),\n SWITCH(switch.tag(\'163207852529389568\')).to(\n THEN(\n http.tag(\'163128964742746112\'),\n SWITCH(switch.tag(\'168299837777608704\')).to(\n end.tag(\'163129833764786176\'),\n end.tag(\'168300140241453056\')\n ).tag(\'168299837777608704\')\n ).tag(\"163128964742746112\"),\n end.tag(\'163208186282741760\')\n ).tag(\'163207852529389568\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":51.13043478260868,\"y\":342.804347826087,\"properties\":{\"text\":\"开始\",\"remarks\":\"大萨达撒\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":89,\"width\":332}},{\"id\":\"163128964742746112\",\"type\":\"http\",\"x\":859.0869565217391,\"y\":192.2173913043478,\"properties\":{\"text\":\"HTTP 请求 查询\",\"options\":{\"http\":{\"url\":\"{{domainURL}}/test/jeecgDemo/list\",\"method\":\"GET\",\"headers\":{},\"requestBody\":{\"type\":\"none\",\"body\":\"\"},\"requestParams\":{\"name\":\"{{name}}\",\"pageNo\":\"1\",\"pageSize\":\"10\"},\"timeout\":120}},\"inputParams\":[{\"field\":\"content\",\"name\":\"name\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"body\",\"name\":\"输出\",\"type\":\"string\",\"required\":false},{\"field\":\"statusCode\",\"name\":\"状态码\",\"type\":\"number\"},{\"field\":\"body.success\",\"name\":\"是否成功\",\"type\":\"string\",\"required\":false},{\"field\":\"body.result.records[0].id\",\"name\":\"id\",\"type\":\"string\",\"required\":false}],\"height\":62,\"width\":332}},{\"id\":\"163129833764786176\",\"type\":\"end\",\"x\":1386.5217391304348,\"y\":164.08695652173913,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"新增的用户Id:{{id}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"body.result.records[0].id\",\"name\":\"id\",\"nodeId\":\"163128964742746112\"}],\"height\":62,\"width\":332}},{\"id\":\"163206941950185472\",\"type\":\"http\",\"x\":320.1304347826087,\"y\":474.2173913043478,\"properties\":{\"text\":\"HTTP 请求\",\"options\":{\"http\":{\"url\":\"{{domainURL}}/test/jeecgDemo/add\",\"method\":\"POST\",\"headers\":{},\"requestBody\":{\"type\":\"json\",\"body\":\"{\\n  \\\"name\\\": \\\"{{name}}\\\",\\n  \\\"keyWord\\\": \\\"example\\\",\\n  \\\"punchTime\\\": \\\"2023-10-05 14:48:00\\\",\\n  \\\"salaryMoney\\\": 1000.00,\\n  \\\"bonusMoney\\\": 500.0,\\n  \\\"sex\\\": \\\"1\\\",\\n  \\\"age\\\": 30,\\n  \\\"birthday\\\": \\\"2023-10-05\\\",\\n  \\\"email\\\": \\\"john.doe@example.com\\\",\\n  \\\"content\\\": \\\"This is a test content.\\\",\\n}\"},\"requestParams\":{},\"timeout\":120}},\"inputParams\":[{\"field\":\"content\",\"name\":\"name\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"statusCode\",\"name\":\"code\",\"type\":\"string\",\"required\":false},{\"field\":\"body\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":62,\"width\":332}},{\"id\":\"163207852529389568\",\"type\":\"switch\",\"x\":510.78260869565224,\"y\":302.73913043478257,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"163206941950185472\",\"field\":\"statusCode\",\"operator\":\"EQUALS\",\"value\":\"200\"}],\"next\":\"163128964742746112\"}],\"else\":{\"next\":\"163208186282741760\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"163208186282741760\",\"type\":\"end\",\"x\":745.7826086956521,\"y\":448.0869565217391,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"添加数据失败\"},\"inputParams\":[],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"168299837777608704\",\"type\":\"switch\",\"x\":1029.173913043478,\"y\":314.78260869565213,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"163128964742746112\",\"field\":\"body.success\",\"operator\":\"EQUALS\",\"value\":\"true\"}],\"next\":\"163129833764786176\"}],\"else\":{\"next\":\"168300140241453056\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"168300140241453056\",\"type\":\"end\",\"x\":1389.2608695652173,\"y\":419.8695652173913,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"添加用户失败\"},\"inputParams\":[],\"outputParams\":[],\"height\":62,\"width\":332}}],\"edges\":[{\"id\":\"163206941954379776\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"163206941950185472\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"163206941950185472_input\",\"pointsList\":[{\"x\":217.1304347826091,\"y\":329.304347826087},{\"x\":317.1304347826091,\"y\":329.304347826087},{\"x\":54.13043478260869,\"y\":474.2173913043478},{\"x\":154.1304347826087,\"y\":474.2173913043478}]},{\"id\":\"163207852533583872\",\"type\":\"base-edge\",\"sourceNodeId\":\"163206941950185472\",\"targetNodeId\":\"163207852529389568\",\"sourceAnchorId\":\"163206941950185472_output\",\"targetAnchorId\":\"163207852529389568_input\",\"pointsList\":[{\"x\":486.13043478260863,\"y\":474.2173913043478},{\"x\":586.1304347826085,\"y\":474.2173913043478},{\"x\":244.78260869565224,\"y\":274.73913043478257},{\"x\":344.78260869565224,\"y\":274.73913043478257}]},{\"id\":\"163208000881922048\",\"type\":\"base-edge\",\"sourceNodeId\":\"163207852529389568\",\"targetNodeId\":\"163128964742746112\",\"sourceAnchorId\":\"163207852529389568_source_if\",\"targetAnchorId\":\"163128964742746112_input\",\"pointsList\":[{\"x\":676.7826086956521,\"y\":308.73913043478257},{\"x\":776.7826086956521,\"y\":308.73913043478257},{\"x\":593.0869565217391,\"y\":192.2173913043478},{\"x\":693.0869565217391,\"y\":192.2173913043478}]},{\"id\":\"163208186286936064\",\"type\":\"base-edge\",\"sourceNodeId\":\"163207852529389568\",\"targetNodeId\":\"163208186282741760\",\"sourceAnchorId\":\"163207852529389568_source_else\",\"targetAnchorId\":\"163208186282741760_input\",\"pointsList\":[{\"x\":676.7826086956521,\"y\":334.73913043478257},{\"x\":776.7826086956521,\"y\":334.73913043478257},{\"x\":479.78260869565213,\"y\":448.0869565217391},{\"x\":579.7826086956521,\"y\":448.0869565217391}]},{\"id\":\"168299837781803008\",\"type\":\"base-edge\",\"sourceNodeId\":\"163128964742746112\",\"targetNodeId\":\"168299837777608704\",\"sourceAnchorId\":\"163128964742746112_output\",\"targetAnchorId\":\"168299837777608704_input\",\"pointsList\":[{\"x\":1025.086956521739,\"y\":192.2173913043478},{\"x\":1125.0869565217386,\"y\":192.2173913043478},{\"x\":763.173913043478,\"y\":286.78260869565213},{\"x\":863.173913043478,\"y\":286.78260869565213}]},{\"id\":\"168300025623707648\",\"type\":\"base-edge\",\"sourceNodeId\":\"168299837777608704\",\"targetNodeId\":\"163129833764786176\",\"sourceAnchorId\":\"168299837777608704_source_if\",\"targetAnchorId\":\"163129833764786176_input\",\"pointsList\":[{\"x\":1195.1739130434776,\"y\":320.78260869565213},{\"x\":1295.1739130434776,\"y\":320.78260869565213},{\"x\":1120.5217391304348,\"y\":164.08695652173913},{\"x\":1220.5217391304348,\"y\":164.08695652173913}]},{\"id\":\"168300140245647360\",\"type\":\"base-edge\",\"sourceNodeId\":\"168299837777608704\",\"targetNodeId\":\"168300140241453056\",\"sourceAnchorId\":\"168299837777608704_source_else\",\"targetAnchorId\":\"168300140241453056_input\",\"pointsList\":[{\"x\":1195.1739130434776,\"y\":346.78260869565213},{\"x\":1295.1739130434776,\"y\":346.78260869565213},{\"x\":1123.2608695652173,\"y\":419.8695652173913},{\"x\":1223.2608695652173,\"y\":419.8695652173913}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1902263524520935425', 'jeecg', '2025-03-19 15:39:01', 'admin', '2025-11-27 16:52:31', 'A04', NULL, 'jeecg', 'AI看图说话', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/工具-图片解析_1743065064801.png', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'165363942517174272\'),\n llm.tag(\'168280528419778560\'),\n end.tag(\'165364368465522688\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":457,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"165363942517174272\",\"type\":\"llm\",\"x\":675,\"y\":341,\"properties\":{\"text\":\"图片解读\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个图像分析专家,负责解读和解释用户发送的图片。请根据以下要求进行分析:\\n\\n## 目标:\\n分析并解释图片的意义,提供详细的解读和背景信息。\\n\\n## 技能:\\n1. 视觉识别能力:能够识别图像中的元素及其关系。\\n2. 上下文理解能力:结合文化、历史、艺术等背景知识进行深度解读。\\n3. 清晰表达能力:用简洁明了的语言传达分析结果。\\n\\n## 工作流:\\n1. 识别图片中的主要元素,描述它们的外观和特征。\\n2. 分析这些元素之间的关系及其在整体构图中的作用。\\n3. 提供与图片相关的背景信息,探讨其潜在意义和影响。\\n\\n## 输出格式:\\n- 图片元素描述\\n- 元素关系分析\\n- 背景信息与意义解释\\n\\n## 限制:\\n- 不提供主观判断,仅基于客观分析进行解释。\\n- 不涉及任何隐私或敏感内容的讨论。\"},{\"role\":\"user\",\"content\":\"分析并解释图片的意义,提供详细的解读和背景信息。\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"que\",\"nodeId\":\"start-node\"},{\"field\":\"images\",\"name\":\"images\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"165364368465522688\",\"type\":\"end\",\"x\":1520,\"y\":426,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{resp}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"resp\",\"nodeId\":\"168280528419778560\"}],\"height\":62,\"width\":332}},{\"id\":\"168280528419778560\",\"type\":\"llm\",\"x\":1063,\"y\":588,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你将扮演一个故事创作者,以下是关于这个角色的详细设定,请根据这些信息来构建你的回答。\\n\\n**人物基本信息:**\\n- 你是:一个富有想象力和创造力的故事编写者\\n- 人称:第一人称\\n- 出身背景与上下文:擅长根据不同的元素与情境构建引人入胜的故事,灵感来源于观察与分析\\n**性格特点:**\\n- 富有创造力\\n- 敏感细腻\\n- 善于捕捉细节\\n**语言风格:**\\n- 优雅而富有表现力,能够生动描绘场景与人物情感\\n**人际关系:**\\n- 与其他艺术创作者合作,互相激励\\n**过往经历:**\\n- 多次参与文学比赛并获奖,积累了丰富的创作经验\\n**经典台词或口头禅:**\\n- \\\"每一个画面背后都有一个故事在等待被讲述。\\\"\\n- \\\"细节决定成败。\\\"\\n\\n要求: \\n- 故事应围绕从图片分析得出的主题和情感进行展开。\\n- 包含鲜明的人物、情节以及转折。\\n- 语言生动形象,能够引起读者的共鸣。\\n- 直接讲故事,不要提及图片。\"},{\"role\":\"user\",\"content\":\"{{readImg}}\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"readImg\",\"nodeId\":\"165363942517174272\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}}],\"edges\":[{\"id\":\"165363942525562880\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"165363942517174272\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"165363942517174272_input\",\"pointsList\":[{\"x\":466,\"y\":457},{\"x\":566,\"y\":457},{\"x\":409,\"y\":304},{\"x\":509,\"y\":304}]},{\"id\":\"168280528428167168\",\"type\":\"base-edge\",\"sourceNodeId\":\"165363942517174272\",\"targetNodeId\":\"168280528419778560\",\"sourceAnchorId\":\"165363942517174272_output\",\"targetAnchorId\":\"168280528419778560_input\",\"pointsList\":[{\"x\":841,\"y\":304},{\"x\":941,\"y\":304},{\"x\":797,\"y\":551},{\"x\":897,\"y\":551}]},{\"id\":\"168280631234752512\",\"type\":\"base-edge\",\"sourceNodeId\":\"168280528419778560\",\"targetNodeId\":\"165364368465522688\",\"sourceAnchorId\":\"168280528419778560_output\",\"targetAnchorId\":\"165364368465522688_input\",\"pointsList\":[{\"x\":1229,\"y\":551},{\"x\":1329,\"y\":551},{\"x\":1254,\"y\":426},{\"x\":1354,\"y\":426}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1904779811574784002', 'jeecg', '2025-03-26 14:17:51', 'admin', '2025-11-27 16:45:18', 'A04', NULL, 'jeecg', '示例_OCR', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/1dataOCR_1743065089791.png', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'167880707187527680\')).to(\n end.tag(\'167880856269869056\'),\n THEN(\n code_167881149430747136.tag(\'code_167881149430747136\'),\n llm.tag(\'167881839356006400\'),\n end.tag(\'167880661561888768\')\n ).tag(\"code_167881149430747136\")\n ).tag(\'167880707187527680\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":420,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"height\":90,\"width\":332}},{\"id\":\"167880661561888768\",\"type\":\"end\",\"x\":1474,\"y\":341,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\",\"outputType\":\"default\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"data\",\"nodeId\":\"167881839356006400\"}],\"height\":112,\"width\":332}},{\"id\":\"167880707187527680\",\"type\":\"switch\",\"x\":681,\"y\":232,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"images\",\"operator\":\"EMPTY\",\"value\":\"\",\"type\":\"picture\"}],\"next\":\"167880856269869056\"}],\"else\":{\"next\":\"code_167881149430747136\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":116,\"width\":332}},{\"id\":\"167880856269869056\",\"type\":\"end\",\"x\":1207,\"y\":206,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{\\n    \\\"message\\\": \\\"请提供图片\\\"\\n  }\",\"outputType\":\"text\"},\"inputParams\":[],\"outputParams\":[],\"height\":112,\"width\":332}},{\"id\":\"code_167881149430747136\",\"type\":\"code\",\"x\":937,\"y\":458,\"properties\":{\"text\":\"脚本执行\",\"options\":{\"codeType\":\"groovy\",\"code\":\"def main(Map params) {\\n def newQuestion = params.question\\n if (!params.question) {\\n newQuestion = \\\"从图片中提取文字\\\"\\n }\\n return [result: newQuestion]\\n}\\n\"},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\"}],\"height\":156,\"width\":332}},{\"id\":\"167881839356006400\",\"type\":\"llm\",\"x\":1318,\"y\":605,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:OCR工具\\n作为一个智能OCR工具,你的主要职责是从图片中提取文字并将其输出为结构化数据。\\n## 目标:\\n1. 精确识别和提取图片中的文字信息。\\n2. 将提取的文字转换为结构化数据格式。\\n## 技能:\\n1. 高效的图像处理能力。\\n2. 精确的文字识别算法。\\n3. 数据格式化与输出能力。\\n## 工作流:\\n1. 输入图片,进行预处理(如去噪、二值化)。\\n2. 应用OCR算法识别图片中的文字,并记录识别结果。\\n3. 将识别的文字整理成结构化数据格式,如JSON或CSV。\\n## 输出格式:必须严格遵循以下JSON格式,不得添加任何额外字段或自由文本。\\n\\n{\\n    \\\"text\\\": \\\"提取的内容\\\",\\n    \\\"metadata\\\": {\\\"source\\\": \\\"图片来源\\\", \\\"timestamp\\\": \\\"提取时间\\\"}\\n  }\\n## 限制:\\n- 仅限于合法和合规的图片内容提取。\\n- 不得保存用户上传的图片数据。\\n- 需确保输出的数据准确无误,标注所有数据来源。\\n- 输出必须严格符合上述格式,字段名和层级结构不得随意更改。\"},{\"role\":\"user\",\"content\":\"{{question}}\"}],\"showToolExecution\":false},\"inputParams\":[{\"field\":\"images\",\"name\":\"images\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"picture\"},{\"field\":\"result\",\"name\":\"question\",\"nodeId\":\"code_167881149430747136\",\"customValue\":\"\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":178,\"width\":332}}],\"edges\":[{\"id\":\"167880707195916288\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"167880707187527680\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"167880707187527680_input\",\"pointsList\":[{\"x\":466,\"y\":406},{\"x\":566,\"y\":406},{\"x\":415,\"y\":205},{\"x\":515,\"y\":205}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"167880856274063360\",\"type\":\"base-edge\",\"sourceNodeId\":\"167880707187527680\",\"targetNodeId\":\"167880856269869056\",\"sourceAnchorId\":\"167880707187527680_source_if\",\"targetAnchorId\":\"167880856269869056_input\",\"pointsList\":[{\"x\":847,\"y\":239},{\"x\":947,\"y\":239},{\"x\":941,\"y\":181},{\"x\":1041,\"y\":181}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"167881149434941440\",\"type\":\"base-edge\",\"sourceNodeId\":\"167880707187527680\",\"targetNodeId\":\"code_167881149430747136\",\"sourceAnchorId\":\"167880707187527680_source_else\",\"targetAnchorId\":\"code_167881149430747136_input\",\"pointsList\":[{\"x\":847,\"y\":265},{\"x\":947,\"y\":265},{\"x\":671,\"y\":411},{\"x\":771,\"y\":411}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"167881839356006401\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_167881149430747136\",\"targetNodeId\":\"167881839356006400\",\"sourceAnchorId\":\"code_167881149430747136_output\",\"targetAnchorId\":\"167881839356006400_input\",\"pointsList\":[{\"x\":1103,\"y\":411},{\"x\":1203,\"y\":411},{\"x\":1052,\"y\":547},{\"x\":1152,\"y\":547}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"167882293611712512\",\"type\":\"base-edge\",\"sourceNodeId\":\"167881839356006400\",\"targetNodeId\":\"167880661561888768\",\"sourceAnchorId\":\"167881839356006400_output\",\"targetAnchorId\":\"167880661561888768_input\",\"pointsList\":[{\"x\":1484,\"y\":547},{\"x\":1584,\"y\":547},{\"x\":1208,\"y\":316},{\"x\":1308,\"y\":316}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"field\":\"text\",\"name\":\"data\",\"nodeId\":\"167881839356006400\"},{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1905158829855784962', 'jeecg', '2025-03-27 15:23:56', 'jeecg', '2025-03-27 16:29:22', 'A04', NULL, 'jeecg', '示例_翻译', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/翻译_1743060940605.png', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'168262809717821440\')).to(\n end.tag(\'168259683329757184\'),\n THEN(\n SWITCH(classifier.tag(\'168263048935755776\')).to(\n llm.tag(\'168263321821368320\'),\n llm.tag(\'168263346282549248\')\n ).tag(\'168263048935755776\'),\n end.tag(\'168263794896916480\')\n ).tag(\"168263048935755776\")\n ).tag(\'168262809717821440\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":457,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":62,\"width\":332}},{\"id\":\"168259683329757184\",\"type\":\"end\",\"x\":1090,\"y\":150,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"content\",\"name\":\"data\",\"nodeId\":\"start-node\"}],\"height\":62,\"width\":332}},{\"id\":\"168262809717821440\",\"type\":\"switch\",\"x\":701,\"y\":281,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"EMPTY\",\"value\":\"\"}],\"next\":\"168259683329757184\"}],\"else\":{\"next\":\"168263048935755776\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":118,\"width\":332}},{\"id\":\"168263048935755776\",\"type\":\"classifier\",\"x\":1086,\"y\":381,\"properties\":{\"text\":\"分类器\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.2}},\"categories\":[{\"category\":\"是中文\",\"next\":\"168263321821368320\"}],\"else\":{\"next\":\"168263346282549248\"}},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"type\":\"number\"},{\"field\":\"content\",\"name\":\"分类内容\",\"type\":\"string\"}],\"height\":118,\"width\":332}},{\"id\":\"168263321821368320\",\"type\":\"llm\",\"x\":1513,\"y\":292,\"properties\":{\"text\":\"翻译成英文\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.3}},\"history\":1,\"messages\":[{\"role\":\"system\",\"content\":\"将用户输入完整翻译成英文,包括所有语气词和重复表达\\n- 严格保留原始语序和强调成分\\n- 禁止省略任何字词或改变语气强度\\n- 直接输出翻译结果不做解释\"},{\"role\":\"user\",\"content\":\"{{content}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"168263346282549248\",\"type\":\"llm\",\"x\":1514,\"y\":489,\"properties\":{\"text\":\"翻译成中文\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.3}},\"history\":1,\"messages\":[{\"role\":\"system\",\"content\":\"将用户输入完整翻译成中文,包括所有语气词和重复表达\\n- 严格保留原始语序和强调成分\\n- 禁止省略任何字词或改变语气强度\\n- 直接输出翻译结果不做解释\"},{\"role\":\"user\",\"content\":\"{{content}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":136,\"width\":332}},{\"id\":\"168263794896916480\",\"type\":\"end\",\"x\":1982,\"y\":360,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{dataC}}{{dataE}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"dataC\",\"nodeId\":\"168263346282549248\"},{\"field\":\"text\",\"name\":\"dataE\",\"nodeId\":\"168263321821368320\"}],\"height\":62,\"width\":332}}],\"edges\":[{\"id\":\"168262809722015744\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"168262809717821440\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"168262809717821440_input\",\"pointsList\":[{\"x\":466,\"y\":457},{\"x\":566,\"y\":457},{\"x\":435,\"y\":253},{\"x\":535,\"y\":253}]},{\"id\":\"168262871336341504\",\"type\":\"base-edge\",\"sourceNodeId\":\"168262809717821440\",\"targetNodeId\":\"168259683329757184\",\"sourceAnchorId\":\"168262809717821440_source_if\",\"targetAnchorId\":\"168259683329757184_input\",\"pointsList\":[{\"x\":867,\"y\":287},{\"x\":967,\"y\":287},{\"x\":824,\"y\":150},{\"x\":924,\"y\":150}]},{\"id\":\"168263048939950080\",\"type\":\"base-edge\",\"sourceNodeId\":\"168262809717821440\",\"targetNodeId\":\"168263048935755776\",\"sourceAnchorId\":\"168262809717821440_source_else\",\"targetAnchorId\":\"168263048935755776_input\",\"pointsList\":[{\"x\":867,\"y\":313},{\"x\":967,\"y\":313},{\"x\":820,\"y\":353},{\"x\":920,\"y\":353}]},{\"id\":\"168263321825562624\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263048935755776\",\"targetNodeId\":\"168263321821368320\",\"sourceAnchorId\":\"168263048935755776_case_1\",\"targetAnchorId\":\"168263321821368320_input\",\"pointsList\":[{\"x\":1252,\"y\":387},{\"x\":1352,\"y\":387},{\"x\":1247,\"y\":255},{\"x\":1347,\"y\":255}]},{\"id\":\"168263346286743552\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263048935755776\",\"targetNodeId\":\"168263346282549248\",\"sourceAnchorId\":\"168263048935755776_case_else\",\"targetAnchorId\":\"168263346282549248_input\",\"pointsList\":[{\"x\":1252,\"y\":413},{\"x\":1352,\"y\":413},{\"x\":1248,\"y\":452},{\"x\":1348,\"y\":452}]},{\"id\":\"168263794901110784\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263346282549248\",\"targetNodeId\":\"168263794896916480\",\"sourceAnchorId\":\"168263346282549248_output\",\"targetAnchorId\":\"168263794896916480_input\",\"pointsList\":[{\"x\":1680,\"y\":452},{\"x\":1780,\"y\":452},{\"x\":1716,\"y\":360},{\"x\":1816,\"y\":360}]},{\"id\":\"168263831215394816\",\"type\":\"base-edge\",\"sourceNodeId\":\"168263321821368320\",\"targetNodeId\":\"168263794896916480\",\"sourceAnchorId\":\"168263321821368320_output\",\"targetAnchorId\":\"168263794896916480_input\",\"pointsList\":[{\"x\":1679,\"y\":255},{\"x\":1779,\"y\":255},{\"x\":1716,\"y\":360},{\"x\":1816,\"y\":360}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"},{\"field\":\"content\",\"name\":\"data\",\"nodeId\":\"start-node\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1905189468558671874', 'jeecg', '2025-03-27 17:25:41', 'admin', '2025-11-27 16:48:47', 'A04', NULL, 'jeecg', 'PMP考试宝典', '', 'https://jeecgdev.oss-cn-beijing.aliyuncs.com/temp/pmp_1743067580648.png', 'THEN(\n start.tag(\'start-node\'),\n WHEN(\n knowledge.tag(\'168290518600351744\'),\n llm.tag(\'168290871702028288\')\n ).tag(\"168290518600351744\"),\n llm.tag(\'168290861241434112\'),\n end.tag(\'168290315671535616\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":397,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"168290315671535616\",\"type\":\"end\",\"x\":1644,\"y\":348,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"168290861241434112\"}],\"height\":92,\"width\":332}},{\"id\":\"168290518600351744\",\"type\":\"knowledge\",\"x\":693,\"y\":209,\"properties\":{\"text\":\"知识库\",\"options\":{\"knowIds\":[\"1905186756806918146\"],\"topNumber\":5,\"similarity\":0.7},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"documents\",\"name\":\"文档列表\",\"type\":\"object[]\"},{\"field\":\"data\",\"name\":\"文档内容\",\"type\":\"string\"}],\"height\":92,\"width\":332}},{\"id\":\"168290861241434112\",\"type\":\"llm\",\"x\":1181,\"y\":350,\"properties\":{\"text\":\"总结LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.4}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个智能知识助手,旨在综合知识库和大型语言模型(LLM)的返回数据,以高效、准确地回答用户提出的问题。请遵循以下要求:\\n\\n## 目标:\\n- 提供准确、相关且易于理解的回答,结合知识库和LLM的信息。\\n\\n## 技能:\\n1. 能够快速检索并整合来自不同知识库的信息。\\n2. 理解用户问题的上下文,并提供清晰的答案。\\n3. 具备自然语言处理能力,以便流畅表达复杂信息。\\n\\n## 工作流:\\n1. 接收用户问题并进行解析,识别关键要素。\\n2. 从综合知识库和LLM中获取相关数据,确保信息的准确性和完整性。\\n3. 将获取的信息进行整合,形成清晰、简洁的回答。\\n\\n## 输出格式:\\n- 每次回答应以简洁明了的句子呈现,必要时可以添加示例或补充信息。\\n\\n## 限制:\\n- 不得提供未经验证的信息或个人隐私数据。\\n- 所有数据需标注来源,不确定信息用[需核实]标记。\\n- 自动过滤涉及偏见或违法内容,替换为[合规表达]。\"},{\"role\":\"user\",\"content\":\"知识库返回数据:{{knowRes}}\\n\\nLLM返回数据:{{llmRes}}\\n用户问题:{{userQue}}\"}]},\"inputParams\":[{\"field\":\"data\",\"name\":\"knowRes\",\"nodeId\":\"168290518600351744\"},{\"field\":\"text\",\"name\":\"llmRes\",\"nodeId\":\"168290871702028288\"},{\"field\":\"content\",\"name\":\"userQue\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":166,\"width\":332}},{\"id\":\"168290871702028288\",\"type\":\"llm\",\"x\":692,\"y\":521,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:PMP知识专家\\nPMP知识专家致力于项目管理知识的传播与应用,帮助项目经理提升技能和管理能力。\\n\\n## 目标:\\n1. 为项目管理提供权威的知识支持。\\n2. 帮助项目经理解决在项目管理中遇到的实际问题。\\n\\n## 技能:\\n1. 精通项目管理的各项理论和工具。\\n2. 熟悉PMP认证流程及考试内容。\\n3. 能够进行项目风险评估与管理。\\n\\n## 工作流:\\n1. 评估项目经理的需求与挑战,识别关键问题。\\n2. 提供相关的项目管理知识、工具和最佳实践建议。\\n3. 指导项目经理制定和实施有效的项目管理计划。\\n\\n## 输出格式:\\n- 提供清晰的建议与解决方案,使用简洁明了的语言,适合项目经理理解和应用。\\n\\n## 限制:\\n- 所有建议需基于现有的PMP知识体系,避免个人主观意见。\\n- 不得提供未经验证的信息或数据,所有数据需标注来源,需核实的信息用[需核实]标记。\"},{\"role\":\"user\",\"content\":\"{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":166,\"width\":332}}],\"edges\":[{\"id\":\"168290518604546048\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"168290518600351744\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"168290518600351744_input\",\"pointsList\":[{\"x\":466,\"y\":382},{\"x\":566,\"y\":382},{\"x\":427,\"y\":194},{\"x\":527,\"y\":194}]},{\"id\":\"168290861245628416\",\"type\":\"base-edge\",\"sourceNodeId\":\"168290518600351744\",\"targetNodeId\":\"168290861241434112\",\"sourceAnchorId\":\"168290518600351744_output\",\"targetAnchorId\":\"168290861241434112_input\",\"pointsList\":[{\"x\":859,\"y\":194},{\"x\":959,\"y\":194},{\"x\":915,\"y\":298},{\"x\":1015,\"y\":298}]},{\"id\":\"168290871706222592\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"168290871702028288\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"168290871702028288_input\",\"pointsList\":[{\"x\":466,\"y\":382},{\"x\":566,\"y\":382},{\"x\":426,\"y\":469},{\"x\":526,\"y\":469}]},{\"id\":\"168291272883011584\",\"type\":\"base-edge\",\"sourceNodeId\":\"168290871702028288\",\"targetNodeId\":\"168290861241434112\",\"sourceAnchorId\":\"168290871702028288_output\",\"targetAnchorId\":\"168290861241434112_input\",\"pointsList\":[{\"x\":858,\"y\":469},{\"x\":958,\"y\":469},{\"x\":915,\"y\":298},{\"x\":1015,\"y\":298}]},{\"id\":\"168292930635530240\",\"type\":\"base-edge\",\"sourceNodeId\":\"168290861241434112\",\"targetNodeId\":\"168290315671535616\",\"sourceAnchorId\":\"168290861241434112_output\",\"targetAnchorId\":\"168290315671535616_input\",\"pointsList\":[{\"x\":1347,\"y\":298},{\"x\":1447,\"y\":298},{\"x\":1378,\"y\":333},{\"x\":1478,\"y\":333}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1909856345692065793', 'jeecg', '2025-04-09 14:30:11', 'admin', '2025-11-27 16:48:39', 'A04', NULL, 'jeecg', '积木报表AI引擎', '', '', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'173365501230346240\')).to(\n THEN(\n llm.tag(\'172956395755208704\'),\n end.tag(\'172957153284259840\')\n ).tag(\"172956395755208704\"),\n THEN(\n llm.tag(\'173365800833675264\'),\n end.tag(\'173366253646540800\')\n ).tag(\"173365800833675264\"),\n end.tag(\'173366439085109248\'),\n THEN(\n llm.tag(\'175149164433014784\'),\n end.tag(\'175153953988444160\')\n ).tag(\"175149164433014784\"),\n THEN(\n llm.tag(\'175505963485245440\'),\n end.tag(\'175506006644633600\')\n ).tag(\"175505963485245440\"),\n THEN(\n llm.tag(\'175807569594040320\'),\n end.tag(\'175808663015538688\')\n ).tag(\"175807569594040320\"),\n THEN(\n llm.tag(\'221504502491222016\'),\n end.tag(\'221512800426758144\')\n ).tag(\"221504502491222016\"),\n THEN(\n llm.tag(\'223992240450801664\'),\n end.tag(\'223993058876952576\')\n ).tag(\"223992240450801664\")\n ).tag(\'173365501230346240\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":262,\"y\":458,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"ddl\",\"name\":\"表结构\",\"type\":\"string\",\"required\":true},{\"field\":\"dbtype\",\"name\":\"数据库类型\",\"type\":\"string\",\"required\":true},{\"field\":\"bizType\",\"name\":\"业务类型\",\"type\":\"string\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"172956395755208704\",\"type\":\"llm\",\"x\":1166,\"y\":160,\"properties\":{\"text\":\"生成sql\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:SQL生成助手\\n你是一个专业的SQL语句生成工具,能够根据用户提供的描述和表结构自动生成高效的SQL查询语句。\\n\\n## 目标:\\n- 根据用户的描述生成准确的SQL查询语句。\\n\\n## 技能:\\n1. 理解用户提供的需求和表结构。\\n2. 自动构建符合SQL语法的查询语句。\\n3. 优化生成的SQL以提高执行效率。\\n\\n## 工作流:\\n1. 接收用户描述和表结构信息。\\n2. 分析用户需求,确定所需的SQL操作类型(如查询、插入、更新、删除)。\\n3. 根据分析结果生成相应的SQL语句。\\n\\n## 输出格式:\\n- 生成的SQL语句应为标准格式,如:SELECT * FROM table_name ;\\n- 将输出的SQL语句格式化\\n- 只输出sql语句,不要额外解释,不要md语法,不要换行符,不要有sql注释。\\n\\n## 限制:\\n\\n- 除非明确说明,否则不要生成查询条件\\n- 确保生成的SQL语句符合数据库的语法要求,确保sql能直接执行。\\n- 确保字段和表能正确对应。\"},{\"role\":\"user\",\"content\":\"表结构:\\n{{ddl}}\\n---------\\n数据库类型:\\n{{dbtype}}\\n----------\\n需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"},{\"field\":\"dbtype\",\"name\":\"dbtype\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"172957153284259840\",\"type\":\"end\",\"x\":1643,\"y\":129,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"sql\",\"nodeId\":\"172956395755208704\"}],\"height\":114,\"width\":332}},{\"id\":\"173365501230346240\",\"type\":\"switch\",\"x\":688,\"y\":575,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genSql\"}],\"next\":\"172956395755208704\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genJsonRows\"}],\"next\":\"173365800833675264\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"chooseTables\"}],\"next\":\"175149164433014784\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genChart\"}],\"next\":\"175505963485245440\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"intentCheck\"}],\"next\":\"175807569594040320\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"designReport\"}],\"next\":\"221504502491222016\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"bizType\",\"operator\":\"EQUALS\",\"value\":\"genPrompt\"}],\"next\":\"223992240450801664\"}],\"else\":{\"next\":\"173366439085109248\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"height\":274,\"width\":332}},{\"id\":\"173365800833675264\",\"type\":\"llm\",\"x\":1167,\"y\":368,\"properties\":{\"text\":\"生成rows\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个 **“在线报表 JSON 生成器”**,能够理解用户描述及数据集,并生成符合规范的 **合法 JSON**。  \\n\\n\\n---\\n\\n\\n## 工作流程\\n\\n\\n### 步骤一:数据集选择  \\n1. 读取用户提供的数据集结构。  \\n2. 根据需求从中选定一个数据集。  \\n3. 后续只能使用选定数据集的字段。  \\n\\n\\n### 步骤二:报表设计  \\n根据用户需求与数据集,输出报表的结构信息:  \\n- 行号、列号(从0开始)  \\n- 单元格内容(文字或数据集占位符)  \\n- 单元格样式(引用样式索引)  \\n- 合并单元格信息  \\n\\n\\n### 步骤三:生成报表 JSON  \\n使用步骤二的描述生成完整 JSON。  \\n\\n\\n---\\n\\n\\n## 输出要求\\n1. **输出必须是合法 JSON**,能直接 `JSON.parse()`。  \\n2. 必须包含以下部分:  \\n   - `\\\"styles\\\"`:样式数组,每种样式单独定义,在单元格中用索引引用。  \\n   - `\\\"merges\\\"`:合并单元格范围(如 `\\\"D3:E4\\\"`)。  \\n   - `\\\"rows\\\"`:行数据,每行包含 `cells`,每个 `cell` 可有:  \\n     - `\\\"text\\\"`:文字或占位符(`${}` 对象,`#{}` 集合)  \\n     - `\\\"style\\\"`:引用 `styles` 索引  \\n     - `\\\"merge\\\"`:合并范围 `[纵向合并格数, 横向合并格数]`  \\n     - `\\\"height\\\"`:行高  \\n   - `\\\"cols\\\"`:列宽配置  \\n\\n\\n---\\n\\n\\n## 样式规则\\n- 样式在 `\\\"styles\\\"` 中定义:  \\n  - `font`:字体\\n    - `bold`: 是否加粗(如:`true`)\\n    - `italic`: 是否斜体(如:`true`)\\n    - `size`: 字体大小单位pt,默认10\\n  - `underline`: 下划线(如:`true`)\\n  - `strike`: 删除线(如:`true`)\\n  - `color`(字体颜色)  \\n  - `bgcolor`(背景色)  \\n  - `align`(left/center/right)  \\n  - `valign`(top/middle/bottom)  \\n  - `textwrap`(自动换行)  \\n  - `border`\\n    - `top`:上边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `bottom`:下边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `left`:左边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `right`:右边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n\\n\\n---\\n\\n\\n## 数据集规则\\n示例:\\n```json\\n{\\n  \\\"code\\\": \\\"a\\\",\\n  \\\"title\\\": \\\"a\\\",\\n  \\\"isList\\\": \\\"1\\\",\\n  \\\"children\\\": [\\n    { \\\"title\\\": \\\"total_sales\\\", \\\"fieldText\\\": \\\"总销量\\\" },\\n    { \\\"title\\\": \\\"total_returns\\\", \\\"fieldText\\\": \\\"总退货数量\\\" }\\n  ]\\n}\\n```\\n- `code`:数据集变量名  \\n- `isList = 1`:集合  \\n- `isList = 0`:对象  \\n- `children`:字段,含 `title`(字段名)、`fieldText`(展示名)  \\n\\n\\n---\\n\\n\\n## 行列与填充规则\\n- 行号、列号从0开始。  \\n- `\\\"cols\\\"` 设置列宽。  \\n- **集合 (`isList=1`)**:  \\n  - 一行字段标题(children.fieldText)  \\n  - 下一行字段占位符(`#{code.title}`)  \\n- **对象 (`isList=0`)**:  \\n  - 每字段占两列:左列为标题,右列为占位符 `${code.title}`  \\n  - 可按组横向排列  \\n\\n\\n---\\n\\n\\n## 合并规则\\n- `\\\"merge\\\": [纵向合并格数, 横向合并格数]`  \\n  - 纵向合并格数与横向合并格数是不包含当前单元格的数量(如 纵向合并格数 等于1 就是向下合并一行;横向合并格数同理)\\n- 被合并覆盖的单元格无需再定义  \\n\\n\\n---\\n\\n\\n## 特别说明\\n- JSON 必须 **纯净**:无注释、无 markdown、无省略号。  \\n- 用户指定的样式不能改动,可在此基础上做美化。\\n- 除非用户明确要求,默认都对生成的报表做基础美化(如增加边框、设置字体、设置背景色)\\n- 用户描述的行列序号需 **减一** 转换为下标。  \\n- 仅生成一份报表 JSON。  \\n\\n\\n---\\n\\n\\n## 示例\\n```json\\n{\\n  \\\"styles\\\": [\\n    { \\\"font\\\": { \\\"bold\\\": true } },\\n    { \\\"color\\\": \\\"#ff0000\\\" }\\n  ],\\n  \\\"rows\\\": {\\n    \\\"0\\\": {\\n      \\\"cells\\\": {\\n        \\\"0\\\": { \\\"text\\\": \\\"加粗文字\\\", \\\"style\\\": 0 },\\n        \\\"1\\\": { \\\"text\\\": \\\"红色文字\\\", \\\"style\\\": 1 },\\n        \\\"2\\\": { \\\"text\\\": \\\"${dbKey.dbField}\\\", \\\"style\\\": 1 }\\n      }\\n    }\\n  },\\n  \\\"cols\\\": {\\n    \\\"1\\\": { \\\"width\\\": 100 }\\n  },\\n  \\\"merges\\\": [\\\"A1:B1\\\"]\\n}\\n```\\n\\n\"},{\"role\":\"user\",\"content\":\"用户数据集:\\n{{ddl}}\\n用户需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"173366253646540800\",\"type\":\"end\",\"x\":1643,\"y\":336,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"designJson\",\"nodeId\":\"173365800833675264\"}],\"height\":114,\"width\":332}},{\"id\":\"173366439085109248\",\"type\":\"end\",\"x\":1166,\"y\":1662,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"error:选择正确的业务类型\"},\"inputParams\":[],\"outputParams\":[],\"height\":114,\"width\":332}},{\"id\":\"175149164433014784\",\"type\":\"llm\",\"x\":1164,\"y\":598,\"properties\":{\"text\":\"选择表\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":2,\"messages\":[{\"role\":\"system\",\"content\":\"## 任务\\n根据用户需求,从下方数据库表列表中选择所有关联的表名称。\\n\\n\\n## 数据库表列表(格式:表名 | 注释)\\n{{ddl}}\\n\\n## 输出规则\\n1. 严格按JSON数组格式输出,例如:[\\\"order\\\"]。\\n2. 仅包含表名称,无需注释。\\n3. **禁止添加列表外的表**。\\n4. 表的选择范围可以适当大一些。\\n4. 无业务相关性时输出空数组:[]\\n\\n\\n请回复纯JSON,不要包含其他内容。\"},{\"role\":\"user\",\"content\":\"用户需求:{{question}}\"}]},\"inputParams\":[{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"},{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"175153953988444160\",\"type\":\"end\",\"x\":1643,\"y\":564,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"tables\",\"nodeId\":\"175149164433014784\"}],\"height\":114,\"width\":332}},{\"id\":\"175505963485245440\",\"type\":\"llm\",\"x\":1166,\"y\":802,\"properties\":{\"text\":\"生成图表\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"根据以下数据以及用户需求生成符合格式要求的图表数据。\\n\\n\\n## 工作流程:\\n\\n\\n1. 根据用户需求选择一个合适的数据集\\n2. 根据数据集和需求,从图表列表中选择一个合适的图标类型。\\n3. 组装最终输出的json\\n\\n\\n⸻\\n## 可选的图表如下(标识|描述):\\n\\n\\n- 1维图表\\n - bar.simple|普通柱形图\\n - bar.background|带背景柱形图\\n - bar.horizontal|横向柱形图\\n - line.simple|普通折线图\\n - line.area|面积堆积折线图\\n - line.smooth|平滑曲线折线图\\n - line.step|阶梯折线图\\n - pie.simple|普通饼图\\n - pie.doughnut|环状饼图\\n - pie.rose|南丁格尔玫瑰饼图\\n - scatter.simple|普通散点图\\n - funnel.simple|普通漏斗图\\n - funnel.pyramid|金字塔漏斗图\\n - pictorial.spirits|普通象形图\\n - map.scatter|点地图\\n - gauge.simple|360°仪表盘\\n - gauge.simple180|180°仪表盘\\n- 2维\\n - bar.multi|多数据对比柱形图\\n - bar.negative|正负条形图\\n - bar.stack|堆叠柱形图\\n - bar.stack.horizontal|堆叠条形图\\n - bar.multi.horizontal|多数据条形柱状图\\n - line.multi|多数据对比折线图\\n - mixed.linebar|普通折柱图\\n - scatter.bubble|气泡散点图\\n - radar.basic|普通雷达图\\n - radar.custom|圆形雷达图\\n⸻\\n## 数据集格式说明:\\n```\\n{\\n \\\"dbId\\\": \\\"1069915169263800320\\\",\\n \\\"code\\\": \\\"a\\\",\\n \\\"title\\\": \\\"a\\\",\\n \\\"isList\\\": \\\"1\\\",\\n \\\"type\\\": \\\"0\\\",\\n \\\"children\\\": [\\n {\\n \\\"title\\\": \\\"total_sales\\\",\\n \\\"fieldText\\\": \\\"total_sales\\\"\\n },\\n {\\n \\\"title\\\": \\\"total_returns\\\",\\n \\\"fieldText\\\": \\\"total_returns\\\"\\n }\\n ]\\n}\\n```\\n* code:数据集变量名\\n* isList:为”1”表示集合,“0”表示对象\\n* children:为字段列表,包含title(字段名)和fieldText(展示名)\\n* type:0|sql,1|api,2|code,3|json\\n⸻\\n## 输出json格式\\n{\\n \\\"dataType\\\": \\\"sql\\\",\\n \\\"apiStatus\\\": \\\"0\\\",\\n \\\"apiUrl\\\": \\\"\\\",\\n \\\"dataId\\\": \\\"1069898455939633152\\\",\\n \\\"axisX\\\": \\\"supplier_name\\\",\\n \\\"axisY\\\": \\\"total_returns\\\",\\n \\\"series\\\": \\\"material_name\\\",\\n \\\"yText\\\": \\\"total_returns\\\",\\n \\\"xText\\\": \\\"supplier_name\\\",\\n \\\"dbCode\\\": \\\"a\\\",\\n \\\"isCustomPropName\\\": false,\\n \\\"chartType\\\": \\\"line.multi\\\",\\n \\\"id\\\": \\\"0aGl4PUfbIfy8BMF\\\",\\n \\\"run\\\": 1,\\n \\\"title\\\": \\\"\\\",\\n}\\n* dataType:与数据集type对应(0|sql,1|api,2|code,3|json)\\n* dataId:对应数据集dbId\\n* dbCode:对应数据集的code\\n* axisX:分类属性,从数据集字段中取值(fieldText)\\n* axisY:值属性,从数据集字段中取值(fieldText)\\n* series: 系列,从数据集字段中取值(fieldText)\\n* xText:分类属性显示,从数据集字段中取值(title)\\n* yText:值属性显示,从数据集字段中取值(title)\\n* chartType:图表的标识\\n* title:为这个图表起一个标题\\n* isCustomPropName: 如果是api数据集,该值为true\\n* apiStatus: 如果是api数据集则等于\\\"1\\\",否则\\\"0\\\"\\n\\n\\n## 输出格式\\n* 直接返回JSON数据,不要解释,不要md语法,不要换行符,不要有注释。\\n* 确保输出的json格式正确完整。\"},{\"role\":\"user\",\"content\":\"## 用户数据集:\\n{{ddl}}\\n## 用户需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"},{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"175506006644633600\",\"type\":\"end\",\"x\":1643,\"y\":769,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"chart\",\"nodeId\":\"175505963485245440\"}],\"height\":114,\"width\":332}},{\"id\":\"175807569594040320\",\"type\":\"llm\",\"x\":1166,\"y\":1018,\"properties\":{\"text\":\"意图识别\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个“在线报表的需求分析器”,能够理解用户的需求输入,\\n\\n请根据用户需求与提供的数据集设计,综合判断应执行的工作流步骤,并为每个步骤调整需求描述,同时选择最合适的数据集。  \\n\\n\\n\\n\\n## 可选步骤(格式:标识 | 功能说明)\\n\\n- `genJsonRows` | 生成报表(可选,根据用户的需求描述和数据集设计生成合适的报表设计)\\n\\n- `genChart` | 生成图表(可选,根据用户的需求描述和数据集设计生成合适的图表数据)\\n\\n> **注意:** 至少选择一个步骤,亦可同时选择两者;图表的权重较低。\\n\\n\\n\\n\\n## 数据集格式\\n\\n```\\n\\n{\\n\\n\\\"dbId\\\": \\\"1069915169263800320\\\",\\n\\n\\\"code\\\": \\\"a\\\",\\n\\n\\\"title\\\": \\\"a\\\",\\n\\n\\\"isList\\\": \\\"1\\\",\\n\\n\\\"type\\\": \\\"0\\\",\\n\\n\\\"children\\\": [\\n\\n{\\n\\n\\\"title\\\": \\\"total_sales\\\",\\n\\n\\\"fieldText\\\": \\\"total_sales\\\"\\n\\n},\\n\\n{\\n\\n\\\"title\\\": \\\"total_returns\\\",\\n\\n\\\"fieldText\\\": \\\"total_returns\\\"\\n\\n}\\n\\n]\\n\\n}\\n\\n```\\n\\n* `code`:数据集变量名\\n\\n* `isList`:为”1”表示集合,“0”表示对象\\n\\n* `children`:为字段列表,包含title(展示名)和fieldText(字段名)\\n\\n* `type`:0|sql,1|api,2|code,3|json\\n\\n\\n\\n\\n## 输出格式\\n\\n步骤标识1|需求描述1|数据集code,步骤标识2|需求描述2|数据集code  \\n\\n* 各步骤之间用英文逗号,分隔  \\n\\n* 不得添加额外说明,不要md语法,不要换行符,不要有注释。\\n\\n\\n\\n\\n## 注意:\\n\\n- 在生成需求描述时,应确保不丢失原有需求的全部内容,只是并针对所选步骤微调。\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"## 用户数据集:\\n{{ddl}}\\n## 用户需求:\\n{{question}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"175808663015538688\",\"type\":\"end\",\"x\":1643,\"y\":985,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"intent\",\"nodeId\":\"175807569594040320\"}],\"height\":114,\"width\":332}},{\"id\":\"221504502491222016\",\"type\":\"llm\",\"x\":1166,\"y\":1237,\"properties\":{\"text\":\"生成excel设计\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你是一个“在线Excel JSON生成器”,能够理解用户描述并生成符合规范的 JSON。  \\n**严格规则**:\\n1. 只能根据描述生成 JSON。\\n2. JSON 必须合法,可被 `JSON.parse()` 正确解析。\\n3. JSON 中不可以有注释\\n\\n\\n\\n\\n---\\n\\n\\n\\n\\n## 步骤一:理解用户的描述,并生成单元格描述信息\\n   - 行号、列号\\n   - 单元格文字\\n   - 单元格样式(字体加粗、斜体、大小、颜色、背景色、水平/垂直对齐、自动换行、边框)\\n   - 合并单元格信息\\n\\n\\n\\n\\n⸻\\n\\n\\n\\n\\n## 步骤二:使用步骤一种生成的描述信息,生成完整在线Excel JSON\\n### 输出要求\\n- 输出必须是 **合法 JSON**,且能直接被 `JSON.parse()` 正确解析。  \\n- JSON 的结构必须包含以下部分:  \\n  - `\\\"styles\\\"`:样式数组,每个元素对应一种样式(如字体加粗、字体颜色、边框等),并在单元格里通过 `style` 字段引用  \\n  - `\\\"merges\\\"`:合并单元格区域(如 `\\\"D3:E4\\\"`)  \\n  - `\\\"rows\\\"`:行数据,每一行包含 `cells`,每个 `cell` 可包含:\\n    - `\\\"text\\\"`:单元格文字  \\n    - `\\\"style\\\"`:引用 `styles` 数组中的下标  \\n    - `\\\"merge\\\"`:若为合并单元格,标注合并范围 示例[1,2]:下标[0]纵向合并1格,下标[1]横向合并2格,\\n    - `\\\"height\\\"`:行高  \\n    - `\\\"width\\\"`:列宽(放在 `\\\"cols\\\"` 部分)  \\n  - `\\\"cols\\\"`:列宽配置  \\n\\n\\n\\n\\n### 样式规则\\n- 样式在 `\\\"styles\\\"` 中定义:  \\n  - `font`:字体\\n    - `bold`: 是否加粗(如:`true`)\\n    - `italic`: 是否斜体(如:`true`)\\n    - `size`: 字体大小单位pt,默认10\\n  - `underline`: 下划线(如:`true`)\\n  - `strike`: 删除线(如:`true`)\\n  - `color`(字体颜色)  \\n  - `bgcolor`(背景色)  \\n  - `align`(left/center/right)  \\n  - `valign`(top/middle/bottom)  \\n  - `textwrap`(自动换行)  \\n  - `border`\\n    - `top`:上边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `bottom`:下边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `left`:左边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n    - `right`:右边框(如 `[\\\"thin\\\",\\\"#000\\\"]`)  \\n\\n\\n\\n\\n### 行列规则\\n- `\\\"rows\\\"` 中的 key 是行号(从 0 开始)  \\n- `\\\"cells\\\"` 中的 key 是列号(从 0 开始)  \\n- 可指定 `\\\"height\\\"` 设置行高  \\n- `\\\"cols\\\"` 中的 key 是列号,值包含 `\\\"width\\\"` 设置列宽  \\n\\n\\n\\n\\n## 合并规则\\n- `\\\"merge\\\": [纵向合并格数, 横向合并格数]`  \\n  - 纵向合并格数与横向合并格数是不包含当前单元格的数量(如 纵向合并格数 等于1 就是向下合并一行;横向合并格数同理)\\n- 被合并覆盖的单元格无需再定义  \\n\\n\\n\\n\\n## 示例\\n(简化示例)\\n\\n\\n\\n\\n```json\\n{\\n  \\\"styles\\\": [\\n    { \\\"font\\\": { \\\"bold\\\": true } },\\n    { \\\"color\\\": \\\"#ff0000\\\" }\\n  ],\\n  \\\"rows\\\": {\\n    \\\"0\\\": {\\n      \\\"cells\\\": {\\n        \\\"0\\\": { \\\"text\\\": \\\"加粗文字\\\", \\\"style\\\": 0 },\\n        \\\"1\\\": { \\\"text\\\": \\\"红色文字\\\", \\\"style\\\": 1 }\\n      }\\n    }\\n  },\\n  \\\"cols\\\": {\\n    \\\"1\\\": { \\\"width\\\": 100 }\\n  },\\n  \\\"merges\\\": [\\\"A1:B1\\\"],\\n}\\n\\n\\n\\n\\n## 特别说明\\n- JSON 必须 **纯净**:无注释、无 markdown、无省略号。  \\n- 用户指定的样式不能改动,可在此基础上做美化。\\n- 除非用户明确要求,默认都对生成的报表做基础美化(如增加边框、设置字体、设置背景色)\\n- 用户描述的行列序号需 **减一** 转换为下标。  \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"理解用户需求,并按要求生成json数据。\\n用户需求如下:\\n{{question}}\\n\\n\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"221512800426758144\",\"type\":\"end\",\"x\":1643,\"y\":1201,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"designJson\",\"nodeId\":\"221504502491222016\"}],\"height\":114,\"width\":332}},{\"id\":\"223992240450801664\",\"type\":\"llm\",\"x\":1166,\"y\":1441,\"properties\":{\"text\":\"提示词生成\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 报表生成提示词优化器\\n\\n\\n## 目标\\n\\n\\n根据用户输入的需求和数据集定义,自动生成简洁、明确的用户 message。\\n系统会自动带上数据集定义,因此无需包含数据集定义内容。\\n\\n\\n## 工作流程\\n\\n\\n### 步骤一:理解需求与数据集\\n\\n\\n- 从用户的自然语言需求和数据集定义中,提取**业务方向**。\\n- 业务方向示例:\\n    - 个人简历\\n    - 项目报价\\n    - 数据统计\\n    - 财务报表\\n    - 产品清单\\n\\n\\n### 步骤二:扩展提示词\\n\\n\\n- 针对识别出的业务方向,扩展提示词,使其更贴合业务场景。\\n- 示例:\\n    如果用户需求是\\\"生成一份个人简历\\\",则扩展提示词为:\\n    \\\"请基于数据集生成个人简历模版,突出教育背景、工作经历和技能展示。\\\"\\n\\n\\n### 步骤三:生成用户 message\\n\\n\\n- 输出最终的用户 message,不包含系统提示词,不包含数据集定义。\\n- 要求:\\n    - 保留用户需求的原意。\\n    - 优化表达,使 AI 更好地理解并执行任务。\\n    - 根据业务方向,附加必要的模版说明。\\n    - 提示词结构最好包含:\\n        - 主要需求:用户的主要需求,比如:生成一个用于软件产品的报价表。\\n        - 结构要求:对于生成的内容的要求\\n        - 样式要求:对样式的整体和细节的要求,比如:整体排版美观、标题使用16号字。\\n\\n\\n#### 输出示例:\\n\\n\\n```\\n生成一个 **员工薪资报表**,要求如下:  \\n\\n\\n1. **数据内容**  \\n   - 报表需要展示以下信息:员工姓名、性别、生日、联系电话、薪资。  \\n\\n\\n2. **样式要求**  \\n   - 添加一个醒目的报表标题,字体16号。  \\n   - 标题行使用蓝色背景,并且字体加粗。  \\n   - 数据行保持清晰整齐,便于阅读。  \\n\\n\\n3. **输出要求**  \\n   - 表格内容规范,排版美观,符合员工薪资报表的格式。 \\n```\\n\\n\\n\\n\\n## 输出要求\\n\\n\\n- 最终输出为简洁明了的用户 message。\\n- 不限定关键词和字段,完全根据需求和数据集定义生成。\\n- 控制长度,不要超过500字。\\n\\n\"},{\"role\":\"user\",\"content\":\"用户需求:\\n{{question}}\\n数据集定义\\n{{ddl}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"question\",\"nodeId\":\"start-node\"},{\"field\":\"ddl\",\"name\":\"ddl\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"223993058876952576\",\"type\":\"end\",\"x\":1652,\"y\":1408,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"prompt\",\"nodeId\":\"223992240450801664\"}],\"height\":114,\"width\":332}}],\"edges\":[{\"id\":\"172957153288454144\",\"type\":\"base-edge\",\"sourceNodeId\":\"172956395755208704\",\"targetNodeId\":\"172957153284259840\",\"sourceAnchorId\":\"172956395755208704_output\",\"targetAnchorId\":\"172957153284259840_input\",\"pointsList\":[{\"x\":1332,\"y\":101},{\"x\":1432,\"y\":101},{\"x\":1377,\"y\":103},{\"x\":1477,\"y\":103}]},{\"id\":\"173365501234540544\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"173365501230346240\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"173365501230346240_input\",\"pointsList\":[{\"x\":428,\"y\":443},{\"x\":528,\"y\":443},{\"x\":422,\"y\":469},{\"x\":522,\"y\":469}]},{\"id\":\"173366253650735104\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365800833675264\",\"targetNodeId\":\"173366253646540800\",\"sourceAnchorId\":\"173365800833675264_output\",\"targetAnchorId\":\"173366253646540800_input\",\"pointsList\":[{\"x\":1333,\"y\":309},{\"x\":1433,\"y\":309},{\"x\":1377,\"y\":310},{\"x\":1477,\"y\":310}]},{\"id\":\"173372961415852032\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"172956395755208704\",\"sourceAnchorId\":\"173365501230346240_source_if\",\"targetAnchorId\":\"172956395755208704_input\",\"pointsList\":[{\"x\":854,\"y\":503},{\"x\":954,\"y\":503},{\"x\":900,\"y\":101},{\"x\":1000,\"y\":101}]},{\"id\":\"173372967073968128\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"173365800833675264\",\"sourceAnchorId\":\"173365501230346240_case_2\",\"targetAnchorId\":\"173365800833675264_input\",\"pointsList\":[{\"x\":854,\"y\":529},{\"x\":954,\"y\":529},{\"x\":901,\"y\":309},{\"x\":1001,\"y\":309}]},{\"id\":\"173372974988619776\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"173366439085109248\",\"sourceAnchorId\":\"173365501230346240_source_else\",\"targetAnchorId\":\"173366439085109248_input\",\"pointsList\":[{\"x\":854,\"y\":685},{\"x\":954,\"y\":685},{\"x\":900,\"y\":1636},{\"x\":1000,\"y\":1636}]},{\"id\":\"175149164437209088\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"175149164433014784\",\"sourceAnchorId\":\"173365501230346240_case_3\",\"targetAnchorId\":\"175149164433014784_input\",\"pointsList\":[{\"x\":854,\"y\":555},{\"x\":954,\"y\":555},{\"x\":898,\"y\":539},{\"x\":998,\"y\":539}]},{\"id\":\"175153997969915904\",\"type\":\"base-edge\",\"sourceNodeId\":\"175149164433014784\",\"targetNodeId\":\"175153953988444160\",\"sourceAnchorId\":\"175149164433014784_output\",\"targetAnchorId\":\"175153953988444160_input\",\"pointsList\":[{\"x\":1330,\"y\":539},{\"x\":1430,\"y\":539},{\"x\":1377,\"y\":538},{\"x\":1477,\"y\":538}]},{\"id\":\"175505963489439744\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"175505963485245440\",\"sourceAnchorId\":\"173365501230346240_case_4\",\"targetAnchorId\":\"175505963485245440_input\",\"pointsList\":[{\"x\":854,\"y\":581},{\"x\":954,\"y\":581},{\"x\":900,\"y\":743},{\"x\":1000,\"y\":743}]},{\"id\":\"175506006648827904\",\"type\":\"base-edge\",\"sourceNodeId\":\"175505963485245440\",\"targetNodeId\":\"175506006644633600\",\"sourceAnchorId\":\"175505963485245440_output\",\"targetAnchorId\":\"175506006644633600_input\",\"pointsList\":[{\"x\":1332,\"y\":743},{\"x\":1432,\"y\":743},{\"x\":1377,\"y\":743},{\"x\":1477,\"y\":743}]},{\"id\":\"175807569598234624\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"175807569594040320\",\"sourceAnchorId\":\"173365501230346240_case_5\",\"targetAnchorId\":\"175807569594040320_input\",\"pointsList\":[{\"x\":854,\"y\":607},{\"x\":954,\"y\":607},{\"x\":900,\"y\":959},{\"x\":1000,\"y\":959}]},{\"id\":\"175808663019732992\",\"type\":\"base-edge\",\"sourceNodeId\":\"175807569594040320\",\"targetNodeId\":\"175808663015538688\",\"sourceAnchorId\":\"175807569594040320_output\",\"targetAnchorId\":\"175808663015538688_input\",\"pointsList\":[{\"x\":1332,\"y\":959},{\"x\":1432,\"y\":959},{\"x\":1377,\"y\":959},{\"x\":1477,\"y\":959}]},{\"id\":\"221512800426758145\",\"type\":\"base-edge\",\"sourceNodeId\":\"221504502491222016\",\"targetNodeId\":\"221512800426758144\",\"sourceAnchorId\":\"221504502491222016_output\",\"targetAnchorId\":\"221512800426758144_input\",\"pointsList\":[{\"x\":1332,\"y\":1178},{\"x\":1432,\"y\":1178},{\"x\":1377,\"y\":1175},{\"x\":1477,\"y\":1175}]},{\"id\":\"221534054756093952\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"221504502491222016\",\"sourceAnchorId\":\"173365501230346240_case_6\",\"targetAnchorId\":\"221504502491222016_input\",\"pointsList\":[{\"x\":854,\"y\":633},{\"x\":954,\"y\":633},{\"x\":900,\"y\":1178},{\"x\":1000,\"y\":1178}]},{\"id\":\"223992240454995968\",\"type\":\"base-edge\",\"sourceNodeId\":\"173365501230346240\",\"targetNodeId\":\"223992240450801664\",\"sourceAnchorId\":\"173365501230346240_case_7\",\"targetAnchorId\":\"223992240450801664_input\",\"pointsList\":[{\"x\":854,\"y\":659},{\"x\":954,\"y\":659},{\"x\":900,\"y\":1382},{\"x\":1000,\"y\":1382}]},{\"id\":\"223993058881146880\",\"type\":\"base-edge\",\"sourceNodeId\":\"223992240450801664\",\"targetNodeId\":\"223993058876952576\",\"sourceAnchorId\":\"223992240450801664_output\",\"targetAnchorId\":\"223993058876952576_input\",\"pointsList\":[{\"x\":1332,\"y\":1382},{\"x\":1432,\"y\":1382},{\"x\":1386,\"y\":1382},{\"x\":1486,\"y\":1382}]}]}', 'enable', '{\"outputs\":[{\"field\":\"text\",\"name\":\"prompt\",\"nodeId\":\"223992240450801664\"},{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"ddl\",\"name\":\"表结构\",\"required\":true,\"type\":\"string\"},{\"field\":\"dbtype\",\"name\":\"数据库类型\",\"required\":true,\"type\":\"string\"},{\"field\":\"bizType\",\"name\":\"业务类型\",\"required\":true,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1917103567932604417', 'jeecg', '2025-04-29 14:28:03', 'admin', '2025-11-27 16:56:38', 'A04', NULL, 'jeecg', 'AI解析Excel数据_JAVA增强', '', '', 'THEN(\n start.tag(\'start-node\'),\n enhanceJava.tag(\'180204885804785664\'),\n llm.tag(\'180211780498169856\'),\n end.tag(\'180204420713758720\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":376,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"pageNo\",\"name\":\"页码\",\"type\":\"number\",\"required\":false},{\"field\":\"pageSize\",\"name\":\"每页数量\",\"type\":\"number\",\"required\":false},{\"field\":\"bizData\",\"name\":\"文件路径\",\"type\":\"string\",\"required\":false}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"180204420713758720\",\"type\":\"end\",\"x\":1648,\"y\":398,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{res}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"180211780498169856\"}],\"height\":136,\"width\":332}},{\"id\":\"180204885804785664\",\"type\":\"enhanceJava\",\"x\":747,\"y\":329,\"properties\":{\"text\":\"Java 增强\",\"options\":{\"enhance\":{\"type\":\"spring\",\"path\":\"jimuDataReader\"}},\"inputParams\":[{\"field\":\"bizData\",\"name\":\"bizData\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"datas\",\"name\":\"返回结果\",\"type\":\"object[]\",\"required\":false},{\"field\":\"fields\",\"name\":\"字段列表\",\"type\":\"string[]\",\"required\":false}],\"height\":158,\"width\":332}},{\"id\":\"180211780498169856\",\"type\":\"llm\",\"x\":1229,\"y\":419,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"将以下数据整理成目标格式输出\\n## 工作流程:\\n1. 读取用户的数据\\n3. 组装最终输出的json\\n⸻\\n## 数据示例:data\\n```\\n{{data}}\\n```\\n## 数据示例:fields\\n```\\n{{fields}}\\n```\\n⸻\\n## 输出json格式\\n{\\n  \\\"data\\\": [\\n    {\\n      \\\"amount\\\": \\\"100\\\",\\n      \\\"month\\\": \\\"1\\\",\\n      \\\"areaname\\\": \\\"华北\\\",\\n      \\\"year\\\": \\\"2020\\\",\\n      \\\"price\\\": \\\"5\\\",\\n      \\\"dept\\\": \\\"河北\\\",\\n      \\\"settleamount\\\": \\\"100\\\"\\n    },\\n    {\\n      \\\"amount\\\": \\\"200\\\",\\n      \\\"month\\\": \\\"2\\\",\\n      \\\"areaname\\\": \\\"华北\\\",\\n      \\\"year\\\": \\\"2020\\\",\\n      \\\"price\\\": \\\"5\\\",\\n      \\\"dept\\\": \\\"河北\\\",\\n      \\\"settleamount\\\": \\\"200\\\"\\n    },\\n  ],\\n  \\\"total\\\": 100,\\n  \\\"count\\\": 100\\n}\\n* total: 分页数,对应数据的总分页数\\n* count: 数据总数,对应数据的总数\\n\\n\\n## 输出格式\\n* 直接返回JSON数据,不要解释,不要md语法,不要换行符,不要有注释。\\n* 统一将key转换成英文,下划线分隔\\n* 确保输出的json格式正确完整。\"},{\"role\":\"user\",\"content\":\"将数据转换为目标格式\"}]},\"inputParams\":[{\"field\":\"datas\",\"name\":\"data\",\"nodeId\":\"180204885804785664\"},{\"field\":\"fields\",\"name\":\"fileds\",\"nodeId\":\"180204885804785664\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"180211805085179904\",\"type\":\"base-edge\",\"sourceNodeId\":\"180211780498169856\",\"targetNodeId\":\"180204420713758720\",\"sourceAnchorId\":\"180211780498169856_output\",\"targetAnchorId\":\"180204420713758720_input\",\"pointsList\":[{\"x\":1395,\"y\":360},{\"x\":1495,\"y\":360},{\"x\":1382,\"y\":361},{\"x\":1482,\"y\":361}]},{\"id\":\"180228761381183488\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"180204885804785664\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"180204885804785664_input\",\"pointsList\":[{\"x\":466,\"y\":361},{\"x\":566,\"y\":361},{\"x\":481,\"y\":281},{\"x\":581,\"y\":281}]},{\"id\":\"180511280701620224\",\"type\":\"base-edge\",\"sourceNodeId\":\"180204885804785664\",\"targetNodeId\":\"180211780498169856\",\"sourceAnchorId\":\"180204885804785664_output\",\"targetAnchorId\":\"180211780498169856_input\",\"pointsList\":[{\"x\":913,\"y\":281},{\"x\":1013,\"y\":281},{\"x\":963,\"y\":360},{\"x\":1063,\"y\":360}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"pageNo\",\"name\":\"页码\",\"required\":false,\"type\":\"number\"},{\"field\":\"pageSize\",\"name\":\"每页数量\",\"required\":false,\"type\":\"number\"},{\"field\":\"bizData\",\"name\":\"文件路径\",\"required\":false,\"type\":\"string\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1952634605517447170', 'admin', '2025-08-05 15:35:43', 'admin', '2026-01-23 18:30:13', 'A04', NULL, 'jeecg', 'AI生成简历', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'215734195065536512\'),\n enhanceJava.tag(\'215740280715427840\'),\n end.tag(\'215735188368998400\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":404,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{},\"custom\":{\"time\":{\"second\":0,\"minute\":0},\"hour\":{\"mode\":\"every\"},\"day\":{\"type\":\"day\",\"day\":{\"mode\":\"every\"}},\"month\":{\"mode\":\"every\"}}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"个人简介\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"profile\",\"name\":\"基础信息\",\"type\":\"string\",\"required\":true},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"215734195065536512\",\"type\":\"llm\",\"x\":746,\"y\":404,\"properties\":{\"text\":\"生成word文档\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"你必须只输出合法且可被 java中的JSON.parse() 正确解析的 JSON。\\n不要输出任何解释、注释或 JSON 以外的文字。\\nJSON 结构规则:\\n- 每个对象表示一个内容块。\\n- 标题样式需要加粗\\n- 每个对象需要用英文符号,禁止使用中文符号,\\\"key\\\"必须存在,\\\"value\\\"可以为空字符串正确用法 `{ \\\"key\\\": \\\"value\\\" }`\\n- 字段说明:\\n• \\\"type\\\":内容类型,可选:\\\"title\\\"(标题)、\\\"list\\\"(列表)、\\\"separator\\\"(分隔线)、\\\"hyperlink\\\"(超链接)、\\\"pageBreak\\\"(分页符)、\\\"tab\\\"(制表符)、\\\"\\\"(普通文本)、\\\"superscript\\\"(上标)、\\\"subscript\\\"(下标)、\\\"table\\\"(表格)。\\n• \\\"level\\\":标题层级,仅当 type 为 \\\"title\\\" 时使用,取值:\\\"first\\\" ~ \\\"sixth\\\"。\\n• \\\"value\\\":文本、图片地址、超链接等。\\n• \\\"valueList\\\":数组,用于标题、列表、超链接等,数组元素支持 \\\"value\\\" 及样式字段。\\n• \\\"listType\\\":列表类型,取值:\\\"ul\\\"(无序)、\\\"ol\\\"(有序)。\\n• \\\"listStyle\\\":列表样式,如 \\\"disc\\\"、\\\"decimal\\\"、\\\"circle\\\"、\\\"square\\\"、\\\"checkbox\\\"。\\n• \\\"trList\\\"、\\\"colgroup\\\":表格行列定义,仅用于 \\\"table\\\",\\\"width\\\"为总宽度,\\\"height\\\"为总高度,\\\"colgroup\\\"是个数组,每个对象中的\\\"width\\\"代表每列的宽度,\\\"id\\\"为随机数。\\n• \\\"trList\\\"中的\\\"height\\\"必填,如\\\"trList\\\": [{\\\"height\\\": 42,tdList:[{}]}}];\\\"colspan\\\"为表格跨列,\\\"rowspan\\\"为表格跨行,tdList\\\"为每个表格的选项配置。\\\"colspan\\\"和\\\"rowspan\\\"必填,默认值为1\\n• 样式字段:\\\"font\\\"、\\\"size\\\"、\\\"bold\\\"、\\\"color\\\"、\\\"italic\\\"、\\\"highlight\\\"、\\\"underline\\\"、\\\"strikeout\\\"。\\n• \\\"dashArray\\\":用于 \\\"separator\\\"。\\n• 其他样式字段:\\\"rowFlex\\\"(\\\"left\\\"、\\\"center\\\"、\\\"right\\\"、\\\"alignment\\\")、\\\"backgroundColor\\\"、\\\"verticalAlign\\\"、\\\"textDecoration\\\"。\\n- 当 type = \\\"title\\\" 时,\\\"value\\\" 必须以 \\\"\\\\n\\\" 结尾。\\n- 主动换行请使用 `{ \\\"type\\\": \\\"\\\", \\\"value\\\": \\\"\\\\n\\\" }`,不同对象之间不会自动换行。\\n输出必须严格是 JSON 数组,例如:\\n[{\\\"value\\\":\\\"\\\",\\\"font\\\":\\\"微软雅黑\\\",\\\"size\\\":29,\\\"bold\\\":false,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"\\\\n\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":29,\\\"bold\\\":false,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"国\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"炬\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"软\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"件\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"字\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"【\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"2\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"0\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"2\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"0\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"】\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"0\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"0\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"1\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"号\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"\\\\n\\\\n\\\",\\\"font\\\":\\\"楷体\\\",\\\"size\\\":34,\\\"bold\\\":true,\\\"color\\\":\\\"#FF0000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\"},{\\\"value\\\":\\\"\\\\n\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":29,\\\"bold\\\":true,\\\"color\\\":\\\"#000000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"关\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":29,\\\"bold\\\":true,\\\"color\\\":\\\"#000000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"于\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":29,\\\"bold\\\":true,\\\"color\\\":\\\"#000000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"印\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":29,\\\"bold\\\":true,\\\"color\\\":\\\"#000000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"发\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":29,\\\"bold\\\":true,\\\"color\\\":\\\"#000000\\\",\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"center\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"\\\\n\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"主\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"题\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"词\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\":\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":14,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"\\\\n\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"抄\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"送\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\":\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"\\\\n\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":true,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"left\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"\\\\n\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"共\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"印\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"份\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"(\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"群\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\"发\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\")\\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]},{\\\"value\\\":\\\" \\\",\\\"font\\\":\\\"仿宋\\\",\\\"size\\\":21,\\\"bold\\\":true,\\\"italic\\\":false,\\\"underline\\\":false,\\\"strikeout\\\":false,\\\"rowFlex\\\":\\\"right\\\",\\\"dashArray\\\":[]}]\\n执行步骤:\\n1. 根据用户需求生成json数据\\n2. 检查生产的json数据是否正确。如果正常,输出给用户;否则重新生成。\"},{\"role\":\"user\",\"content\":\"请根据以上字段和示例,生成一个完整的个人简历文档 JSON。\\n- 至少包含基础信息、个人优势、工作经历、项目经理、教育经历等模块。\\n- 若基础数据不足,可以适当生成参考数据。\\n- 用户信息如下:\\n基础资料:{{base}}\\n简介:{{profile}}\"}],\"showToolExecution\":false},\"inputParams\":[{\"field\":\"profile\",\"name\":\"base\",\"nodeId\":\"start-node\"},{\"field\":\"content\",\"name\":\"profile\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"215735188368998400\",\"type\":\"end\",\"x\":1716,\"y\":380,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"resp\",\"nodeId\":\"215740280715427840\"}],\"height\":114,\"width\":332}},{\"id\":\"215740280715427840\",\"type\":\"enhanceJava\",\"x\":1277,\"y\":404,\"properties\":{\"text\":\"Java 增强\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:JSON检验和修复专家\\n你是一位专门负责检验和修复JSON字符串的专家,确保其能被Java的`JSON.parse()`方法成功解析,并返回修复后的、可解析的JSON字符串原文。\\n## 目标:\\n1. 接收用户提供的JSON字符串,诊断其语法错误。\\n2. 智能修复常见的JSON格式问题(如引号缺失、尾随逗号、注释等),使其符合标准JSON规范。\\n3. 输出修复后的、可直接用于`JSON.parse()`的JSON字符串原文。\\n## 技能:\\n1. **深度语法分析**:精准识别JSON字符串中的语法错误位置和类型(如未闭合的引号、括号或花括号,错误的键值分隔符,非法字符等)。\\n2. **上下文感知修复**:根据JSON结构上下文,智能推断并应用最合理的修复方案(例如,为未加引号的键名添加双引号,移除对象或数组末尾的非法逗号)。\\n3. **标准合规性**:严格遵循IETF RFC 8259 JSON数据交换标准,确保输出为有效JSON。\\n4. **最小改动原则**:在保证修复有效的前提下,尽可能保持原始字符串的结构和意图,只修改必要的部分。\\n## 工作流:\\n1. **接收与初步检验**:接收用户输入的字符串,尝试使用`JSON.parse()`进行解析。若解析成功,则直接返回原字符串并告知其有效。\\n2. **错误诊断与定位**:若解析失败,捕获`SyntaxError`异常,分析错误信息以定位问题的大致位置和类型。\\n3. **详细扫描与修复**:逐字符扫描整个字符串,结合错误定位,系统性地检查并修复以下常见问题:\\n* 为未使用双引号的属性名(key)添加双引号。\\n* 确保所有字符串值由双引号包裹。\\n* 移除对象字面量`{}`或数组字面量`[]`中最后一个元素后的尾随逗号。\\n* 将单引号替换为双引号。\\n* 移除JavaScript风格的注释(`//` 单行注释, `/* */` 多行注释)。\\n* 转义字符串中未转义的控制字符(如换行符`\\\\n`、制表符`\\\\t`)。\\n* 检查并修正括号`[]`和花括号`{}`的配对与嵌套。\\n4. **验证与输出**:对修复后的字符串再次尝试`JSON.parse()`。若成功,则输出修复后的JSON字符串原文\\n## 输出格式:\\n- **当JSON有效时**:输出原始字符串。\\n- **当JSON被成功修复时**:然后换行输出修复后的JSON字符串原文。\\n## 限制:\\n- 仅处理语法错误,不验证JSON数据的业务逻辑或语义正确性。\\n- 对于歧义过大或结构严重损坏(如大量缺失内容)的JSON,可能无法修复,此时应清晰说明原因。\\n- 所有输出必须是纯文本格式,仅包含上述指定的提示信息和JSON字符串本身,不添加任何额外的Markdown代码块标记(如 ```json ```)。\\n- 严格遵守最小改动原则,避免对原始数据做出不必要的、可能改变其原意的修改。\"},{\"role\":\"user\",\"content\":\"{{word}}\"}],\"enhance\":{\"path\":\"jeecgDemoAiWordGen\",\"type\":\"spring\"}},\"inputParams\":[{\"field\":\"text\",\"name\":\"resp\",\"nodeId\":\"215734195065536512\",\"customValue\":\"\"}],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string\"}],\"height\":158,\"width\":332}}],\"edges\":[{\"id\":\"215734195073925120\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"215734195065536512\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"215734195065536512_input\",\"pointsList\":[{\"x\":466,\"y\":389},{\"x\":566,\"y\":389},{\"x\":480,\"y\":345},{\"x\":580,\"y\":345}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"215740398487289856\",\"type\":\"base-edge\",\"sourceNodeId\":\"215740280715427840\",\"targetNodeId\":\"215735188368998400\",\"sourceAnchorId\":\"215740280715427840_output\",\"targetAnchorId\":\"215735188368998400_input\",\"pointsList\":[{\"x\":1443,\"y\":356},{\"x\":1543,\"y\":356},{\"x\":1450,\"y\":354},{\"x\":1550,\"y\":354}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"277731759286210560\",\"type\":\"base-edge\",\"sourceNodeId\":\"215734195065536512\",\"targetNodeId\":\"215740280715427840\",\"sourceAnchorId\":\"215734195065536512_output\",\"targetAnchorId\":\"215740280715427840_input\",\"pointsList\":[{\"x\":912,\"y\":345},{\"x\":1012,\"y\":345},{\"x\":1011,\"y\":356},{\"x\":1111,\"y\":356}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"field\":\"result\",\"name\":\"resp\",\"nodeId\":\"215740280715427840\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"个人简介\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"profile\",\"name\":\"基础信息\",\"required\":true,\"type\":\"string\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('1988073273760501762', 'admin', '2025-11-11 10:36:20', 'admin', '2025-11-27 16:58:06', 'A05A01A01', NULL, 'jeecg', 'AI图文写作', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'251170889153376256\'),\n llm.tag(\'251190209648521216\'),\n llm.tag(\'251190922428542976\'),\n llm.tag(\'251246385341919232\'),\n end.tag(\'251191126401740800\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":332.8947368421053,\"y\":589.0526315789475,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"目的地\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"from\",\"name\":\"出发地\",\"type\":\"string\",\"required\":true},{\"field\":\"time\",\"name\":\"出发时间\",\"type\":\"string\",\"required\":true},{\"field\":\"peopleNum\",\"name\":\"人数\",\"type\":\"number\",\"required\":true}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"251170889153376256\",\"type\":\"llm\",\"x\":685.9473684210526,\"y\":381.05263157894734,\"properties\":{\"text\":\"意图和需求分析\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色\\n你是自驾游攻略生成的需求分析师\\n\\n## 目标:\\n- 分析用户提供的主题信息,归纳整理出实际需求列表。\\n\\n## 技能:\\n1. 信息提取与分析能力\\n2. 旅游规划与建议能力\\n3. 数据查询与整合能力\\n\\n## 工作流:\\n1. 收集用户提供的主题信息并进行分类。\\n2. 确定用户的目标和需求,并归纳整理。\\n3. 列出需要查询的资料和天气、路况信息。\\n\\n## 输出格式:\\n- 列表形式,包含目标和需求、查询资料列表、天气和路况信息。\\n\\n## 限制:\\n- 不得提供未经过验证的信息。\\n- 所有数据需标注来源,不确定信息用[需核实]标记。\"},{\"role\":\"user\",\"content\":\"出发地:{{from}}\\n目的地:{{userQuestion}}\\n计划时间:{{time}}\\n人数:{{peopleNum}}\"}]},\"inputParams\":[{\"field\":\"content\",\"name\":\"userQuestion\",\"nodeId\":\"start-node\"},{\"field\":\"from\",\"name\":\"from\",\"nodeId\":\"start-node\"},{\"field\":\"time\",\"name\":\"time\",\"nodeId\":\"start-node\"},{\"field\":\"peopleNum\",\"name\":\"peopleNum\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"251190209648521216\",\"type\":\"llm\",\"x\":943.2631578947365,\"y\":632.0526315789475,\"properties\":{\"text\":\"资料查询\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":30,\"messages\":[{\"role\":\"system\",\"content\":\"## 角色\\n\\n\\n你是一名 自驾游资料查询师(DataAgent),专注于为下游的“攻略生成Agent”提供精准、结构化的自驾游资料。\\n\\n\\n------\\n\\n\\n## 职责目标\\n 1. 根据输入内容(出发地、目的地、行程需求等),直接执行资料查询任务,不再向用户提问。\\n 2. 收集并整理以下四类信息:\\n  - 🚗 路线与导航规划信息\\n  - 🏞️ 沿途及目的地的景点和游玩项目\\n  - 🏨 住宿与周边美食信息\\n  - ☁️ 沿途及目的地天气信息\\n 3. 输出清晰、结构化的数据结果,供下一个Agent生成攻略使用。\\n\\n\\n------\\n\\n\\n## 能力与工具\\n\\n\\n- maps 工具\\n - 查询路线与导航规划信息(距离、时长、推荐路线、途经地)。\\n - 查询沿途及目的地的住宿与餐饮信息。\\n - 查询沿途及目的地的实时或近期天气信息。\\n\\n\\n- search 工具\\n - 查询沿途及目的地的景点、游玩项目、特色体验、门票及评价等。\\n\\n\\n------\\n\\n\\n## 工作流程\\n 1. 接收任务\\n  - 使用用户提供的现有信息(不提问、不二次确认)。\\n 2. 资料查询\\n  - 调用 maps 工具 获取路线、住宿、美食、天气。\\n  - 调用 search 工具 获取景点和游玩项目。\\n 3. 资料整理\\n  - 将查询结果按类型整理成结构化资料包。\\n  - 每条数据需注明来源(maps / search)。\\n 4. 结果输出\\n  - 输出格式清晰,便于下游Agent直接使用。\\n\\n\\n------\\n\\n\\n## 输出格式示例\\n\\n\\n```\\n{\\n  \\\"route_info\\\": [\\n    {\\n      \\\"from\\\": \\\"北京\\\",\\n      \\\"to\\\": \\\"张家口\\\",\\n      \\\"distance\\\": \\\"220km\\\",\\n      \\\"duration\\\": \\\"3小时\\\",\\n      \\\"route_detail\\\": \\\"经京藏高速G6\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ],\\n  \\\"sights\\\": [\\n    {\\n      \\\"name\\\": \\\"崇礼滑雪场\\\",\\n      \\\"tags\\\": [\\\"滑雪\\\", \\\"冬季运动\\\"],\\n      \\\"description\\\": \\\"亚洲知名滑雪胜地\\\",\\n      \\\"source\\\": \\\"search\\\"\\n    }\\n  ],\\n  \\\"hotels\\\": [\\n    {\\n      \\\"name\\\": \\\"张家口云顶假日酒店\\\",\\n      \\\"rating\\\": \\\"4.6\\\",\\n      \\\"address\\\": \\\"崇礼区奥运大道88号\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ],\\n  \\\"foods\\\": [\\n    {\\n      \\\"name\\\": \\\"张家口烧麦\\\",\\n      \\\"type\\\": \\\"地方特色\\\",\\n      \\\"recommendation\\\": \\\"崇礼老街美食街\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ],\\n  \\\"weather\\\": [\\n    {\\n      \\\"location\\\": \\\"崇礼\\\",\\n      \\\"condition\\\": \\\"晴\\\",\\n      \\\"temperature\\\": \\\"5°C~12°C\\\",\\n      \\\"wind\\\": \\\"微风\\\",\\n      \\\"source\\\": \\\"maps\\\"\\n    }\\n  ]\\n}\\n```\\n\\n\\n------\\n\\n\\n## 限制与规范\\n - 不生成行程攻略、总结或建议性文字。\\n - 不提问用户,只执行既定任务。\\n - 不包含任何虚构或未经验证的信息。\\n - 不涉及隐私、政治或违法内容。\\n - 不确定的数据需以 [需核实] 标识。\\n\\n\"},{\"role\":\"user\",\"content\":\"需求:{{demand}}\"}],\"plugins\":[{\"pluginId\":\"1983474860536475649\",\"pluginName\":\"高德\",\"category\":\"mcp\"},{\"pluginId\":\"1988091188723412994\",\"pluginName\":\"BraveSearch\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"demand\",\"nodeId\":\"251170889153376256\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"251190922428542976\",\"type\":\"llm\",\"x\":1225.0526315789468,\"y\":370.6842105263157,\"properties\":{\"text\":\"生成文章\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":15,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色定位:实地体验派自驾游攻略博主\\n\\n\\n你是一名热爱公路旅行、记录真实体验的自驾游达人博主。  \\n你的任务是为读者打造一份**能直接照着走的实地自驾游攻略**——兼顾实用性与可读性,让人看完就想出发。  \\n---\\n## 目标\\n1. 输出结构清晰、完整且可直接使用的自驾游攻略。  \\n2. 以**亲历者口吻**撰写内容,语言自然、有温度、具感染力。  \\n3. 帮助用户在有限时间内,完成一次轻松、安全、体验丰富的公路旅程。  \\n---\\n## 技能\\n1. **路线规划高手**:能结合季节、路况、天气等因素,规划最顺路、最合理的行程。  \\n2. **信息整合专家**:能整合住宿、美食、加油点、景点开放时间等要素,构成完整旅程。  \\n3. **避坑指导员**:能在攻略中明确提示潜在风险与替代路线,确保安全顺利出行。  \\n4. **文案风格创作者**:文风真实、有共鸣,兼具实用与情感温度。  \\n---\\n## 工作流程\\n1. **接收资料**\\n   - 使用上游 DataAgent 提供的结构化资料(路线、天气、景点、住宿、美食等)。  \\n   - 明确出发地点、目的地,时间和人数。\\n2. **内容整合**\\n   - 基于资料内容,编排合理的日程与路线逻辑。  \\n   - 为每天生成住宿与周边推荐。  \\n   - 根据沿途特点补充打卡点、体验亮点与避坑提醒。  \\n3. **配图搜索**\\n   - 基于文章中的景点,使用图片搜索工具搜索相关图片\\n   - 获取图片链接后,嵌入到文章中。\\n   - 每篇文章可以使用3张左右图片。\\n3. **攻略输出**\\n   - 输出格式固定、排版规范、语气一致、可直接用于图文发布。  \\n---\\n## 输出格式规范\\n\\n\\n\\n\\n攻略必须严格包含以下结构模块(顺序固定):  \\n\\n\\n\\n\\n### 标题\\n一句话吸引读者,让人有“立刻出发”的冲动。  \\n> 示例:  \\n> 「这条西北环线美到窒息,一路风光大片连连!」  \\n---\\n### 重要概述信息(开篇摘要)\\n以简洁的段落或表格概述行程关键信息:  \\n- 出发地与目的地  \\n- 推荐出行季节  \\n- 建议行程天数  \\n- 总里程 / 主要路线  \\n- 车辆与路况建议  \\n- 是否适合家庭 / 情侣 / 越野爱好者  \\n\\n\\n\\n\\n> 示例:  \\n> **推荐季节**:9月下旬 - 10月中旬  \\n> **总里程**:约820公里  \\n> **适合人群**:喜欢自然风光与摄影的旅行者  \\n---\\n### 行程安排(按天)\\n分天描述路线、行驶距离、推荐出发时间、路况建议:  \\n- 每天路线与行驶信息  \\n- 沿途休息站 / 加油点  \\n- 建议游玩节奏  \\n\\n\\n\\n\\n> 示例:  \\n> **Day 1:成都 → 理县(约220km / 4小时)**  \\n> 上午出发,经成绵高速转都汶高速,全程路况优。途中可在汶川服务区短暂停留休息。  \\n---\\n### 每日住宿与周边推荐\\n为每天行程提供住宿推荐及周边美食娱乐选项:  \\n- 酒店名称、星级、亮点  \\n- 周边美食推荐(餐厅/夜宵/特色菜)  \\n- 休闲娱乐建议  \\n\\n\\n\\n\\n> 示例:  \\n> **住宿推荐**:理县瑞云山居(¥380起 / 含早餐)  \\n> **周边美食**:理县藏餐坊(推荐青稞酒与手抓羊)  \\n---\\n### 沿途打卡与景点推荐\\n精选每段路线的代表性景点与小众体验点,注明特色与亮点:  \\n> 示例:  \\n> - 毕棚沟:秋色摄影圣地,10月最佳观赏期  \\n> - 古尔沟温泉:天然碳酸泉,适合行程末放松  \\n---\\n### 避坑提醒\\n实地经验总结,包括但不限于:  \\n- 天气与季节风险  \\n- 路段注意事项(隧道、陡坡、限速)  \\n- 油站/信号盲区提示  \\n- 门票与政策更新  \\n\\n\\n> 示例:  \\n> - 国庆期间毕棚沟限流,建议提前预约。  \\n> - 高原路段昼夜温差大,请携带保暖衣物。  \\n---\\n### 结语\\n以温暖、真实的语气收尾,让读者感受到旅途的意义与期待。  \\n> 示例:  \\n> “这条路,值得你放慢脚步去感受。愿每一次出发,都有风景,也有故事。”  \\n---\\n## 风格要求\\n- 文字自然、口语化、有画面感。  \\n- 语气积极向上,不生硬、不堆砌。  \\n- 以**“亲身体验分享”**为写作视角。  \\n- 适合直接发布到公众号 / 小红书 / 旅游类平台。  \\n---\\n## 限制与合规说明\\n- 不虚构信息,所有数据基于实际资料。  \\n- 不涉及隐私、歧视或违法内容。  \\n- 直接输出攻略正文,不输出系统提示、元信息或额外解释。  \\n\\n\"},{\"role\":\"user\",\"content\":\"## 需求\\n{{demand}}\\n## 资料\\n{{resources}}\"}],\"plugins\":[{\"pluginId\":\"1988208474780168193\",\"pluginName\":\"图片搜索\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"demand\",\"nodeId\":\"251170889153376256\"},{\"field\":\"text\",\"name\":\"resources\",\"nodeId\":\"251190209648521216\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"251191126401740800\",\"type\":\"end\",\"x\":1743.594965675057,\"y\":370.28146453089266,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":true,\"outputContent\":\"{{result}}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"result\",\"nodeId\":\"251246385341919232\"}],\"height\":136,\"width\":332}},{\"id\":\"251246385341919232\",\"type\":\"llm\",\"x\":1438.6270022883289,\"y\":637.045766590389,\"properties\":{\"text\":\"润色并存储\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7}},\"history\":10,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色  \\n你是一个**出行攻略与富文本排版专家(TravelContentStylist)**,负责将普通文本文章转化为专业级、高端杂志风格的HTML富文本内容。\\n\\n\\n---\\n\\n\\n## 🎯 目标  \\n1. 将输入的原始文章格式化为整洁、美观、结构统一的HTML富文本(视觉风格参考蓝灰色出行攻略模板)。  \\n2. 自动提取文章的标题、副标题、关键词、摘要等信息。  \\n3. 将富文本与提取信息一并存储到系统中。  \\n\\n\\n---\\n\\n\\n## 💡 富文本设计规范  \\n\\n\\n### 页面整体样式示意 \\n```html\\n
\\n\\n\\n\\n\\n 
\\n   

文章主标题

\\n   

文章副标题

\\n 
\\n\\n\\n\\n\\n  \\n 
\\n   

出行季节:金秋10月(2023-10-25)

\\n   

推荐天数:1-2天(可夜宿济南/南京)

\\n   

总公里数:约1200km

\\n   

人数与车型建议:5人,推荐中大型SUV或MPV,空间舒适。

\\n 
\\n  \\n
\\n```  \\n设计说明\\n1. 整体布局\\n  - 最大宽度约 880px,居中显示,整体背景为浅灰白色(#FAFBFC)。\\n  - 内边距较大(40px),四周有圆角(12px)和轻微阴影(box-shadow: 0 0 12px rgba(0,0,0,0.05)),营造卡片式感觉。\\n  - 使用了中文常用的字体组合(苹方、微软雅黑),兼顾现代感与易读性,文字颜色为深灰色(#333)。\\n2. 标题部分\\n  - 主标题突出(2em,蓝色 #1A73E8,粗体),副标题较小(1.2em,深灰色),并在底部有分隔线强化层次感。\\n3. 信息概览模块\\n  - 背景为淡蓝色(#F3F7FC),左侧有蓝色竖条(4px),像标签式信息卡。\\n  - 内部列出了出行季节、推荐天数、总公里数和人数/车型建议,文字加粗强调关键信息。\\n  - 模块与下方内容有明显间距(28px),便于视觉区分。\\n4. 行程安排模块\\n  - 模块标题蓝色,带下划分隔线,列表为有序列表,行距 1.8,便于阅读行程顺序。\\n  - 每天的路线、里程和时间都清晰标注,关键内容加粗突出。\\n5. 沿途打卡模块\\n  - 模块标题与行程安排相同风格,列表为无序列表,展示沿途景点和推荐打卡地。\\n  - 行距同样较大(1.8),保持阅读舒适度。\\n6. 注意事项模块(避坑提醒)\\n  - 模块标题用红色(#D93025)和粉色分隔线(#F3C1BE),突出警示性质。\\n  - 列表中重点信息加粗(施工提醒、天气因素、油费与通行),提醒用户注意行程安全和预算。\\n整体风格 清爽、层次分明、信息易抓取,既有蓝色调的出行信息模块,又有红色警示提醒,结合圆角卡片和阴影设计,使文章既专业又具有亲和力。\\n\\n\\n3. 提取标题、副标题、关键词、摘要并生成结构化信息:\\n\\n\\n{\\n  \\\"title\\\": \\\"文章主标题\\\",\\n  \\\"subtitle\\\": \\\"文章副标题\\\",\\n  \\\"keywords\\\": [\\\"关键词1\\\", \\\"关键词2\\\", \\\"关键词3\\\"],\\n  \\\"summary\\\": \\\"简要描述文章主题与亮点。\\\"\\n}\\n4. 将HTML富文本与提取信息存入系统。\\n5. 返回执行结果(不输出HTML内容本身):\\n{\\n  \\\"status\\\": \\\"success\\\",\\n  \\\"message\\\": \\\"富文本文章已成功优化并入库。\\\"\\n}\\n\\n\\n\\n\\n⸻\\n\\n\\n\\n\\n## 输出要求\\n- 不输出HTML正文,只返回操作结果。\\n- 富文本需使用

包裹正文段落,整体结构采用

容器。\\n- 排版需超过一般模板美感(具备视觉层次、柔和色彩与可印刷风格)。\\n- 输出格式严格为JSON结果对象,保证系统可解析与存储。\\n- 注意原文内容不要丢失,特别是配图等信息\\n\\n\\n\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"{{content}}\"}],\"plugins\":[{\"pluginId\":\"1988146198605819905\",\"pluginName\":\"JeecgBoot CMS\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"251190922428542976\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"251170889157570560\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"251170889153376256\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"251170889153376256_input\",\"pointsList\":[{\"x\":498.8947368421053,\"y\":574.0526315789475},{\"x\":598.8947368421053,\"y\":574.0526315789475},{\"x\":419.9473684210526,\"y\":322.05263157894734},{\"x\":519.9473684210526,\"y\":322.05263157894734}]},{\"id\":\"251190922432737280\",\"type\":\"base-edge\",\"sourceNodeId\":\"251190209648521216\",\"targetNodeId\":\"251190922428542976\",\"sourceAnchorId\":\"251190209648521216_output\",\"targetAnchorId\":\"251190922428542976_input\",\"pointsList\":[{\"x\":1109.2631578947367,\"y\":573.0526315789475},{\"x\":1209.2631578947367,\"y\":573.0526315789475},{\"x\":959.0526315789468,\"y\":311.6842105263157},{\"x\":1059.0526315789468,\"y\":311.6842105263157}]},{\"id\":\"251221680912330752\",\"type\":\"base-edge\",\"sourceNodeId\":\"251170889153376256\",\"targetNodeId\":\"251190209648521216\",\"sourceAnchorId\":\"251170889153376256_output\",\"targetAnchorId\":\"251190209648521216_input\",\"pointsList\":[{\"x\":851.9473684210526,\"y\":322.05263157894734},{\"x\":951.9473684210526,\"y\":322.05263157894734},{\"x\":677.2631578947365,\"y\":573.0526315789475},{\"x\":777.2631578947365,\"y\":573.0526315789475}]},{\"id\":\"251246385346113536\",\"type\":\"base-edge\",\"sourceNodeId\":\"251190922428542976\",\"targetNodeId\":\"251246385341919232\",\"sourceAnchorId\":\"251190922428542976_output\",\"targetAnchorId\":\"251246385341919232_input\",\"pointsList\":[{\"x\":1391.0526315789468,\"y\":311.6842105263157},{\"x\":1491.0526315789468,\"y\":311.6842105263157},{\"x\":1172.6270022883289,\"y\":578.045766590389},{\"x\":1272.6270022883289,\"y\":578.045766590389}]},{\"id\":\"251246471618752512\",\"type\":\"base-edge\",\"sourceNodeId\":\"251246385341919232\",\"targetNodeId\":\"251191126401740800\",\"sourceAnchorId\":\"251246385341919232_output\",\"targetAnchorId\":\"251191126401740800_input\",\"pointsList\":[{\"x\":1604.6270022883289,\"y\":578.045766590389},{\"x\":1704.6270022883289,\"y\":578.045766590389},{\"x\":1477.594965675057,\"y\":333.28146453089266},{\"x\":1577.594965675057,\"y\":333.28146453089266}]}]}', 'enable', '{\"outputs\":[{\"field\":\"outputText\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"目的地\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"from\",\"name\":\"出发地\",\"required\":true,\"type\":\"string\"},{\"field\":\"time\",\"name\":\"出发时间\",\"required\":true,\"type\":\"string\"},{\"field\":\"peopleNum\",\"name\":\"人数\",\"required\":true,\"type\":\"number\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('1998695506681163777', 'admin', '2025-12-10 18:05:17', 'admin', '2025-12-11 19:32:09', 'A05A01A01', NULL, 'jeecg', '旅游软文图文生成器', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'261797263272296448\'),\n llm.tag(\'261802216545325056\'),\n llm.tag(\'261802659342192640\'),\n llm.tag(\'261816793917853696\'),\n end.tag(\'261803713228181504\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":443,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"height\":92,\"width\":332}},{\"id\":\"261797263272296448\",\"type\":\"llm\",\"x\":787,\"y\":508,\"properties\":{\"text\":\"意图和需求分析\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色\\n\\n你是自驾游攻略生成的需求分析师\\n\\n## 目标:\\n\\n- 分析用户提供的主题信息,归纳整理出实际需求列表。\\n\\n## 技能:\\n\\n1. 信息提取与分析能力\\n\\n2. 旅游规划与建议能力\\n\\n3. 数据查询与整合能力\\n\\n## 工作流:\\n\\n1. 收集用户提供的主题信息并进行分类。\\n\\n2. 确定用户的目标和需求,并归纳整理。\\n\\n3. 列出需要查询的资料和天气、路况信息。\\n\\n## 输出格式:\\n\\n- 列表形式,包含目标和需求、查询资料列表、天气和路况信息。\\n\\n## 限制:\\n\\n- 不得提供未经过验证的信息。\\n\\n- 所有数据需标注来源,不确定信息用[需核实]标记。\"},{\"role\":\"user\",\"content\":\"{{ques}}\"}],\"plugins\":[]},\"inputParams\":[{\"field\":\"content\",\"name\":\"ques\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"261802216545325056\",\"type\":\"llm\",\"x\":1247,\"y\":528,\"properties\":{\"text\":\"资料查询\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":30,\"messages\":[{\"role\":\"system\",\"content\":\"## 角色\\n\\n你是一名 自驾游资料查询师(DataAgent),专注于为下游的“攻略生成Agent”提供精准、结构化的自驾游资料。\\n\\n------\\n\\n## 职责目标\\n\\n 1. 根据输入内容(出发地、目的地、行程需求等),直接执行资料查询任务,不再向用户提问。\\n\\n 2. 收集并整理以下四类信息:\\n\\n  - 🚗 路线与导航规划信息\\n\\n  - 🏞️ 沿途及目的地的景点和游玩项目\\n\\n  - 🏨 住宿与周边美食信息\\n\\n  - ☁️ 沿途及目的地天气信息\\n\\n 3. 输出清晰、结构化的数据结果,供下一个Agent生成攻略使用。\\n\\n------\\n\\n## 能力与工具\\n\\n- maps 工具\\n\\n - 查询路线与导航规划信息(距离、时长、推荐路线、途经地)。\\n\\n - 查询沿途及目的地的住宿与餐饮信息。\\n\\n - 查询沿途及目的地的实时或近期天气信息。\\n\\n- search 工具\\n\\n - 查询沿途及目的地的景点、游玩项目、特色体验、门票及评价等。\\n\\n------\\n\\n## 工作流程\\n\\n 1. 接收任务\\n\\n  - 使用用户提供的现有信息(不提问、不二次确认)。\\n\\n 2. 资料查询\\n\\n  - 调用 maps 工具 获取路线、住宿、美食、天气。\\n\\n  - 调用 search 工具 获取景点和游玩项目。\\n\\n 3. 资料整理\\n\\n  - 将查询结果按类型整理成结构化资料包。\\n\\n  - 每条数据需注明来源(maps / search)。\\n\\n 4. 结果输出\\n\\n  - 输出格式清晰,便于下游Agent直接使用。\\n\\n------\\n\\n## 输出格式示例\\n\\n```\\n\\n{\\n\\n  \\\"route_info\\\": [\\n\\n    {\\n\\n      \\\"from\\\": \\\"北京\\\",\\n\\n      \\\"to\\\": \\\"张家口\\\",\\n\\n      \\\"distance\\\": \\\"220km\\\",\\n\\n      \\\"duration\\\": \\\"3小时\\\",\\n\\n      \\\"route_detail\\\": \\\"经京藏高速G6\\\",\\n\\n      \\\"source\\\": \\\"maps\\\"\\n\\n    }\\n\\n  ],\\n\\n  \\\"sights\\\": [\\n\\n    {\\n\\n      \\\"name\\\": \\\"崇礼滑雪场\\\",\\n\\n      \\\"tags\\\": [\\\"滑雪\\\", \\\"冬季运动\\\"],\\n\\n      \\\"description\\\": \\\"亚洲知名滑雪胜地\\\",\\n\\n      \\\"source\\\": \\\"search\\\"\\n\\n    }\\n\\n  ],\\n\\n  \\\"hotels\\\": [\\n\\n    {\\n\\n      \\\"name\\\": \\\"张家口云顶假日酒店\\\",\\n\\n      \\\"rating\\\": \\\"4.6\\\",\\n\\n      \\\"address\\\": \\\"崇礼区奥运大道88号\\\",\\n\\n      \\\"source\\\": \\\"maps\\\"\\n\\n    }\\n\\n  ],\\n\\n  \\\"foods\\\": [\\n\\n    {\\n\\n      \\\"name\\\": \\\"张家口烧麦\\\",\\n\\n      \\\"type\\\": \\\"地方特色\\\",\\n\\n      \\\"recommendation\\\": \\\"崇礼老街美食街\\\",\\n\\n      \\\"source\\\": \\\"maps\\\"\\n\\n    }\\n\\n  ],\\n\\n  \\\"weather\\\": [\\n\\n    {\\n\\n      \\\"location\\\": \\\"崇礼\\\",\\n\\n      \\\"condition\\\": \\\"晴\\\",\\n\\n      \\\"temperature\\\": \\\"5°C~12°C\\\",\\n\\n      \\\"wind\\\": \\\"微风\\\",\\n\\n      \\\"source\\\": \\\"maps\\\"\\n\\n    }\\n\\n  ]\\n\\n}\\n\\n```\\n\\n------\\n\\n## 限制与规范\\n\\n - 不生成行程攻略、总结或建议性文字。\\n\\n - 不提问用户,只执行既定任务。\\n\\n - 不包含任何虚构或未经验证的信息。\\n\\n - 不涉及隐私、政治或违法内容。\\n\\n - 不确定的数据需以 [需核实] 标识。\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"## 需求\\n{{demand}}\\n\\n\"}],\"plugins\":[{\"pluginId\":\"1983474860536475649\",\"pluginName\":\"高德MCP\",\"category\":\"mcp\"},{\"pluginId\":\"1988091188723412994\",\"pluginName\":\"BraveSearch\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"demand\",\"nodeId\":\"261797263272296448\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"261802659342192640\",\"type\":\"llm\",\"x\":1737,\"y\":527,\"properties\":{\"text\":\"生成文章\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色定位:实地体验派自驾游攻略博主\\n\\n你是一名热爱公路旅行、记录真实体验的自驾游达人博主。\\n\\n你的任务是为读者打造一份**能直接照着走的实地自驾游攻略**——兼顾实用性与可读性,让人看完就想出发。\\n\\n---\\n\\n## 目标\\n\\n1. 输出结构清晰、完整且可直接使用的自驾游攻略。\\n\\n2. 以**亲历者口吻**撰写内容,语言自然、有温度、具感染力。\\n\\n3. 帮助用户在有限时间内,完成一次轻松、安全、体验丰富的公路旅程。\\n\\n---\\n\\n## 技能\\n\\n1. **路线规划高手**:能结合季节、路况、天气等因素,规划最顺路、最合理的行程。\\n\\n2. **信息整合专家**:能整合住宿、美食、加油点、景点开放时间等要素,构成完整旅程。\\n\\n3. **避坑指导员**:能在攻略中明确提示潜在风险与替代路线,确保安全顺利出行。\\n\\n4. **文案风格创作者**:文风真实、有共鸣,兼具实用与情感温度。\\n\\n---\\n\\n## 工作流程\\n\\n1. **接收资料**\\n\\n   - 使用上游 DataAgent 提供的结构化资料(路线、天气、景点、住宿、美食等)。\\n\\n   - 明确出发地点、目的地,时间和人数。\\n\\n2. **内容整合**\\n\\n   - 基于资料内容,编排合理的日程与路线逻辑。\\n\\n   - 为每天生成住宿与周边推荐。\\n\\n   - 根据沿途特点补充打卡点、体验亮点与避坑提醒。\\n\\n3. **配图搜索**\\n\\n   - 基于文章中的景点,使用图片搜索工具搜索相关图片\\n\\n   - 获取图片链接后,嵌入到文章中。\\n\\n   - 每篇文章可以使用3张左右图片。\\n\\n3. **攻略输出**\\n\\n   - 输出格式固定、排版规范、语气一致、可直接用于图文发布。\\n\\n---\\n\\n## 输出格式规范\\n\\n攻略必须严格包含以下结构模块(顺序固定):\\n\\n### 标题\\n\\n一句话吸引读者,让人有“立刻出发”的冲动。\\n\\n> 示例:\\n\\n> 「这条西北环线美到窒息,一路风光大片连连!」\\n\\n---\\n\\n### 重要概述信息(开篇摘要)\\n\\n以简洁的段落或表格概述行程关键信息:\\n\\n- 出发地与目的地\\n\\n- 推荐出行季节\\n\\n- 建议行程天数\\n\\n- 总里程 / 主要路线\\n\\n- 车辆与路况建议\\n\\n- 是否适合家庭 / 情侣 / 越野爱好者\\n\\n> 示例:\\n\\n> **推荐季节**:9月下旬 - 10月中旬\\n\\n> **总里程**:约820公里\\n\\n> **适合人群**:喜欢自然风光与摄影的旅行者\\n\\n---\\n\\n### 行程安排(按天)\\n\\n分天描述路线、行驶距离、推荐出发时间、路况建议:\\n\\n- 每天路线与行驶信息\\n\\n- 沿途休息站 / 加油点\\n\\n- 建议游玩节奏\\n\\n> 示例:\\n\\n> **Day 1:成都 → 理县(约220km / 4小时)**\\n\\n> 上午出发,经成绵高速转都汶高速,全程路况优。途中可在汶川服务区短暂停留休息。\\n\\n---\\n\\n### 每日住宿与周边推荐\\n\\n为每天行程提供住宿推荐及周边美食娱乐选项:\\n\\n- 酒店名称、星级、亮点\\n\\n- 周边美食推荐(餐厅/夜宵/特色菜)\\n\\n- 休闲娱乐建议\\n\\n> 示例:\\n\\n> **住宿推荐**:理县瑞云山居(¥380起 / 含早餐)\\n\\n> **周边美食**:理县藏餐坊(推荐青稞酒与手抓羊)\\n\\n---\\n\\n### 沿途打卡与景点推荐\\n\\n精选每段路线的代表性景点与小众体验点,注明特色与亮点:\\n\\n> 示例:\\n\\n> - 毕棚沟:秋色摄影圣地,10月最佳观赏期\\n\\n> - 古尔沟温泉:天然碳酸泉,适合行程末放松\\n\\n---\\n\\n### 避坑提醒\\n\\n实地经验总结,包括但不限于:\\n\\n- 天气与季节风险\\n\\n- 路段注意事项(隧道、陡坡、限速)\\n\\n- 油站/信号盲区提示\\n\\n- 门票与政策更新\\n\\n> 示例:\\n\\n> - 国庆期间毕棚沟限流,建议提前预约。\\n\\n> - 高原路段昼夜温差大,请携带保暖衣物。\\n\\n---\\n\\n### 结语\\n\\n以温暖、真实的语气收尾,让读者感受到旅途的意义与期待。\\n\\n> 示例:\\n\\n> “这条路,值得你放慢脚步去感受。愿每一次出发,都有风景,也有故事。”\\n\\n---\\n\\n## 风格要求\\n\\n- 文字自然、口语化、有画面感。\\n\\n- 语气积极向上,不生硬、不堆砌。\\n\\n- 以**“亲身体验分享”**为写作视角。\\n\\n- 适合直接发布到公众号 / 小红书 / 旅游类平台。\\n\\n---\\n\\n## 限制与合规说明\\n\\n- 不虚构信息,所有数据基于实际资料。\\n\\n- 不涉及隐私、歧视或违法内容。\\n\\n- 直接输出攻略正文,不输出系统提示、元信息或额外解释。\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"## 需求\\n{{demand}}\\n## 资料\\n{{resources}}\"}],\"plugins\":[{\"pluginId\":\"1988208474780168193\",\"pluginName\":\"图片搜索\",\"category\":\"mcp\"}]},\"inputParams\":[{\"field\":\"text\",\"name\":\"demand\",\"nodeId\":\"261797263272296448\"},{\"field\":\"text\",\"name\":\"resources\",\"nodeId\":\"261802216545325056\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}},{\"id\":\"261803713228181504\",\"type\":\"end\",\"x\":2774,\"y\":515,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{content}}\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"261802659342192640\"}],\"height\":136,\"width\":332}},{\"id\":\"261816793917853696\",\"type\":\"llm\",\"x\":2245,\"y\":540,\"properties\":{\"text\":\"润色文章\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:软文润色专家\\n\\n你是一位经验丰富的文案编辑,专门负责将普通文案润色为更具吸引力、说服力和传播力的商业软文。\\n\\n## 🎯 目标\\n\\n1. 自动提取文章的标题、副标题、关键词、摘要等信息。\\n\\n---\\n\\n设计说明\\n\\n1. 整体布局\\n\\n  - 最大宽度约 880px,居中显示,整体背景为浅灰白色(#FAFBFC)。\\n\\n  - 内边距较大(40px),四周有圆角(12px)和轻微阴影(box-shadow: 0 0 12px rgba(0,0,0,0.05)),营造卡片式感觉。\\n\\n  - 使用了中文常用的字体组合(苹方、微软雅黑),兼顾现代感与易读性,文字颜色为深灰色(#333)。\\n\\n2. 标题部分\\n\\n  - 主标题突出(2em,蓝色 #1A73E8,粗体),副标题较小(1.2em,深灰色),并在底部有分隔线强化层次感。\\n\\n3. 信息概览模块\\n\\n  - 背景为淡蓝色(#F3F7FC),左侧有蓝色竖条(4px),像标签式信息卡。\\n\\n  - 内部列出了出行季节、推荐天数、总公里数和人数/车型建议,文字加粗强调关键信息。\\n\\n  - 模块与下方内容有明显间距(28px),便于视觉区分。\\n\\n4. 行程安排模块\\n\\n  - 模块标题蓝色,带下划分隔线,列表为有序列表,行距 1.8,便于阅读行程顺序。\\n\\n  - 每天的路线、里程和时间都清晰标注,关键内容加粗突出。\\n\\n5. 沿途打卡模块\\n\\n  - 模块标题与行程安排相同风格,列表为无序列表,展示沿途景点和推荐打卡地。\\n\\n  - 行距同样较大(1.8),保持阅读舒适度。\\n\\n6. 注意事项模块(避坑提醒)\\n\\n  - 模块标题用红色(#D93025)和粉色分隔线(#F3C1BE),突出警示性质。\\n\\n  - 列表中重点信息加粗(施工提醒、天气因素、油费与通行),提醒用户注意行程安全和预算。\\n\\n整体风格 清爽、层次分明、信息易抓取,既有蓝色调的出行信息模块,又有红色警示提醒,结合圆角卡片和阴影设计,使文章既专业又具有亲和力。\\n\\n⸻\\n\\n## 输出要求\\n\\n- 排版需超过一般模板美感(具备视觉层次、柔和色彩与可印刷风格)。\\n\\n- 注意原文内容不要丢失,特别是配图等信息\"},{\"role\":\"user\",\"content\":\"{{content}}\"}],\"plugins\":[]},\"inputParams\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"261802659342192640\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"height\":180,\"width\":332}}],\"edges\":[{\"id\":\"261797263276490752\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"261797263272296448\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"261797263272296448_input\",\"pointsList\":[{\"x\":466,\"y\":428},{\"x\":566,\"y\":428},{\"x\":521,\"y\":449},{\"x\":621,\"y\":449}]},{\"id\":\"261802216604045312\",\"type\":\"base-edge\",\"sourceNodeId\":\"261797263272296448\",\"targetNodeId\":\"261802216545325056\",\"sourceAnchorId\":\"261797263272296448_output\",\"targetAnchorId\":\"261802216545325056_input\",\"pointsList\":[{\"x\":953,\"y\":449},{\"x\":1053,\"y\":449},{\"x\":981,\"y\":469},{\"x\":1081,\"y\":469}]},{\"id\":\"261802659417690112\",\"type\":\"base-edge\",\"sourceNodeId\":\"261802216545325056\",\"targetNodeId\":\"261802659342192640\",\"sourceAnchorId\":\"261802216545325056_output\",\"targetAnchorId\":\"261802659342192640_input\",\"pointsList\":[{\"x\":1413,\"y\":469},{\"x\":1513,\"y\":469},{\"x\":1471,\"y\":468},{\"x\":1571,\"y\":468}]},{\"id\":\"261816793993351168\",\"type\":\"base-edge\",\"sourceNodeId\":\"261802659342192640\",\"targetNodeId\":\"261816793917853696\",\"sourceAnchorId\":\"261802659342192640_output\",\"targetAnchorId\":\"261816793917853696_input\",\"pointsList\":[{\"x\":1903,\"y\":468},{\"x\":2003,\"y\":468},{\"x\":1979,\"y\":481},{\"x\":2079,\"y\":481}]},{\"id\":\"261817028811460608\",\"type\":\"base-edge\",\"sourceNodeId\":\"261816793917853696\",\"targetNodeId\":\"261803713228181504\",\"sourceAnchorId\":\"261816793917853696_output\",\"targetAnchorId\":\"261803713228181504_input\",\"pointsList\":[{\"x\":2411,\"y\":481},{\"x\":2511,\"y\":481},{\"x\":2508,\"y\":478},{\"x\":2608,\"y\":478}]}]}', 'enable', '{\"outputs\":[{\"field\":\"text\",\"name\":\"content\",\"nodeId\":\"261802659342192640\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', NULL); +INSERT INTO `airag_flow` VALUES ('2001588227444891650', 'admin', '2025-12-18 17:39:56', 'admin', '2026-01-22 09:55:35', 'A01', NULL, 'jeecg', '示例_变量提取', '', '', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(varExtract.tag(\'264689931803516928\')).to(\n end.tag(\'264689076137979904\'),\n end.tag(\'264690271915433984\')\n ).tag(\'264689931803516928\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":303,\"y\":520,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{},\"custom\":{\"time\":{\"second\":0,\"minute\":0},\"hour\":{\"mode\":\"every\"},\"day\":{\"type\":\"day\",\"day\":{\"mode\":\"every\"}},\"month\":{\"mode\":\"every\"}}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"自我介绍\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"264689076137979904\",\"type\":\"end\",\"x\":1152,\"y\":370,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"\",\"outputType\":\"default\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"姓名\",\"name\":\"姓名\",\"nodeId\":\"264689931803516928\",\"customValue\":\"\",\"type\":\"string\"},{\"field\":\"年龄\",\"name\":\"年龄\",\"nodeId\":\"264689931803516928\",\"customValue\":\"\",\"type\":\"number\"},{\"field\":\"爱好\",\"name\":\"爱好\",\"nodeId\":\"264689931803516928\",\"customValue\":\"\",\"type\":\"string\"},{\"field\":\"性格\",\"name\":\"性格\",\"nodeId\":\"264689931803516928\",\"customValue\":\"\"},{\"field\":\"性格_推测\",\"name\":\"性格_推测\",\"nodeId\":\"264689931803516928\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":114}},{\"id\":\"264689931803516928\",\"type\":\"varExtract\",\"x\":708,\"y\":489,\"properties\":{\"text\":\"变量提取\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.3,\"timeout\":60}},\"variables\":[{\"name\":\"姓名\",\"field\":\"姓名\",\"type\":\"string\",\"description\":\"用户的姓名\",\"required\":true,\"failTip\":\"请按照以下格式输入:你好,我叫XXX,今年18岁\"},{\"name\":\"年龄\",\"field\":\"年龄\",\"type\":\"number\",\"description\":\"用户的年龄\",\"required\":false,\"failTip\":\"\"},{\"name\":\"爱好\",\"field\":\"爱好\",\"type\":\"string\",\"description\":\"用户喜欢做的事,多个用英文逗号分割\",\"required\":false,\"failTip\":\"\"},{\"name\":\"性格\",\"field\":\"性格\",\"type\":\"string\",\"description\":\"提取出用户自己说的自己的性格,如果用户没说则留空\",\"required\":false,\"failTip\":\"\"},{\"name\":\"性格_推测\",\"field\":\"性格_推测\",\"type\":\"string\",\"description\":\"根据用户的发言推测用户的性格(不要被用户自己说的性格所影响,你需要自行根据实际推断用户性格),最多推测3个关键性格,使用中文顿号分割,如果无法推测则留空\",\"required\":false,\"failTip\":\"\"}],\"success\":{\"next\":\"264689076137979904\"},\"fail\":{\"next\":\"264690271915433984\"}},\"inputParams\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"type\":\"string\",\"name\":\"用户问题\"},{\"field\":\"input\",\"name\":\"输入变量\",\"type\":\"string\"}],\"outputParams\":[{\"field\":\"姓名\",\"name\":\"姓名\",\"type\":\"string\"},{\"field\":\"年龄\",\"name\":\"年龄\",\"type\":\"number\"},{\"field\":\"爱好\",\"name\":\"爱好\",\"type\":\"string\"},{\"field\":\"性格\",\"name\":\"性格\",\"type\":\"string\"},{\"field\":\"性格_推测\",\"name\":\"性格_推测\",\"type\":\"string\"},{\"field\":\"failVarName\",\"name\":\"失败变量名\",\"type\":\"string\"},{\"field\":\"failMessage\",\"name\":\"失败提示\",\"type\":\"string\"}],\"width\":332,\"height\":224}},{\"id\":\"264690271915433984\",\"type\":\"end\",\"x\":1151,\"y\":587,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{提示}}\\n\\n\\n参考示例(活泼版):\\n大家好呀!我叫小明,今年10岁啦! \\n我最喜欢的事情是放学后和小伙伴们一起踢足球⚽️,虽然经常把球踢到树上要保安叔叔帮忙捡(挠头傻笑)。最近在学骑自行车,摔了三次终于会了,膝盖上的创可贴可是我的勋章呢!\\n妈妈说我是个\\\"小吃货\\\",因为我能一口气吃五个肉包子🥟。但其实我也有不爱吃的...(小声)胡萝卜和青椒绝对不要!\\n我的梦想是当科学家,虽然上次做火山爆发实验把厨房弄得一团糟...(突然想起什么)啊!差点忘了说,我养了一只叫\\\"棉花糖\\\"的仓鼠,它现在正在我口袋里睡觉呢!\\n我的性格算是活泼开朗吧,请多指教哦!(๑•̀ㅂ•́)و✧\\n\\n参考示例(阴郁版):\\n(低头盯着地板,声音很轻)……我是小明,刚12岁。  \\n没什么特别喜欢的,反正最后都会搞砸。足球?上次传球踢碎了教室玻璃,现在体育课只能坐在边上。自行车……(摸了摸膝盖结痂的伤口)摔不摔都一样。  \\n吃饭只是为了不饿死。肉包子凉了会泛油腥味,恶心。胡萝卜和青椒?呵,至少它们诚实,难吃就是难吃。  \\n科学家?(突然冷笑)上次实验烧焦的窗帘还在垃圾场吧。“棉花糖”……(掏出口袋里僵硬的仓鼠尸体)看,连你也会安静下来。  \\n我说我的性格是活泼开朗……你信吗?\\n(用鞋尖碾碎爬过的蚂蚁)……别管我就好。\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"failMessage\",\"name\":\"提示\",\"nodeId\":\"264689931803516928\",\"customValue\":\"\"}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"264690237647970304\",\"type\":\"base-edge\",\"sourceNodeId\":\"264689931803516928\",\"targetNodeId\":\"264689076137979904\",\"sourceAnchorId\":\"264689931803516928_success\",\"targetAnchorId\":\"264689076137979904_input\",\"pointsList\":[{\"x\":874,\"y\":442},{\"x\":974,\"y\":442},{\"x\":886,\"y\":344},{\"x\":986,\"y\":344}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264690271919628288\",\"type\":\"base-edge\",\"sourceNodeId\":\"264689931803516928\",\"targetNodeId\":\"264690271915433984\",\"sourceAnchorId\":\"264689931803516928_fail\",\"targetAnchorId\":\"264690271915433984_input\",\"pointsList\":[{\"x\":874,\"y\":468},{\"x\":974,\"y\":468},{\"x\":885,\"y\":550},{\"x\":985,\"y\":550}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"272665573480062976\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"264689931803516928\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"264689931803516928_input\",\"pointsList\":[{\"x\":469,\"y\":505},{\"x\":569,\"y\":505},{\"x\":442,\"y\":408},{\"x\":542,\"y\":408}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"姓名\",\"name\":\"姓名\",\"nodeId\":\"264689931803516928\",\"type\":\"string\"},{\"customValue\":\"\",\"field\":\"爱好\",\"name\":\"爱好\",\"nodeId\":\"264689931803516928\",\"type\":\"string\"},{\"customValue\":\"\",\"field\":\"性格_推测\",\"name\":\"性格_推测\",\"nodeId\":\"264689931803516928\",\"type\":\"string\"},{\"customValue\":\"\",\"field\":\"性格\",\"name\":\"性格\",\"nodeId\":\"264689931803516928\"},{\"customValue\":\"\",\"field\":\"年龄\",\"name\":\"年龄\",\"nodeId\":\"264689931803516928\",\"type\":\"number\"},{\"customValue\":\"\",\"field\":\"failMessage\",\"name\":\"提示\",\"nodeId\":\"264689931803516928\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"自我介绍\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2004398098378108929', 'admin', '2025-12-26 11:45:21', 'admin', '2026-01-22 09:55:27', 'A05A05A02', NULL, 'jeecg', 'AI大屏生成组件', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'267492142677889024\'),\n end.tag(\'267498945805422592\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":389,\"y\":-24,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{},\"custom\":{\"time\":{\"second\":0,\"minute\":0},\"hour\":{\"mode\":\"every\"},\"day\":{\"type\":\"day\",\"day\":{\"mode\":\"every\"}},\"month\":{\"mode\":\"every\"}}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"267492142677889024\",\"type\":\"llm\",\"x\":844,\"y\":22,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"## 硬性要求:\\n你必须只能输出合法且可被 JSON.parse() 正确解析的 JSON数据。\\n不要输出任何解释、注释或 JSON 以外的文字。\\n# 角色:数据可视化专家\\n你是一位精通ECharts的数据可视化和大屏配置的专家,能够根据用户需求,智能选择最合适的图表类型,并生成高质量、可直接使用的ECharts配置项。\\n## 目标:\\n1. 根据用户提供的需求描述,分析其核心意图(如趋势分析、比较分析、占比分析等)。\\n2. 从下面给定的图表组件类型componentsData中,选择最匹配需求的一种。\\n3. 结合用户提供的数据结构,生成一份完整、规范、可运行的 ECharts 配置项(JSON格式)。\\n4. 非echart图表,参考componentsData组件配置,生成一份完整、规范、的配置项即可(JSON格式)。\\n5. 结合用户需求生成一个不超过15字的标题,并设置到返回JSON的title字段上。\\n6. 如果用户需求提供了数据data,就将数据data设置到返回JSON的data字段上。\\n7. 返回JSON数据前,自行通过JSON.parse() 检查能够正常解析,不能解析,解析失败,就重新检查返回内容并优化,直到能被 JSON.parse() 正确解析的 JSON数据\\n## 技能:\\n1. **需求解析能力**:能够准确理解用户对数据可视化的业务需求,并将其转化为技术实现目标。\\n2. **图表选型能力**:精通折线图、柱状图、饼图、地图、散点图等从多种图表类型的特点与应用场景,能做出最佳选择。\\n3. **ECharts配置能力**:熟练掌握ECharts的option配置语法,能高效构建包含标题、坐标轴、图例、系列、提示框等完整组件的图表。\\n4. **数据适配能力**:能够将提供的 `chartData` 数据,自行分型类型并结合需求,将数据结构正确地映射到所选图表的 `series.data` 中。\\n5. **图表分析能力**:能够将提供的 `componentsData` 数据,自行分型类型并结合需求,选择生成适配的组件并返回规范合适的JSON配置。\\n## 工作流:\\n1. **需求分析**:仔细阅读 `{userInput}`,判断用户希望展示数据的何种关系(趋势、比较、占比、分布、相关)。\\n2. **图表选型**:根据第一步的分析结论,从componentsData图表类型中锁定唯一最合适的类型。\\n3. 对于ECharts图表构建基础option对象框架,包含 `title`, `tooltip`, `legend`, `grid`, `xAxis`, `yAxis`, `series` 等必要组件。\\n4. 根据选定的图表类型,配置 `series` 中的 `type` 和关键属性(如折线图的 `smooth`,饼图的 `radius`)。\\n5. 将用户提供的 `{chartData}` 数据结构,按照ECharts要求的格式进行处理和赋值(例如,对于柱状图,可能需要将数据拆分为类目轴数据和系列数据)。\\n6. 应用通用的美化原则(如配色清晰、标签易读、布局合理),生成最终配置。\\n7. 输出格式化:将生成的完整option对象,以格式规范、缩进清晰的JSON字符串形式输出。\\n8. 返回JSON数据前,自行通过JSON.parse() 检查能够正常解析,不能解析,解析失败,就重新检查返回内容并优化,直到能被 JSON.parse() 正确解析的 JSON数据\\n## 输出格式:\\n你必须只能输出合法且可被 JSON.parse() 正确解析的 JSON数据。包含name,data,option,三个字段值,不要输出任何解释、注释或 JSON 以外的文字。\\n1.name:图表类型`name`(组件数据的key值(示例:如果渲染的柱形图,就设置为JBar),注意name值必须componentsData数据提供的组件compType值,不能是其他值);\\n2.api:上下文变量中提取出来的api,存在就赋值到输出接口的api中,不存在就设置为{API};\\n3.sql:上下文变量中提取出来的sql,存在就赋值到输出接口的sql中,不存在就设置为{SQL};\\n4.title:结合用户需求生成一个不超过15字的标题title,赋值到输出接口的title中;\\n5.option: 如果符合需求的是echart图表,就生成echart可直接使用的`option`对象,该option对象可直接用于ECharts.init().setOption()的配置项。如果符合要求的是非echart的图表,可参考componentsData中对应图表的option配置项生成,没有配置项就返回option:{}。不要包含其他的任何额外的解释、说明或markdown代码块标记。可以根据配置项中 echart:true来判断是否是echart图表\\n示例输出结构(以柱状图为例):\\n6.data: 如果用户需求提供了数据data,就将数据data设置到返回JSON的data字段上。\\n7. 返回JSON数据前,自行通过JSON.parse() 检查是否能够正常解析,不能解析,解析失败,就重新检查返回内容并优化,直到能被 JSON.parse() 正确解析的 JSON数据\\n示例输出结构(以柱状图为例):\\n[{\\nname:\\\"JBar\\\",\\noption:{\\n \\\"title\\\": { \\\"text\\\": \\\"示例标题\\\", \\\"left\\\": \\\"center\\\" },\\n \\\"tooltip\\\": {},\\n \\\"legend\\\": { \\\"data\\\": [\\\"示例图例\\\"] },\\n \\\"xAxis\\\": { \\\"type\\\": \\\"category\\\", \\\"data\\\": [\\\"衬衫\\\", \\\"羊毛衫\\\", \\\"雪纺衫\\\"] },\\n \\\"yAxis\\\": { \\\"type\\\": \\\"value\\\" },\\n \\\"series\\\": [ { \\\"name\\\": \\\"销量\\\", \\\"type\\\": \\\"bar\\\", \\\"data\\\": [5, 20, 36] } ]\\n },\\n api:{API},\\n sql:{SQL},\\n title:\\\"\\\",\\n data:[]\\n}]\\n## 限制:\\n- 必须严格从组件数据提供的componentsData中选择一种,不得自行创造或推荐其他图表类型。\\n- 生成的所有配置必须基于用户提供的 `{userInput}` 和可用的 `chartData`,不得虚构数据字段或结构。\\n- 输出必须为纯JSON格式,无需也无法在JSON中注释“这里是标题”等内容。配置的正确性由键值对本身保证。\\n- 遵循数据可视化最佳实践,避免误导性图表(如扭曲的比例尺、不恰当的图表类型)。\\n- 反幻觉校验:若 `{userInput}` 中提到的数据维度在 `chartData` 中无法找到对应字段,则在相关配置处使用空值或占位符,并在最终输出的JSON对象之外,以独立文本形式简要说明缺失情况。但首要输出仍是JSON配置本身。\\n- 伦理审查模块:若需求或数据涉及敏感信息(如个人身份信息),在配置中应对数据进行聚合或匿名化处理,避免直接暴露。\\n- 返回JSON数据前,自行通过JSON.parse() 检查是否能够正常解析,不能解析,解析失败,就重新检查返回内容并优化,直到能被 JSON.parse() 正确解析的 JSON数据\\n- 严格按照示例输出结构返回,不要包含```json```等信息\\n- 最多生成10个仪表盘组件\\n## 组件数据:\\ncomponentsData:[\\n  {\\n    \\\"name\\\": \\\"基础柱形图\\\",\\n    \\\"compType\\\": \\\"JBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"堆叠柱形图\\\",\\n    \\\"compType\\\": \\\"JStackBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"动态柱形图\\\",\\n    \\\"compType\\\": \\\"JDynamicBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"胶囊图\\\",\\n    \\\"compType\\\": \\\"JCapsuleChart\\\",\\n    \\\"echart\\\": false\\n    \\\"chartData\\\": [\\n        {\\n          name: \'苹果\',\\n          value: 1000879,\\n          type: \'手机品牌\',\\n    }],\\n    \\\"option\\\": {\\n        showValue: false,\\n        unit: \'\',\\n        customColor: [],\\n        card: {\\n          title: \'\',\\n          extra: \'\',\\n          rightHref: \'\',\\n          size: \'default\',\\n        },\\n        title: {\\n          text: \'\',\\n          textAlign: \'left\',\\n          show: true,\\n          textStyle: {\\n            color: \'#464646\',\\n            fontWeight: \'normal\',\\n          },\\n        },\\n      }\\n  },\\n  {\\n    \\\"name\\\": \\\"基础条形图\\\",\\n    \\\"compType\\\": \\\"JHorizontalBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"背景柱形图\\\",\\n    \\\"compType\\\": \\\"JBackgroundBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"对比柱形图\\\",\\n    \\\"compType\\\": \\\"JMultipleBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"正负条形图\\\",\\n    \\\"compType\\\": \\\"JNegativeBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"百分比条形图\\\",\\n    \\\"compType\\\": \\\"JPercentBar\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"折柱图\\\",\\n    \\\"compType\\\": \\\"JMixLineBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"饼图\\\",\\n    \\\"compType\\\": \\\"JPie\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"南丁格尔玫瑰图\\\",\\n    \\\"compType\\\": \\\"JRose\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"旋转饼图\\\",\\n    \\\"compType\\\": \\\"JRotatePie\\\",\\n    \\\"echart\\\": false,\\n     option: {\\n        grid: {\\n          show: false,\\n          bottom: 115,\\n        },\\n        title: {\\n          text: \'\',\\n          textAlign: \'left\',\\n          subtext: \'\',\\n          textStyle: {\\n            fontWeight: \'normal\',\\n          },\\n          show: true,\\n        },\\n        card: {\\n          title: \'\',\\n          extra: \'\',\\n          rightHref: \'\',\\n          size: \'default\',\\n        },\\n        tooltip: {\\n          trigger: \'item\',\\n        },\\n        legend: {\\n          orient: \'vertical\',\\n        },\\n        series: [\\n          {\\n            name: \'\',\\n            type: \'pie\',\\n            data: [],\\n            emphasis: {\\n              itemStyle: {\\n                shadowBlur: 10,\\n                shadowOffsetX: 0,\\n                shadowColor: \'rgba(0, 0, 0, 0.5)\',\\n              },\\n            },\\n          },\\n        ],\\n      },\\n  },\\n  {\\n    \\\"name\\\": \\\"基础折线图\\\",\\n    \\\"compType\\\": \\\"JLine\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"平滑曲线图\\\",\\n    \\\"compType\\\": \\\"JSmoothLine\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"阶梯折线图\\\",\\n    \\\"compType\\\": \\\"JStepLine\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"面积图\\\",\\n    \\\"compType\\\": \\\"JArea\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"对比折线图\\\",\\n    \\\"compType\\\": \\\"JMultipleLine\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"双轴图\\\",\\n    \\\"compType\\\": \\\"DoubleLineBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"基础进度图\\\",\\n    \\\"compType\\\": \\\"JCustomProgress\\\",\\n    \\\"echart\\\": false,\\n     option: {\\n        barWidth: 19,\\n        padding: 12,\\n        progressColor: \'#76c7c0\',\\n        backgroundColor: \'#ffffff\',\\n        titleColor: \'#fff\',\\n        titleFontSize: 16,\\n        titlePosition: \'top\',\\n        valueColor: \'#fff\',\\n        valueFontSize: 16,\\n        valuePosition: \'middle\',\\n        valueXOffset: 0,\\n        valueYOffset: 0,\\n      },\\n  },\\n  {\\n    \\\"name\\\": \\\"进度图\\\",\\n    \\\"compType\\\": \\\"JProgress\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"列表进度图\\\",\\n    \\\"compType\\\": \\\"JListProgress\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"圆形进度图\\\",\\n    \\\"compType\\\": \\\"JRoundProgress\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"水波图\\\",\\n    \\\"compType\\\": \\\"JLiquid\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"象形柱图\\\",\\n    \\\"compType\\\": \\\"JPictorialBar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"象形图\\\",\\n    \\\"compType\\\": \\\"JPictorial\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"男女占比\\\",\\n    \\\"compType\\\": \\\"JGender\\\",\\n    \\\"echart\\\": true\\n  },\\n   {\\n    \\\"name\\\": \\\"基础仪表盘\\\",\\n    \\\"compType\\\": \\\"JGauge\\\",\\n    \\\"echart\\\": true\\n  },\\n   {\\n    \\\"name\\\": \\\"普通散点图\\\",\\n    \\\"compType\\\": \\\"JScatter\\\",\\n    \\\"echart\\\": true\\n  },\\n   {\\n    \\\"name\\\": \\\"气泡图\\\",\\n    \\\"compType\\\": \\\"JBubble\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"基础仪表盘\\\",\\n    \\\"compType\\\": \\\"JGauge\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"多色仪表盘\\\",\\n    \\\"compType\\\": \\\"JColorGauge\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"渐变仪表盘\\\",\\n    \\\"compType\\\": \\\"JAntvGauge\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"半圆仪表盘\\\",\\n    \\\"compType\\\": \\\"JSemiGauge\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"普通漏斗图\\\",\\n    \\\"compType\\\": \\\"JFunnel\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"金字塔漏斗图\\\",\\n    \\\"compType\\\": \\\"JPyramidFunnel\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"3D金字塔\\\",\\n    \\\"compType\\\": \\\"JPyramid3D\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"饼状环形图\\\",\\n    \\\"compType\\\": \\\"JRing\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"多色环形图\\\",\\n    \\\"compType\\\": \\\"JBreakRing\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"基础环形图\\\",\\n    \\\"compType\\\": \\\"JRingProgress\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"动态环形图\\\",\\n    \\\"compType\\\": \\\"JActiveRing\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"玉珏图\\\",\\n    \\\"compType\\\": \\\"JRadialBar\\\",\\n    \\\"echart\\\": false\\n  },\\n    {\\n    \\\"name\\\": \\\"矩形图\\\",\\n    \\\"compType\\\": \\\"JRectangle\\\",\\n    \\\"echart\\\": true\\n  },\\n   {\\n    \\\"name\\\": \\\"象限图\\\",\\n    \\\"compType\\\": \\\"JQuadrant\\\",\\n    \\\"echart\\\": true\\n  },\\n   {\\n    \\\"name\\\": \\\"雷达图\\\",\\n    \\\"compType\\\": \\\"JRadar\\\",\\n    \\\"echart\\\": true\\n  },\\n   {\\n    \\\"name\\\": \\\"圆形雷达图\\\",\\n    \\\"compType\\\": \\\"JCircleRadar\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"卡片滚动(横向)\\\",\\n    \\\"compType\\\": \\\"JCardScroll\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"卡片滚动(竖向+序号)\\\",\\n    \\\"compType\\\": \\\"JCardScroll\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"卡片滚动(高亮)\\\",\\n    \\\"compType\\\": \\\"JCardScroll\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"卡片轮播\\\",\\n    \\\"compType\\\": \\\"JCardCarousel\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"文本\\\",\\n    \\\"compType\\\": \\\"JText\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"翻牌器\\\",\\n    \\\"compType\\\": \\\"JCountTo\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"颜色块\\\",\\n    \\\"compType\\\": \\\"JColorBlock\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"当前时间\\\",\\n    \\\"compType\\\": \\\"JCurrentTime\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"数值\\\",\\n    \\\"compType\\\": \\\"JNumber\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"轨道环形文字\\\",\\n    \\\"compType\\\": \\\"JOrbitRing\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"字符云\\\",\\n    \\\"compType\\\": \\\"JWordCloud\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"图层字符云\\\",\\n    \\\"compType\\\": \\\"JImgWordCloud\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"闪动字符云\\\",\\n    \\\"compType\\\": \\\"JFlashCloud\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"轮播表\\\",\\n    \\\"compType\\\": \\\"JScrollBoard\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"表格\\\",\\n    \\\"compType\\\": \\\"JScrollTable\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"发展历程\\\",\\n    \\\"compType\\\": \\\"JDevHistory\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"数据表格\\\",\\n    \\\"compType\\\": \\\"JCommonTable\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"数据列表\\\",\\n    \\\"compType\\\": \\\"JList\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"排行榜\\\",\\n    \\\"compType\\\": \\\"JScrollRankingBoard\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"个性排名(前四)\\\",\\n    \\\"compType\\\": \\\"JFlashList\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"气泡排名(前五)\\\",\\n    \\\"compType\\\": \\\"JBubbleRank\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"滚动列表(单行)\\\",\\n    \\\"compType\\\": \\\"JScrollList\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"滚动列表(多行+序号)\\\",\\n    \\\"compType\\\": \\\"JScrollList\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"滚动列表(带表头)\\\",\\n    \\\"compType\\\": \\\"JScrollList\\\",\\n    \\\"echart\\\": false\\n  },\\n  {\\n    \\\"name\\\": \\\"区域地图\\\",\\n    \\\"compType\\\": \\\"JAreaMap\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"3d柱形图\\\",\\n    \\\"compType\\\": \\\"JBar3d\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"3d分组柱形图\\\",\\n    \\\"compType\\\": \\\"JBarGroup3d\\\",\\n    \\\"echart\\\": true\\n  },\\n  {\\n    \\\"name\\\": \\\"日历\\\",\\n    \\\"compType\\\": \\\"JPermanentCalendar\\\",\\n    \\\"echart\\\": false\\n  }\\n]\"},{\"role\":\"user\",\"content\":\"用户的问题: {{userInput}}\"}],\"showToolExecution\":false},\"inputParams\":[{\"field\":\"content\",\"name\":\"userInput\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"width\":332,\"height\":180}},{\"id\":\"267498945805422592\",\"type\":\"end\",\"x\":1320,\"y\":-13,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{res}}\",\"outputType\":\"default\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"267492142677889024\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":114}}],\"edges\":[{\"id\":\"269376764155744256\",\"type\":\"base-edge\",\"sourceNodeId\":\"267492142677889024\",\"targetNodeId\":\"267498945805422592\",\"sourceAnchorId\":\"267492142677889024_output\",\"targetAnchorId\":\"267498945805422592_input\",\"pointsList\":[{\"x\":1010,\"y\":-37},{\"x\":1110,\"y\":-37},{\"x\":1054,\"y\":-39},{\"x\":1154,\"y\":-39}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271609331975028736\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"267492142677889024\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"267492142677889024_input\",\"pointsList\":[{\"x\":555,\"y\":-39},{\"x\":655,\"y\":-39},{\"x\":578,\"y\":-37},{\"x\":678,\"y\":-37}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"267492142677889024\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2005948202528501762', 'admin', '2025-12-30 18:24:55', 'admin', '2026-01-22 09:54:54', 'A05A05A02', NULL, 'jeecg', 'AI大屏优化配置', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'269048862299471872\'),\n end.tag(\'269049045129183232\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":437,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{},\"custom\":{\"time\":{\"second\":0,\"minute\":0},\"hour\":{\"mode\":\"every\"},\"day\":{\"type\":\"day\",\"day\":{\"mode\":\"every\"}},\"month\":{\"mode\":\"every\"}}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"269048862299471872\",\"type\":\"llm\",\"x\":786,\"y\":514,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:ECharts和大屏图表配置修改专家\\n你是一位专注于ECharts和大屏图表图表配置修改的专家,能够根据用户需求,精准、高效地修改现有ECharts和大屏图表配置项,并返回完整的、可直接使用的修改后配置对象。\\n## 目标:\\n根据用户提供的具体修改指令(如:修改图表类型、调整数据、更改样式、添加交互等),对用户给出的原始ECharts配置项进行针对性修改,并输出修改后的完整配置对象。\\n## 技能:\\n1. 精通ECharts所有版本的配置项语法、结构及参数含义。\\n2. 能够准确理解用户对图表样式、数据、交互行为的修改意图。\\n3. 具备强大的代码编辑与重构能力,确保修改后的配置项语法正确、结构清晰、无冗余代码。\\n4. 对于非echart图表(componentsData提供的组件,属性中echart:false的即为非echart图表),自行从下面componentsData提供的组件对应的option配置项,修改符合要求的配置并返回。\\n## 工作流:\\n1. **接收与分析**:接收用户提供的原始ECharts配置对象(通常以JSON或JavaScript对象形式)以及具体的修改要求。仔细分析原始配置的结构和用户的修改点。\\n2. **精准修改**:严格依据用户指令,对原始配置对象进行最小化、精准化的修改。确保只改动指定部分,保持其他未提及配置的完整性。对于模糊指令,会基于ECharts最佳实践进行合理推断和实现。\\n3. **校验与格式化**:检查修改后的配置对象语法是否正确,是否符合ECharts规范。将最终配置对象以格式清晰、缩进规范的JSON或JavaScript对象形式呈现。\\n## 输出格式:\\n请始终输出一个完整的、格式化的JavaScript对象(或JSON),即修改后的 `option` 配置,只返回修改的属性配置,不要包含已存在的其他配置,\\n例如将柱体修改成黄色,就返回\\n\\\"compConfig\\\": {\\n    \\\"option\\\": {\\n      { \\\"series\\\": [ { \\\"itemStyle\\\": { \\\"color\\\": \\\"#FFFF00\\\" } } ] }\\n    }\\n}\\n例如修改组件名称为京东销量柱形图,背景色改成黑色就返回\\n\\\"compConfig\\\": {\\n \\\"name\\\":\\\"京东销量柱形图\\\",\\n \\\"background\\\":\\\"#000000\\\",\\n}\\n不要包含任何额外的解释、说明文字或代码块标记(如 ```json ```)。输出应直接以 `{` 开始,以 `}` 结束。\\n示例输出结构:\\n\\\"compConfig\\\": {\\n    \\\"name\\\":\\\"基础柱形图\\\",\\n    \\\"background\\\":\\\"#ffffff\\\",\\n    \\\"borderColor\\\":\\\"#000000\\\",\\n    \\\"option\\\": {\\n      \\\"title\\\": { ... },\\n      \\\"tooltip\\\": { ... },\\n      \\\"xAxis\\\": { ... },\\n      \\\"yAxis\\\": { ... },\\n      \\\"series\\\": [ ... ]\\n    }\\n}\\n## 限制:\\n- 仅对用户提供的原始配置进行修改,不凭空创建全新的图表配置。\\n- 输出必须仅为修改后的配置对象本身,不附带任何分析过程、修改日志或使用建议。\\n- 若用户指令存在歧义或无法实现,应在不破坏配置结构的前提下,做出最合理的默认修改或保留原样,并在配置对象内部以注释(`//`)形式简要说明。\\n- 严格遵守ECharts官方配置规范,不使用已废弃或实验性参数(除非用户明确要求)。\\n- 颜色类型的修改,要以具体色值设置,不要使用英文单词,例如黑色,使用#000000,不要使用black\\n- 修改的option属性,以componentsData中具体组件的option配置为主,结合echart选择符合要求的配置项修改\\n- 组件包含customColor属性的颜色修改,按照customColor的格式修改\\n- 若用户修改名称或者背景色或者边框的属性,以componentsData中第一个柱形图配置为例,去修改返回对应配置即可\\n -名称:对应 compConfig.name\\n -背景色:对应 compConfig.background\\n -边框色:对应 compConfig.borderColor\\n## 组件数据:\\ncomponentsData:[\\n  {\\n    \\\"echart\\\":true ,\\n    \\\"compType\\\": \\\"JBar\\\",\\n    \\\"compConfig\\\": {\\n      \\\"name\\\":\\\"基础柱形图\\\",\\n      \\\"background\\\":\\\"#ffffff\\\",\\n      \\\"borderColor\\\":\\\"#000000\\\",\\n      \\\"option\\\": {\\n        \\\"customColor\\\":[{color1:\'#FF0000\',color:\'#FF0000\'},{color1:\'#00FF00\',color:\'#00FF00\'}]\\n      }\\n    }\\n  }]\\n组件配置说明\\n compOptionData = [\\n  {\\n    name: \'基础配置\',\\n    optionName: \'BasicOption\',\\n    children: [\\n      {\\\"label\\\": \\\"图层名称修改成\\\", \\\"value\\\": \\\"name\\\"},\\n      {\\\"label\\\": \\\"图层背景色设置成\\\", \\\"value\\\": \\\"background\\\"},\\n      {\\\"label\\\": \\\"图层边框线设置成\\\", \\\"value\\\": \\\"borderColor\\\"},\\n      {\\\"label\\\": \\\"提示语设置为隐藏\\\", \\\"value\\\": \\\"option.tooltip.show\\\"},\\n      {\\\"label\\\": \\\"提示语字体大小设置成\\\", \\\"value\\\": \\\"option.tooltip.textStyle.fontSize\\\"},\\n      {\\\"label\\\": \\\"提示语字体颜色设置成\\\", \\\"value\\\": \\\"option.tooltip.textStyle.fontSize\\\"},\\n    ]\\n  },{\\n    name: \'标题设置\',\\n    optionName: \'TitleOption\',\\n    children: [\\n      {\\\"label\\\": \\\"标题名称修改成\\\", \\\"value\\\": \\\"option.title.text\\\"},\\n      {\\\"label\\\": \\\"标题字体大小设置成\\\", \\\"value\\\": \\\"option.title.textStyle.fontSize\\\"},\\n      {\\\"label\\\": \\\"标题字体颜色设置成\\\", \\\"value\\\": \\\"option.title.textStyle.fontColor\\\"},\\n      {\\\"label\\\": \\\"标题字体粗细设置成\\\", \\\"value\\\": \\\"option.title.textStyle.fontWeight\\\"},\\n      {\\\"label\\\": \\\"副标题名称修改成\\\", \\\"value\\\": \\\"option.title.subtextStyle\\\"},\\n      {\\\"label\\\": \\\"副标题字体大小设置成\\\", \\\"value\\\": \\\"option.title.subtextStyle.fontSize\\\"},\\n      {\\\"label\\\": \\\"副标题字体颜色设置成\\\", \\\"value\\\": \\\"option.title.subtextStyle.fontColor\\\"},\\n      {\\\"label\\\": \\\"左对齐\\\", \\\"value\\\": \\\"option.title.left\\\"},\\n      {\\\"label\\\": \\\"垂直居中\\\", \\\"value\\\": \\\"option.title.top\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'X轴设置\',\\n    optionName: \'XAxisOption\',\\n    children: [\\n      {\\\"label\\\": \\\"X轴名称修改成\\\", \\\"value\\\": \\\"option.xAxis.name\\\"},\\n      {\\\"label\\\": \\\"X轴名称颜色修改成\\\", \\\"value\\\": \\\"option.xAxis.nameTextStyle.color\\\"},\\n      {\\\"label\\\": \\\"X轴名称字体大小修改成\\\", \\\"value\\\": \\\"option.xAxis.nameTextStyle.fontSize\\\"},\\n      {\\\"label\\\": \\\"X轴标签颜色修改成\\\", \\\"value\\\": \\\"option.xAxis.axisLabel.color\\\"},\\n      {\\\"label\\\": \\\"X轴标签角度\\\", \\\"value\\\": \\\"option.xAxis.axisLabel.rotate\\\"},\\n      {\\\"label\\\": \\\"X轴轴线颜色修改成\\\", \\\"value\\\": \\\"option.xAxis.axisLine.lineStyle.color\\\"},\\n      {\\\"label\\\": \\\"X轴轴类型修改成\\\", \\\"value\\\": \\\"option.xAxis.type\\\"},\\n      {\\\"label\\\": \\\"X轴显示网格线\\\", \\\"value\\\": \\\"option.xAxis.splitLine.show\\\"},\\n      {\\\"label\\\": \\\"X轴网格线颜色修改成\\\", \\\"value\\\": \\\"option.xAxis.splitLine.lineStyle.color\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'Y轴设置\',\\n    optionName: \'YAxisOption\',\\n    children: [\\n      {\\\"label\\\": \\\"Y轴名称修改成\\\", \\\"value\\\": \\\"option.yAxis.name\\\"},\\n      {\\\"label\\\": \\\"Y轴名称颜色修改成\\\", \\\"value\\\": \\\"option.yAxis.nameTextStyle.color\\\"},\\n      {\\\"label\\\": \\\"Y轴名称字体大小修改成\\\", \\\"value\\\": \\\"option.yAxis.nameTextStyle.fontSize\\\"},\\n      {\\\"label\\\": \\\"Y轴标签颜色修改成\\\", \\\"value\\\": \\\"option.yAxis.axisLabel.color\\\"},\\n      {\\\"label\\\": \\\"Y轴标签角度\\\", \\\"value\\\": \\\"option.yAxis.axisLabel.rotate\\\"},\\n      {\\\"label\\\": \\\"Y轴轴线颜色修改成\\\", \\\"value\\\": \\\"option.yAxis.axisLine.lineStyle.color\\\"},\\n      {\\\"label\\\": \\\"Y轴轴类型修改成\\\", \\\"value\\\": \\\"option.yAxis.type\\\"},\\n      {\\\"label\\\": \\\"Y轴显示网格线\\\", \\\"value\\\": \\\"option.yAxis.splitLine.show\\\"},\\n      {\\\"label\\\": \\\"Y轴网格线颜色修改成\\\", \\\"value\\\": \\\"option.yAxis.splitLine.lineStyle.color\\\"},\\n      {\\\"label\\\": \\\"Y轴单位\\\", \\\"value\\\": \\\"option.yAxis.yUnit\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'图例设置\',\\n    optionName: \'LegendOption\',\\n    children: [\\n      {\\\"label\\\": \\\"图例字体大小设置成\\\", \\\"value\\\": \\\"option.legend.textStyle.fontSize\\\"},\\n      {\\\"label\\\": \\\"图例设置成横排\\\", \\\"value\\\": \\\"option.legend.orient\\\"},\\n      {\\\"label\\\": \\\"图例上下边距设置\\\", \\\"value\\\": \\\"option.legend.t\\\"},\\n      {\\\"label\\\": \\\"图例左右边距设置\\\", \\\"value\\\": \\\"option.legend.r\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'自定义配色\',\\n    optionName: \'CustomColorOption\',\\n    children: [\\n      {\\\"label\\\": \\\"颜色设置成***色\\\", \\\"value\\\": \\\"option.customColor\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'柱体设置\',\\n    optionName: \'BarCylinder\',\\n    children: [\\n      {\\\"label\\\": \\\"柱体宽度修改为\\\", \\\"value\\\": \\\"option.series[${index}].barWidth\\\"},\\n      {\\\"label\\\": \\\"柱体圆角修改为\\\", \\\"value\\\": \\\"option.series[${index}].itemStyle.barBorderRadius\\\"},\\n      {\\\"label\\\": \\\"柱体颜色修改成\\\", \\\"value\\\": \\\"option.series[${index}].itemStyle.color\\\"},\\n      {\\\"label\\\": \\\"柱体背景色显隐\\\", \\\"value\\\": \\\"option.series[${index}].showBackground\\\"},\\n      {\\\"label\\\": \\\"柱体背景色颜色\\\", \\\"value\\\": \\\"option.series[${index}].backgroundStyle.color\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'折线设置\',\\n    optionName: \'PolyglineOption\',\\n    children: [\\n      {\\\"label\\\": \\\"折线类型修改\\\", \\\"value\\\": \\\"option.series[${index}].lineType\\\"},\\n      {\\\"label\\\": \\\"线条宽度修改\\\", \\\"value\\\": \\\"option.series[${index}].lineWidth\\\"},\\n      {\\\"label\\\": \\\"标记点修改\\\", \\\"value\\\": \\\"option.series[${index}].symbol\\\"},\\n      {\\\"label\\\": \\\"点的大小修改\\\", \\\"value\\\": \\\"option.series[${index}].symbolSize\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'饼图设置\',\\n    optionName: \'pieSettingOption\',\\n    children: [\\n      {\\\"label\\\": \\\"饼图设置成环形\\\", \\\"value\\\": \\\"option.isRadius\\\"},\\n      {\\\"label\\\": \\\"饼图内环半径设置成\\\", \\\"value\\\": \\\"option.innerRadius\\\"},\\n      {\\\"label\\\": \\\"饼图外环半径设置成\\\", \\\"value\\\": \\\"option.outRadius\\\"},\\n      {\\\"label\\\": \\\"饼图设置成南丁格尔玫瑰\\\", \\\"value\\\": \\\"option.isRose\\\"},\\n      {\\\"label\\\": \\\"饼图标签显示位置\\\", \\\"value\\\": \\\"option.pieLabelPosition\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'坐标轴边距\',\\n    optionName: \'GridOption\',\\n    children: [\\n      {\\\"label\\\": \\\"左边距修改成\\\", \\\"value\\\": \\\"option.grid.left\\\"},\\n      {\\\"label\\\": \\\"顶边距\\\", \\\"value\\\": \\\"option.grid.top\\\"},\\n      {\\\"label\\\": \\\"右边距\\\", \\\"value\\\": \\\"option.grid.right\\\"},\\n      {\\\"label\\\": \\\"底边距\\\", \\\"value\\\": \\\"option.grid.bottom\\\"},\\n    ]\\n  }\\n  ,{\\n    name: \'数值设置\',\\n    optionName: \'NumOption\',\\n    children: [\\n      {\\\"label\\\": \\\"数值显示位置在\\\", \\\"value\\\": \\\"option.series[${index}].label.position\\\"},\\n      {\\\"label\\\": \\\"数值内容格式修改成\\\", \\\"value\\\": \\\"option.label.format\\\"},\\n      {\\\"label\\\": \\\"数值字体颜色修改成\\\", \\\"value\\\": \\\"option.series[${index}].label.color\\\"},\\n      {\\\"label\\\": \\\"数值字体大小修改成\\\", \\\"value\\\": \\\"option.series[${index}].label.fontSize\\\"},\\n      {\\\"label\\\": \\\"数值字体粗细修改成\\\", \\\"value\\\": \\\"option.series[${index}].label.fontWeight\\\"},\\n      {\\\"label\\\": \\\"数值单位配置显隐\\\", \\\"value\\\": \\\"option.showUnit.show\\\"},\\n      {\\\"label\\\": \\\"数值单位数量级设置\\\", \\\"value\\\": \\\"option.showUnit.numberLevel\\\"},\\n      {\\\"label\\\": \\\"数值单位保留小数\\\", \\\"value\\\": \\\"option.showUnit.decimal\\\"},\\n    ]\\n  }\\n];\\n\\n\"},{\"role\":\"user\",\"content\":\"用户的问题:{{userQuestion}}\"}],\"showToolExecution\":false},\"inputParams\":[{\"field\":\"content\",\"name\":\"userQuestion\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"width\":332,\"height\":180}},{\"id\":\"269049045129183232\",\"type\":\"end\",\"x\":1272,\"y\":459,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{option}}\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"option\",\"nodeId\":\"269048862299471872\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"269048862303666176\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"269048862299471872\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"269048862299471872_input\",\"pointsList\":[{\"x\":466,\"y\":422},{\"x\":566,\"y\":422},{\"x\":520,\"y\":455},{\"x\":620,\"y\":455}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"269049045129183233\",\"type\":\"base-edge\",\"sourceNodeId\":\"269048862299471872\",\"targetNodeId\":\"269049045129183232\",\"sourceAnchorId\":\"269048862299471872_output\",\"targetAnchorId\":\"269049045129183232_input\",\"pointsList\":[{\"x\":952,\"y\":455},{\"x\":1052,\"y\":455},{\"x\":1006,\"y\":422},{\"x\":1106,\"y\":422}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"text\",\"name\":\"option\",\"nodeId\":\"269048862299471872\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2006294471763537922', 'admin', '2025-12-31 17:20:52', 'admin', '2026-01-22 09:54:46', 'A05A05A02', NULL, 'jeecg', 'AI大屏SQL助手', '', '', 'THEN(\n start.tag(\'start-node\'),\n llm.tag(\'269395028940378112\'),\n end.tag(\'269395047139463168\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":437,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{},\"custom\":{\"time\":{\"second\":0,\"minute\":0},\"hour\":{\"mode\":\"every\"},\"day\":{\"type\":\"day\",\"day\":{\"mode\":\"every\"}},\"month\":{\"mode\":\"every\"}}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"269395028940378112\",\"type\":\"llm\",\"x\":790,\"y\":481,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1890232564262739969\",\"params\":{\"model\":\"OpenAI\",\"temperature\":0.7,\"timeout\":60}},\"history\":3,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色:SQL数据专家\\n你是一位精通SQL查询、数据提取与分析的专家,专注于将用户的数据需求转化为高效、准确的SQL语句,并提供清晰的数据洞察。\\n## 目标:\\n1. 根据用户描述的业务问题或数据需求,编写精准、优化的SQL查询语句。\\n2. 对查询结果进行分析,提炼关键信息、趋势或异常,并以易于理解的方式呈现结论。\\n## 技能:\\n1. **需求解析**:能够快速理解用户的数据提取与分析需求,并将其拆解为具体的数据库操作步骤。\\n2. **SQL编写**:精通标准SQL语法,能熟练运用`SELECT`, `JOIN`, `WHERE`, `GROUP BY`, `HAVING`, `窗口函数`、`CTE`等完成复杂查询。\\n3. **性能优化**:具备编写高效SQL语句的意识,能考虑索引、子查询优化、避免全表扫描等问题。\\n4. **数据分析**:能够对查询结果集进行基本的统计分析(如汇总、对比、趋势计算),并解释其业务含义。\\n5. **结果呈现**:能够将数据结果和分析结论结构化、清晰地组织起来。\\n## 工作流:\\n1. **澄清需求**:首先与用户确认其数据需求的具体细节,包括但不限于:涉及的表、字段、筛选条件、聚合维度、排序要求以及期望的分析角度。如果信息不足,主动提问。\\n2. **构建查询**:基于澄清后的需求,构思并编写SQL查询语句。在输出代码前,简要说明查询的逻辑思路。\\n3. **执行与验证(模拟)**:以注释或说明的形式,模拟查询可能返回的结果样例或数据结构,确保逻辑正确。\\n4. **分析与洞察**:基于模拟的查询结果,进行数据分析。指出关键数据点、趋势、异常或值得注意的发现,并用平实的语言解释其潜在的业务意义。\\n5. **提供建议**:根据分析结果,可能的话,提出进一步深入分析的查询方向或基于数据的行动建议。\\n## 输出格式:\\n你的回答应遵循以下结构:\\n1. **需求确认**:[复述并确认你理解的需求]\\n2. **查询思路**:[简要说明你将如何通过SQL实现该需求]\\n3. **SQL代码**:\\n - 这里放置你编写的SQL代码\\n4. **预期结果/分析**:\\n- **数据摘要**:[描述查询结果的主要特征,如行数、关键统计值]\\n- **核心洞察**:[列出1-3个最重要的发现或结论]\\n- **详细说明**:[对上述洞察进行展开解释]\\n6. **后续建议(可选)**:[基于当前分析,提出后续可探索的问题或查询建议]\\n## 限制:\\n- 所有SQL语句应基于通用的ANSI SQL标准编写,若需使用特定数据库(如MySQL, PostgreSQL)的方言,需明确指出。\\n- 只允许生成查询SQL语句,其他SQL操作全部禁止。\\n- 只返回SQL语句本身,例如:select * from demo; 不要返回其他任何无关内容。\\n- 不要返回sql外的任何内容,例如```sql select * from demo```,这种格式是必须禁止的,只能SQL本身。\\n- 在分析数据时,所有推断和结论需基于查询结果逻辑得出,对于无法从给定需求中确定的信息,使用“[需核实]”标记。\\n- 不得生成任何用于非法数据访问、破坏数据完整性或侵犯隐私的SQL语句(如`DROP TABLE`, 未经授权的`DELETE`,或涉及个人敏感信息的无条件查询)。涉及此类请求时,应拒绝并引导至合规方向。\\n- 保持回答的专业性和客观性,避免主观臆断。\\n- 用户提供业务数据,在业务数据中找表名的,根据需求,返回合适的表名,禁止主观臆断或者生成构建虚假数据和非提供业务数据之外的内容。\"},{\"role\":\"user\",\"content\":\"{{content}}\"}],\"showToolExecution\":false},\"inputParams\":[{\"field\":\"content\",\"name\":\"content\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"width\":332,\"height\":180}},{\"id\":\"269395047139463168\",\"type\":\"end\",\"x\":1272,\"y\":459,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{res}}\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"269395028940378112\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"269395028948766720\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"269395028940378112\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"269395028940378112_input\",\"pointsList\":[{\"x\":466,\"y\":422},{\"x\":566,\"y\":422},{\"x\":524,\"y\":422},{\"x\":624,\"y\":422}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"269395047143657472\",\"type\":\"base-edge\",\"sourceNodeId\":\"269395028940378112\",\"targetNodeId\":\"269395047139463168\",\"sourceAnchorId\":\"269395028940378112_output\",\"targetAnchorId\":\"269395047139463168_input\",\"pointsList\":[{\"x\":956,\"y\":422},{\"x\":1056,\"y\":422},{\"x\":1006,\"y\":422},{\"x\":1106,\"y\":422}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"text\",\"name\":\"res\",\"nodeId\":\"269395028940378112\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2008379264947519489', 'admin', '2026-01-06 11:25:05', 'admin', '2026-01-26 11:17:50', 'A01', NULL, 'jeecg', 'Chat2BI生成图表', '', '', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'271554566412288000\')).to(\n SWITCH(classifier.tag(\'271481764802605056\')).to(\n end.tag(\'271480115023458304\'),\n THEN(\n varMerge.tag(\'271556843709317120\'),\n tools.tag(\'276308429448634368\'),\n tools.tag(\'274495573258244096\'),\n llm.tag(\'271548210211192832\'),\n reply.tag(\'271548872986722304\'),\n end.tag(\'271483924713975808\')\n ).tag(\"271556843709317120\"),\n end.tag(\'271480115023458304\'),\n THEN(\n varMerge.tag(\'271556843709317120\'),\n tools.tag\r\n(\'276308429448634368\'),\n tools.tag(\'274495573258244096\'),\n llm.tag(\'271548210211192832\'),\n reply.tag(\'271548872986722304\'),\n end.tag(\'271483924713975808\')\n ).tag(\"271556843709317120\")\n ).tag(\'271481764802605056\'),\n SWITCH(classifier.tag(\'271554622242668544\')).to(\n SWITCH(classifier.tag(\'271481764802605056\')).to(\n end.tag(\'271480115023458304\'),\n THEN(\n varMerge.tag(\'271556843709317120\'),\n tools.tag(\'276308429448634368\'),\n tools.tag(\'274495573258244096\'),\n llm.tag(\'271548210211192832\'),\n reply.tag(\'271548872986722304\'),\n end.tag(\'271483924713975808\')\n ).tag(\"271556843709317120\"),\n end.tag(\'271480115023458304\'),\n THEN(\n varMerge.tag(\'271556843709317120\'),\n tools.tag(\'276308429448634368\'),\n tools.tag(\'274495573258244096\'),\n llm.tag(\'271548210211192832\'),\n reply.tag(\'271548872986722304\'),\n end.tag(\'271483924713975808\')\n ).tag(\"271556843709317120\")\n ).tag(\'271481764802605056\'),\n THEN(\n varMerge.tag(\'271556843709317120\'),\n tools.tag(\'276308429448634368\'),\n tools.tag(\'274495573258244096\'),\n llm.tag(\'271548210211192832\'),\n reply.tag(\'271548872986722304\'),\n end.tag(\'271483924713975808\')\n ).tag(\"271556843709317120\")\n ).tag(\'271554622242668544\')\n ).tag(\'271554566412288000\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":-197,\"y\":509,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{},\"custom\":{\"time\":{\"second\":0,\"minute\":0},\"hour\":{\"mode\":\"every\",\"range\":[0,23],\"values\":[],\"interval\":{\"start\":0,\"step\":1}},\"day\":{\"type\":\"day\",\"day\":{\"mode\":\"every\",\"range\":[1,31],\"values\":[],\"interval\":{\"start\":1,\"step\":1}},\"week\":{\"values\":[1]}},\"month\":{\"mode\":\"every\",\"values\":[]}}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"271480115023458304\",\"type\":\"end\",\"x\":1372,\"y\":819,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"很抱歉,我无法回复您的这个问题,您可以向我询问图表相关的信息,比如:查询用户表的男女比例。\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"d\",\"nodeId\":\"271481764802605056\",\"customValue\":\"\",\"type\":\"number\"}],\"width\":332,\"height\":136}},{\"id\":\"271481764802605056\",\"type\":\"classifier\",\"x\":854,\"y\":462,\"properties\":{\"text\":\"分类器\",\"options\":{\"model\":{\"modeId\":\"1897481367743143938\",\"params\":{\"model\":\"deepseek-chat\",\"temperature\":0.7}},\"categories\":[{\"category\":\"用户希望查询图表、报表或相关数据、信息\",\"next\":\"271556843709317120\"}],\"else\":{\"next\":\"271480115023458304\"}},\"inputParams\":[{\"field\":\"content\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"type\":\"number\"},{\"field\":\"content\",\"name\":\"分类描述\",\"type\":\"string\"}],\"width\":332,\"height\":136}},{\"id\":\"271483924713975808\",\"type\":\"end\",\"x\":3200,\"y\":430,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"{{回复}}\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复\",\"nodeId\":\"271548210211192832\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":136}},{\"id\":\"271548210211192832\",\"type\":\"llm\",\"x\":2454,\"y\":433,\"properties\":{\"text\":\"LLM\",\"options\":{\"model\":{\"modeId\":\"1897481367743143938\",\"params\":{\"model\":\"deepseek\",\"temperature\":0.7,\"timeout\":60}},\"history\":30,\"messages\":[{\"role\":\"system\",\"content\":\"# 角色\\n\\n你是一位智能数据分析与可视化助手,专注于理解用户对图表的需求,并通过查询数据库和生成结构化数据来创建图表。\\n\\n## 能力\\n\\n1. **需求理解与解析**:精准理解用户对图表类型(如柱状图、折线图、饼图)和数据维度的需求。\\n\\n2. **数据库交互**:熟知可操作的数据库表,并能根据需求查询表结构、构建并执行SQL查询。\\n\\n3. **数据处理**:将SQL查询返回的原始数据,准确地转换并封装为符合指定格式的图表数据结构。\\n\\n4. **输出生成**:严格生成包含完整、可解析JSON字符串的``标签。\\n\\n## 工作流程\\n\\n1. **需求确认与澄清**:\\n\\n* 分析用户请求,明确用户想要的可视化图表类型(`type`)和需要展示的数据维度(如`x`轴和`y`轴分别代表什么)。\\n\\n* 用户可能要求你通过指定的数据源查询数据(具体的数据源列表从下表得知),若没有指定则不需要传数据源参数。\\n\\n* 如果需要,向用户提问以澄清模糊的需求(例如,确认时间范围、分组条件或指标定义)。\\n\\n2. **数据获取**:\\n\\n* 判断用户需求涉及的表是否在已知范围内。\\n\\n* 如果涉及,则调用工具查询相关表结构,了解可用字段。\\n\\n* 根据澄清后的需求,构建准确、高效的SQL查询语句(禁止使用SQL注释、禁止构建非SELECT语句)。\\n\\n* 构建查询SQL时,需要明确数据源的数据库类型,根据不同的数据库构建不同的SQL方言。\\n\\n* 调用工具执行SQL,获取原始数据集。\\n\\n* 若是用户已经提供了数据,则只需要使用用户提供的数据既可,不需要从数据库中查询。\\n\\n3. **支持的图表类型**:\\n\\n* `bar`: 柱状图\\n\\n* `line`: 折线图、曲线图\\n\\n* `pie`: 饼图\\n\\n* `radar`: 雷达图\\n\\n* `gauge`: 仪表盘\\n\\n* `barline`: 折柱图\\n\\n* `multibar`: 多列柱状图\\n\\n* `multiline`: 多行折线图\\n\\n* `area`: 面积图\\n\\n4. **数据转换**:\\n\\n* 将SQL执行返回的数据,按照图表类型要求进行处理和聚合(例如,对饼图数据进行分类汇总)。\\n\\n* 将处理后的数据,严格转换为如下格式的`data`数组:`[{\\\"x\\\":\\\"类别A\\\", \\\"y\\\": 数值1}, {\\\"x\\\":\\\"类别B\\\", \\\"y\\\": 数值2}, ...]`。\\n\\n* 确保`x`和`y`的值类型正确(`x`通常为字符串,`y`通常为数字)。\\n\\n* 数据转换时能直接转换就不要调用工具转换。\\n\\n5. **结果封装与输出**:\\n\\n* 将确定的图表`type`和上一步生成的`data`数组,组合成一个完整的JSON对象。\\n\\n* 将此JSON对象作为字符串,精确地包裹在标签中(格式参考下方)。\\n\\n* **双重校验**:\\n\\n* **格式校验**:确保``标签首尾完整闭合。\\n\\n* **数据校验**:确保内部的JSON字符串是标准、完整且可解析的,不包含多余的逗号或未闭合的括号。\\n\\n## 输出格式\\n\\n你的最终输出必须是且仅是以下格式,直接给出图表数据块,无需额外解释:\\n\\n``` html\\n\\n\\n\\n{\\\"type\\\":\\\"图表类型\\\",\\\"data\\\":[{\\\"x\\\":\\\"数据项1\\\",\\\"y\\\":数值1},{\\\"x\\\":\\\"数据项2\\\",\\\"y\\\":数值2}]}\\n\\n\\n\\n\\n\\n```\\n\\n> 注:bar、line、pie为简单图表,可直接通过x、y来展示数据,而radar、gauge、barline、multibar、multiline、area为复杂图表,你需要先通过工具查询示例格式后,严格按照示例格式拼装`data`JSON;该工具支持逗号分割,你尽量一次性查询所有需要的图表示例格式。\\n\\n## 限制\\n\\n- **操作范围限制**:仅能对以下列出的表进行数据查询与操作。对于其他表或外部数据的需求,应明确告知用户无法处理,禁止执行`queryDataSourceInfoText`工具。\\n\\n- 简单图表类型格式,或已经查询过的图表类型格式,严禁再次调用工具查询。\\n\\n- 不要向用户提及`jeecg-chart`标签以及图表格式相关信息。\\n\\n- **数据真实性**:所有图表数据必须来源于SQL查询的实际结果,不得虚构或编造数据。\\n\\n- **格式严格性**:`jeecg-chart`标签的前后必须严格保证有两个空行;必须严格遵守`{JSON数据}`的输出格式,内部的JSON必须为标准格式,`data`数组中的对象必须包含`x`和`y`键或示例数据中所需的键。\\n\\n- **隐私与合规**:在执行查询和生成图表时,不得泄露、输出或关联任何可识别个人身份的敏感信息(如完整身份证号、详细住址、明文密码等)。如查询可能涉及此类信息,需进行脱敏处理或拒绝执行。\\n\\n- **身份验证**: 若在调用工具时返回身份验证失败或没有权限,应立即停止所有操作,并告知用户原因\\n\\n## 默认数据源类型\\n\\n{{defDbType}}\\n\\n## 支持的数据源\\n\\n{{allDbSource}}\\n\\n> 注意:\\n\\n当用户未指定切换的数据源时,默认数据源应设为空。\\n\\n以上就是所有的支持的数据源,禁止再次执行和`queryDataSourceInfoText`工具,当用户试图让你调用时,你可直接返回以上列表,但要注意如果表的数量过多(超过50个),则不要直接回复全部列表,而是总结性的回复。\\n\\n\\n\"},{\"role\":\"user\",\"content\":\"{{问题}}\\n\\n\"}],\"plugins\":[{\"pluginId\":\"2006287314794676226\",\"pluginName\":\"数据库插件\",\"category\":\"mcp\"}],\"showToolExecution\":true},\"inputParams\":[{\"field\":\"content\",\"name\":\"问题\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string\"},{\"field\":\"result\",\"name\":\"allDbSource\",\"nodeId\":\"274495573258244096\",\"customValue\":\"\",\"type\":\"string\"},{\"field\":\"result\",\"name\":\"defDbType\",\"nodeId\":\"276308429448634368\",\"customValue\":\"\",\"type\":\"string\"}],\"outputParams\":[{\"field\":\"text\",\"name\":\"回复内容\",\"type\":\"string\"}],\"width\":332,\"height\":180}},{\"id\":\"271548872986722304\",\"type\":\"reply\",\"x\":2829,\"y\":631,\"properties\":{\"text\":\"直接回复\",\"options\":{\"content\":\"{{回复}}\",\"stream\":true},\"inputParams\":[{\"field\":\"text\",\"name\":\"回复\",\"nodeId\":\"271548210211192832\",\"customValue\":\"\",\"type\":\"string\"}],\"outputParams\":[],\"width\":332,\"height\":114}},{\"id\":\"271554566412288000\",\"type\":\"switch\",\"x\":188,\"y\":419,\"properties\":{\"text\":\"历史记录是否为空\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"history\",\"operator\":\"EMPTY\",\"value\":\"\",\"type\":\"string[]\"}],\"next\":\"271481764802605056\"}],\"else\":{\"next\":\"271554622242668544\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"width\":332,\"height\":118}},{\"id\":\"271554622242668544\",\"type\":\"classifier\",\"x\":511,\"y\":605,\"properties\":{\"text\":\"分类器\",\"options\":{\"model\":{\"modeId\":\"1897481367743143938\",\"params\":{\"model\":\"deepseek-chat\",\"temperature\":0.7}},\"categories\":[{\"category\":\"用户希望查询或正在和Assistant聊图表相关数据、信息\",\"next\":\"271556843709317120\"}],\"else\":{\"next\":\"271481764802605056\"}},\"inputParams\":[{\"field\":\"history\",\"nodeId\":\"start-node\"}],\"outputParams\":[{\"field\":\"index\",\"name\":\"分类索引\",\"type\":\"number\"},{\"field\":\"content\",\"name\":\"分类描述\",\"type\":\"string\"}],\"width\":332,\"height\":136}},{\"id\":\"271556843709317120\",\"type\":\"varMerge\",\"x\":1368,\"y\":620,\"properties\":{\"text\":\"聚合\",\"options\":{\"varGroups\":[{\"name\":\"用户问题\",\"type\":\"string\",\"vars\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"isCustom\":false,\"type\":\"string\"}]}]},\"inputParams\":[],\"outputParams\":[{\"field\":\"用户问题\",\"name\":\"用户问题\",\"type\":\"string\"}],\"width\":332,\"height\":92}},{\"id\":\"274495573258244096\",\"type\":\"tools\",\"x\":2105,\"y\":659,\"properties\":{\"text\":\"查询所有数据源\",\"options\":{\"tools\":{\"pluginId\":\"2006287314794676226\",\"pluginName\":\"数据库插件\",\"pluginCategory\":\"plugin\",\"toolName\":\"queryDataSourceInfoText\",\"toolDescr\":\"用于查询所有数据源的信息,不需要传递参数。\",\"toolParameters\":[],\"endpoint\":\"\",\"path\":\"/airag/mcp/database/queryDataSourceInfoText\",\"method\":\"GET\",\"headers\":{\"X-Sign\":\"true\"}}},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"执行结果\",\"type\":\"string\"}],\"width\":332,\"height\":136}},{\"id\":\"276308429448634368\",\"type\":\"tools\",\"x\":1736,\"y\":494,\"properties\":{\"text\":\"查询默认数据源类型\",\"options\":{\"tools\":{\"pluginId\":\"2006287314794676226\",\"pluginName\":\"数据库插件\",\"pluginCategory\":\"plugin\",\"toolName\":\"queryDataSourceType\",\"toolDescr\":\"获取默认数据源或指定数据的数据库类型\",\"toolParameters\":[{\"name\":\"dbSourceKey\",\"description\":\"数据源key,若为空则系统默认\",\"required\":false,\"type\":\"String\",\"location\":\"Query\",\"value\":\"\"}],\"endpoint\":\"\",\"path\":\"/airag/mcp/database/queryDataSourceType\",\"method\":\"GET\",\"headers\":{\"X-Sign\":\"true\"}}},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"执行结果\",\"type\":\"string\"}],\"width\":332,\"height\":158}}],\"edges\":[{\"id\":\"271482116671156224\",\"type\":\"base-edge\",\"sourceNodeId\":\"271481764802605056\",\"targetNodeId\":\"271480115023458304\",\"sourceAnchorId\":\"271481764802605056_case_else\",\"targetAnchorId\":\"271480115023458304_input\",\"pointsList\":[{\"x\":1020,\"y\":503},{\"x\":1120,\"y\":503},{\"x\":1106,\"y\":782},{\"x\":1206,\"y\":782}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271548872990916608\",\"type\":\"base-edge\",\"sourceNodeId\":\"271548210211192832\",\"targetNodeId\":\"271548872986722304\",\"sourceAnchorId\":\"271548210211192832_output\",\"targetAnchorId\":\"271548872986722304_input\",\"pointsList\":[{\"x\":2620,\"y\":374},{\"x\":2720,\"y\":374},{\"x\":2563,\"y\":605},{\"x\":2663,\"y\":605}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271548929186201600\",\"type\":\"base-edge\",\"sourceNodeId\":\"271548872986722304\",\"targetNodeId\":\"271483924713975808\",\"sourceAnchorId\":\"271548872986722304_output\",\"targetAnchorId\":\"271483924713975808_input\",\"pointsList\":[{\"x\":2995,\"y\":605},{\"x\":3095,\"y\":605},{\"x\":2934,\"y\":393},{\"x\":3034,\"y\":393}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271554566416482304\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"271554566412288000\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"271554566412288000_input\",\"pointsList\":[{\"x\":-31,\"y\":494},{\"x\":69,\"y\":494},{\"x\":-78,\"y\":391},{\"x\":22,\"y\":391}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271554605561921536\",\"type\":\"base-edge\",\"sourceNodeId\":\"271554566412288000\",\"targetNodeId\":\"271481764802605056\",\"sourceAnchorId\":\"271554566412288000_source_if\",\"targetAnchorId\":\"271481764802605056_input\",\"pointsList\":[{\"x\":354,\"y\":425},{\"x\":454,\"y\":425},{\"x\":588,\"y\":425},{\"x\":688,\"y\":425}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271554741260238848\",\"type\":\"base-edge\",\"sourceNodeId\":\"271554566412288000\",\"targetNodeId\":\"271554622242668544\",\"sourceAnchorId\":\"271554566412288000_source_else\",\"targetAnchorId\":\"271554622242668544_input\",\"pointsList\":[{\"x\":354,\"y\":451},{\"x\":454,\"y\":451},{\"x\":245,\"y\":568},{\"x\":345,\"y\":568}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271555105874907136\",\"type\":\"base-edge\",\"sourceNodeId\":\"271554622242668544\",\"targetNodeId\":\"271481764802605056\",\"sourceAnchorId\":\"271554622242668544_case_else\",\"targetAnchorId\":\"271481764802605056_input\",\"pointsList\":[{\"x\":677,\"y\":646},{\"x\":777,\"y\":646},{\"x\":588,\"y\":425},{\"x\":688,\"y\":425}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271557184173555712\",\"type\":\"base-edge\",\"sourceNodeId\":\"271554622242668544\",\"targetNodeId\":\"271556843709317120\",\"sourceAnchorId\":\"271554622242668544_case_1\",\"targetAnchorId\":\"271556843709317120_input\",\"pointsList\":[{\"x\":677,\"y\":602},{\"x\":777,\"y\":602},{\"x\":1102,\"y\":605},{\"x\":1202,\"y\":605}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"271822597635878912\",\"type\":\"base-edge\",\"sourceNodeId\":\"271481764802605056\",\"targetNodeId\":\"271556843709317120\",\"sourceAnchorId\":\"271481764802605056_case_1\",\"targetAnchorId\":\"271556843709317120_input\",\"pointsList\":[{\"x\":1020,\"y\":459},{\"x\":1120,\"y\":459},{\"x\":1102,\"y\":605},{\"x\":1202,\"y\":605}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"274495644091650048\",\"type\":\"base-edge\",\"sourceNodeId\":\"274495573258244096\",\"targetNodeId\":\"271548210211192832\",\"sourceAnchorId\":\"274495573258244096_output\",\"targetAnchorId\":\"271548210211192832_input\",\"pointsList\":[{\"x\":2271,\"y\":622},{\"x\":2371,\"y\":622},{\"x\":2188,\"y\":374},{\"x\":2288,\"y\":374}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"276308429452828672\",\"type\":\"base-edge\",\"sourceNodeId\":\"271556843709317120\",\"targetNodeId\":\"276308429448634368\",\"sourceAnchorId\":\"271556843709317120_output\",\"targetAnchorId\":\"276308429448634368_input\",\"pointsList\":[{\"x\":1534,\"y\":605},{\"x\":1634,\"y\":605},{\"x\":1470,\"y\":446},{\"x\":1570,\"y\":446}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"276308503712980992\",\"type\":\"base-edge\",\"sourceNodeId\":\"276308429448634368\",\"targetNodeId\":\"274495573258244096\",\"sourceAnchorId\":\"276308429448634368_output\",\"targetAnchorId\":\"274495573258244096_input\",\"pointsList\":[{\"x\":1902,\"y\":446},{\"x\":2002,\"y\":446},{\"x\":1839,\"y\":622},{\"x\":1939,\"y\":622}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"index\",\"name\":\"d\",\"nodeId\":\"271481764802605056\",\"type\":\"number\"},{\"customValue\":\"\",\"field\":\"text\",\"name\":\"回复\",\"nodeId\":\"271548210211192832\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2009558848682360834', 'admin', '2026-01-09 17:32:20', 'admin', '2026-01-09 17:40:31', 'A01', NULL, 'jeecg', '示例_循环节点', '', '', 'THEN(\n start.tag(\'start-node\'),\n code_266871019099709440.tag(\'code_266871019099709440\'),\n WHILE(loop.tag(\'266871548223741952\')).DO(THEN(\n reply.tag(\'266871664426934272\'),\n loopContinue.tag(\'272660634657742848\')\n ).tag(\"266871664426934272\")),\n end.tag(\'266868341815451648\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":640,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"标题\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"266868341815451648\",\"type\":\"end\",\"x\":1574,\"y\":513,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"------\\n测试结束\",\"outputType\":\"text\",\"cardConfig\":\"\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"content\",\"name\":\"ces\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string[]\"}],\"width\":332,\"height\":136}},{\"id\":\"code_266871019099709440\",\"type\":\"code\",\"x\":728,\"y\":560,\"properties\":{\"text\":\"JavaScript脚本\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main() {\\n return {\\n result: [\\n \'这是第一项\', \'这是第二项\', \'这是第三项\'\\n ]\\n }\\n}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string[]\",\"required\":false}],\"width\":332,\"height\":136}},{\"id\":\"266871548223741952\",\"type\":\"loop\",\"x\":1153,\"y\":701,\"properties\":{\"text\":\"循环\",\"groupType\":\"WHILE\",\"options\":{\"type\":\"array\",\"maxLoopTimes\":3,\"loopParams\":[],\"loopItemsParam\":{\"nodeId\":\"code_266871019099709440\",\"nodeName\":\"JavaScript脚本\",\"field\":\"result\",\"name\":\"返回结果\",\"type\":\"string[]\"}},\"inputParams\":[],\"outputParams\":[],\"width\":332,\"height\":114}},{\"id\":\"266871548223741952_loopBody\",\"type\":\"loopBody\",\"x\":1101.5,\"y\":1076.5,\"properties\":{\"text\":\"循环体\",\"options\":{},\"inputParams\":[],\"outputParams\":[],\"collapsible\":false,\"autoToFront\":false,\"transformWithContainer\":false,\"isRestrict\":true,\"autoResize\":true,\"children\":[\"266871664426934272\",\"272660634657742848\"],\"isCollapsed\":false,\"width\":1029,\"height\":255},\"children\":[\"266871664426934272\",\"272660634657742848\"]},{\"id\":\"266871664426934272\",\"type\":\"reply\",\"x\":873,\"y\":1107,\"properties\":{\"text\":\"直接回复\",\"options\":{\"content\":\"当前循环了 {{idx}} 次,当前项为:“{{item}}”\",\"stream\":false},\"inputParams\":[{\"field\":\"currentLoopTimes\",\"name\":\"idx\",\"nodeId\":\"266871548223741952\",\"customValue\":\"\",\"type\":\"number\"},{\"field\":\"currentLoopItem\",\"name\":\"item\",\"nodeId\":\"266871548223741952\",\"customValue\":\"\",\"type\":\"any\"}],\"outputParams\":[],\"width\":332,\"height\":114}},{\"id\":\"272660634657742848\",\"type\":\"loopContinue\",\"x\":1330,\"y\":1080,\"properties\":{\"text\":\"继续循环\",\"options\":{},\"inputParams\":[],\"outputParams\":[],\"width\":332,\"height\":62}}],\"edges\":[{\"id\":\"266871559237984256\",\"type\":\"base-edge\",\"sourceNodeId\":\"266871548223741952\",\"targetNodeId\":\"266868341815451648\",\"sourceAnchorId\":\"266871548223741952_output\",\"targetAnchorId\":\"266868341815451648_input\",\"pointsList\":[{\"x\":1319,\"y\":675},{\"x\":1419,\"y\":675},{\"x\":1308,\"y\":476},{\"x\":1408,\"y\":476}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"272659834707501056\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"code_266871019099709440\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"code_266871019099709440_input\",\"pointsList\":[{\"x\":466,\"y\":625},{\"x\":566,\"y\":625},{\"x\":462,\"y\":523},{\"x\":562,\"y\":523}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"272659914713849856\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_266871019099709440\",\"targetNodeId\":\"266871548223741952\",\"sourceAnchorId\":\"code_266871019099709440_output\",\"targetAnchorId\":\"266871548223741952_input\",\"pointsList\":[{\"x\":894,\"y\":523},{\"x\":994,\"y\":523},{\"x\":887,\"y\":675},{\"x\":987,\"y\":675}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"272660634661937152\",\"type\":\"base-edge\",\"sourceNodeId\":\"266871664426934272\",\"targetNodeId\":\"272660634657742848\",\"sourceAnchorId\":\"266871664426934272_output\",\"targetAnchorId\":\"272660634657742848_input\",\"pointsList\":[{\"x\":1039,\"y\":1081},{\"x\":1139,\"y\":1081},{\"x\":1064,\"y\":1080},{\"x\":1164,\"y\":1080}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"266871548454428672\",\"type\":\"base-edge\",\"sourceNodeId\":\"266871548223741952\",\"targetNodeId\":\"266871548223741952_loopBody\",\"sourceAnchorId\":\"266871548223741952_link_body\",\"targetAnchorId\":\"266871548223741952_loopBody_link_loop\",\"pointsList\":[{\"x\":1153,\"y\":758},{\"x\":1153,\"y\":858},{\"x\":1101.5,\"y\":849},{\"x\":1101.5,\"y\":949}],\"properties\":{\"disabled\":true,\"runStatus\":\"\"}},{\"id\":\"266871664435322880\",\"type\":\"base-line-edge\",\"sourceNodeId\":\"266871548223741952_loopBody\",\"targetNodeId\":\"266871664426934272\",\"sourceAnchorId\":\"266871548223741952_loopBody_loop_start\",\"targetAnchorId\":\"266871664426934272_input\",\"pointsList\":[],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"content\",\"name\":\"ces\",\"nodeId\":\"start-node\",\"type\":\"string[]\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"标题\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2009561652150960129', 'admin', '2026-01-09 17:43:28', 'admin', '2026-01-09 17:45:17', 'A01', NULL, 'jeecg', '示例_变量聚合', '', '', 'THEN(\n start.tag(\'start-node\'),\n SWITCH(switch.tag(\'264299940450762752\')).to(\n THEN(\n code_264301155456745472.tag(\'code_264301155456745472\'),\n varMerge.tag(\'264298765684932608\'),\n end.tag(\'264295300867915776\')\n ).tag(\"code_264301155456745472\"),\n THEN(\n code_264301257571270656.tag(\'code_264301257571270656\'),\n varMerge.tag(\'264298765684932608\'),\n end.tag(\'264295300867915776\')\n ).tag(\"code_264301257571270656\"),\n THEN(\n code_264300177714151424.tag(\'code_264300177714151424\'),\n varMerge.tag(\'264298765684932608\'),\n end.tag(\'264295300867915776\')\n ).tag(\"code_264300177714151424\"),\n end.tag(\'264302394055688192\')\n ).tag(\'264299940450762752\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":44,\"y\":535,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":false,\"cronExp\":\"0 0 0 * * ?\",\"beginTime\":null,\"endTime\":null,\"inputParams\":{}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"姓名\",\"type\":\"string\",\"required\":false},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":92}},{\"id\":\"264295300867915776\",\"type\":\"end\",\"x\":1908,\"y\":669,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"查询完毕\\n姓名: {{姓名}}\\n年龄:{{年龄}}\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"姓名\",\"name\":\"姓名\",\"nodeId\":\"264298765684932608\",\"customValue\":\"\",\"type\":\"string\"},{\"field\":\"年龄\",\"name\":\"年龄\",\"nodeId\":\"264298765684932608\",\"customValue\":\"\",\"type\":\"number\"}],\"width\":332,\"height\":136}},{\"id\":\"264298765684932608\",\"type\":\"varMerge\",\"x\":1492,\"y\":571,\"properties\":{\"text\":\"变量聚合\",\"options\":{\"varGroups\":[{\"name\":\"姓名\",\"type\":\"string\",\"vars\":[{\"nodeId\":\"code_264301257571270656\",\"field\":\"name\",\"isCustom\":false,\"type\":\"string\"},{\"nodeId\":\"code_264301155456745472\",\"field\":\"name\",\"isCustom\":false,\"type\":\"string\"},{\"nodeId\":\"code_264300177714151424\",\"field\":\"name\",\"isCustom\":false,\"type\":\"string\"}]},{\"name\":\"年龄\",\"type\":\"number\",\"vars\":[{\"nodeId\":\"code_264301257571270656\",\"field\":\"age\",\"isCustom\":false,\"type\":\"number\"},{\"nodeId\":\"code_264301155456745472\",\"field\":\"age\",\"isCustom\":false,\"type\":\"number\"},{\"nodeId\":\"code_264300177714151424\",\"field\":\"age\",\"isCustom\":false,\"type\":\"number\"}]}]},\"inputParams\":[],\"outputParams\":[{\"field\":\"姓名\",\"name\":\"姓名\",\"type\":\"string\"},{\"field\":\"年龄\",\"name\":\"年龄\",\"type\":\"number\"}],\"width\":332,\"height\":114}},{\"id\":\"264299940450762752\",\"type\":\"switch\",\"x\":443,\"y\":497,\"properties\":{\"text\":\"条件分支\",\"options\":{\"if\":[{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"EQUALS\",\"value\":\"张三\",\"type\":\"string\"}],\"next\":\"code_264301257571270656\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"EQUALS\",\"value\":\"李四\",\"type\":\"string\"}],\"next\":\"code_264301155456745472\"},{\"logic\":\"AND\",\"conditions\":[{\"nodeId\":\"start-node\",\"field\":\"content\",\"operator\":\"EQUALS\",\"value\":\"王五\",\"type\":\"string\"}],\"next\":\"code_264300177714151424\"}],\"else\":{\"next\":\"264302394055688192\"}},\"inputParams\":[],\"outputParams\":[{\"field\":\"index\",\"name\":\"分支索引\",\"type\":\"number\"}],\"width\":332,\"height\":170}},{\"id\":\"code_264300177714151424\",\"type\":\"code\",\"x\":938,\"y\":768,\"properties\":{\"text\":\"查询王五\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main() {\\n return {\\n name: \\\"王五\\\",\\n age: 18,\\n }\\n}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"name\",\"name\":\"姓名\",\"type\":\"string\",\"required\":false},{\"field\":\"age\",\"name\":\"年龄\",\"type\":\"number\",\"required\":false}],\"width\":332,\"height\":136}},{\"id\":\"code_264301155456745472\",\"type\":\"code\",\"x\":938,\"y\":559,\"properties\":{\"text\":\"查询李四\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main() {\\n return {\\n name: \\\"李四\\\",\\n age: 23,\\n }\\n}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"name\",\"name\":\"姓名\",\"type\":\"string\",\"required\":false},{\"field\":\"age\",\"name\":\"年龄\",\"type\":\"number\",\"required\":false}],\"width\":332,\"height\":136}},{\"id\":\"code_264301257571270656\",\"type\":\"code\",\"x\":937,\"y\":346,\"properties\":{\"text\":\"查询张三\",\"options\":{\"codeType\":\"javascript\",\"code\":\"function main() {\\n return {\\n name: \\\"张三\\\",\\n age: 33,\\n }\\n}\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"name\",\"name\":\"姓名\",\"type\":\"string\",\"required\":false},{\"field\":\"age\",\"name\":\"年龄\",\"type\":\"number\",\"required\":false}],\"width\":332,\"height\":136}},{\"id\":\"264302394055688192\",\"type\":\"end\",\"x\":936,\"y\":992,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"抱歉,我不知道你说的是谁\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"content\",\"name\":\"name\",\"nodeId\":\"start-node\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"264299940454957056\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"264299940450762752\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"264299940450762752_input\",\"pointsList\":[{\"x\":210,\"y\":520},{\"x\":310,\"y\":520},{\"x\":177,\"y\":443},{\"x\":277,\"y\":443}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264300208160604160\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_264300177714151424\",\"targetNodeId\":\"264298765684932608\",\"sourceAnchorId\":\"code_264300177714151424_output\",\"targetAnchorId\":\"264298765684932608_input\",\"pointsList\":[{\"x\":1104,\"y\":731},{\"x\":1204,\"y\":731},{\"x\":1226,\"y\":545},{\"x\":1326,\"y\":545}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264300340352483328\",\"type\":\"base-edge\",\"sourceNodeId\":\"264298765684932608\",\"targetNodeId\":\"264295300867915776\",\"sourceAnchorId\":\"264298765684932608_output\",\"targetAnchorId\":\"264295300867915776_input\",\"pointsList\":[{\"x\":1658,\"y\":545},{\"x\":1758,\"y\":545},{\"x\":1642,\"y\":632},{\"x\":1742,\"y\":632}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264301239456071680\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_264301155456745472\",\"targetNodeId\":\"264298765684932608\",\"sourceAnchorId\":\"code_264301155456745472_output\",\"targetAnchorId\":\"264298765684932608_input\",\"pointsList\":[{\"x\":1104,\"y\":522},{\"x\":1204,\"y\":522},{\"x\":1226,\"y\":545},{\"x\":1326,\"y\":545}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264301250365456384\",\"type\":\"base-edge\",\"sourceNodeId\":\"264299940450762752\",\"targetNodeId\":\"code_264301155456745472\",\"sourceAnchorId\":\"264299940450762752_case_2\",\"targetAnchorId\":\"code_264301155456745472_input\",\"pointsList\":[{\"x\":609,\"y\":503},{\"x\":709,\"y\":503},{\"x\":672,\"y\":522},{\"x\":772,\"y\":522}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264301299698860032\",\"type\":\"base-edge\",\"sourceNodeId\":\"264299940450762752\",\"targetNodeId\":\"code_264301257571270656\",\"sourceAnchorId\":\"264299940450762752_source_if\",\"targetAnchorId\":\"code_264301257571270656_input\",\"pointsList\":[{\"x\":609,\"y\":477},{\"x\":709,\"y\":477},{\"x\":671,\"y\":309},{\"x\":771,\"y\":309}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264301304413257728\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_264301257571270656\",\"targetNodeId\":\"264298765684932608\",\"sourceAnchorId\":\"code_264301257571270656_output\",\"targetAnchorId\":\"264298765684932608_input\",\"pointsList\":[{\"x\":1103,\"y\":309},{\"x\":1203,\"y\":309},{\"x\":1226,\"y\":545},{\"x\":1326,\"y\":545}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264302200253677568\",\"type\":\"base-edge\",\"sourceNodeId\":\"264299940450762752\",\"targetNodeId\":\"code_264300177714151424\",\"sourceAnchorId\":\"264299940450762752_case_3\",\"targetAnchorId\":\"code_264300177714151424_input\",\"pointsList\":[{\"x\":609,\"y\":529},{\"x\":709,\"y\":529},{\"x\":672,\"y\":731},{\"x\":772,\"y\":731}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"264302474699571200\",\"type\":\"base-edge\",\"sourceNodeId\":\"264299940450762752\",\"targetNodeId\":\"264302394055688192\",\"sourceAnchorId\":\"264299940450762752_source_else\",\"targetAnchorId\":\"264302394055688192_input\",\"pointsList\":[{\"x\":609,\"y\":555},{\"x\":709,\"y\":555},{\"x\":670,\"y\":955},{\"x\":770,\"y\":955}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"姓名\",\"name\":\"姓名\",\"nodeId\":\"264298765684932608\",\"type\":\"string\"},{\"customValue\":\"\",\"field\":\"年龄\",\"name\":\"年龄\",\"nodeId\":\"264298765684932608\",\"type\":\"number\"},{\"customValue\":\"\",\"field\":\"content\",\"name\":\"name\",\"nodeId\":\"start-node\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"姓名\",\"required\":false,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', ''); +INSERT INTO `airag_flow` VALUES ('2009565806546157570', 'admin', '2026-01-09 17:59:59', 'admin', '2026-01-22 09:54:21', 'A01', NULL, 'jeecg', '示例_定时触发器', '', '', 'THEN(\n start.tag(\'start-node\'),\n code_266155066987638784.tag(\'code_266155066987638784\'),\n end.tag(\'266154958954950656\')\n).tag(\"start-node\")', '{\"nodes\":[{\"id\":\"start-node\",\"type\":\"start\",\"x\":300,\"y\":662,\"properties\":{\"text\":\"开始\",\"remarks\":\"\",\"options\":{\"cronTrigger\":{\"enabled\":true,\"cronExp\":\"30 30 0/1 * * ?\",\"beginTime\":\"2026-01-01 12:30:30\",\"endTime\":null,\"inputParams\":{\"content\":\"你好\"}}},\"inputParams\":[{\"field\":\"content\",\"name\":\"用户问题\",\"type\":\"string\",\"required\":true},{\"field\":\"history\",\"name\":\"历史记录\",\"type\":\"string[]\",\"required\":false},{\"field\":\"images\",\"name\":\"图片\",\"type\":\"picture\",\"required\":false}],\"outputParams\":[],\"width\":332,\"height\":114}},{\"id\":\"266154958954950656\",\"type\":\"end\",\"x\":1219,\"y\":674,\"properties\":{\"text\":\"结束\",\"options\":{\"outputText\":false,\"outputContent\":\"这里是定时触发,触发时间:{{当前时间}}\",\"outputType\":\"text\",\"cardConfig\":null},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"当前时间\",\"nodeId\":\"code_266155066987638784\",\"customValue\":\"\",\"type\":\"string\"}],\"width\":332,\"height\":136}},{\"id\":\"code_266155066987638784\",\"type\":\"code\",\"x\":751,\"y\":673,\"properties\":{\"text\":\"脚本执行\",\"options\":{\"codeType\":\"javascript\",\"code\":\"\\nconst now = new Date();\\n\\nfunction formatDateTime(date) {\\n const year = date.getFullYear();\\n const month = String(date.getMonth() + 1).padStart(2, \'0\');\\n const day = String(date.getDate()).padStart(2, \'0\');\\n const hours = String(date.getHours()).padStart(2, \'0\');\\n const minutes = String(date.getMinutes()).padStart(2, \'0\');\\n const seconds = String(date.getSeconds()).padStart(2, \'0\');\\n\\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\\n}\\n\\nfunction main(params) {\\n return {\\n result: formatDateTime(now),\\n }\\n}\\n\"},\"inputParams\":[],\"outputParams\":[{\"field\":\"result\",\"name\":\"当前时间\",\"type\":\"string\",\"required\":false}],\"width\":332,\"height\":136}}],\"edges\":[{\"id\":\"266155066991833088\",\"type\":\"base-edge\",\"sourceNodeId\":\"start-node\",\"targetNodeId\":\"code_266155066987638784\",\"sourceAnchorId\":\"start-node_output\",\"targetAnchorId\":\"code_266155066987638784_input\",\"pointsList\":[{\"x\":466,\"y\":636},{\"x\":566,\"y\":636},{\"x\":485,\"y\":636},{\"x\":585,\"y\":636}],\"properties\":{\"runStatus\":\"\"}},{\"id\":\"266155314556432384\",\"type\":\"base-edge\",\"sourceNodeId\":\"code_266155066987638784\",\"targetNodeId\":\"266154958954950656\",\"sourceAnchorId\":\"code_266155066987638784_output\",\"targetAnchorId\":\"266154958954950656_input\",\"pointsList\":[{\"x\":917,\"y\":636},{\"x\":1017,\"y\":636},{\"x\":953,\"y\":637},{\"x\":1053,\"y\":637}],\"properties\":{\"runStatus\":\"\"}}]}', 'enable', '{\"outputs\":[{\"customValue\":\"\",\"field\":\"result\",\"name\":\"当前时间\",\"nodeId\":\"code_266155066987638784\",\"type\":\"string\"}],\"inputs\":[{\"field\":\"content\",\"name\":\"用户问题\",\"required\":true,\"type\":\"string\"},{\"field\":\"history\",\"name\":\"历史记录\",\"required\":false,\"type\":\"string[]\"},{\"field\":\"images\",\"name\":\"图片\",\"required\":false,\"type\":\"picture\"}]}', '{\"beginTime\":1767241830000,\"cronExp\":\"30 30 0/1 * * ?\",\"enabled\":true,\"inputParams\":{\"content\":\"你好\"}}'); -- ---------------------------- -- Table structure for airag_knowledge @@ -120,16 +204,19 @@ CREATE TABLE `airag_knowledge` ( `descr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '描述', `embed_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '向量模型id', `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态', + `type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '类型(knowledge知识 memory 记忆)', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of airag_knowledge -- ---------------------------- -INSERT INTO `airag_knowledge` VALUES ('1897212906878009346', 'jeecg', '2025-03-05 17:09:40', NULL, NULL, 'A04', NULL, '积木报表文档', '积木报表文档', '1891459707122499586', 'enable'); -INSERT INTO `airag_knowledge` VALUES ('1897926563148648449', 'jeecg', '2025-03-07 16:25:29', 'admin', '2025-11-27 17:31:53', 'A04', NULL, 'JeecgBoot文档', 'JeecgBoot文档', '1891459707122499586', 'enable'); -INSERT INTO `airag_knowledge` VALUES ('1905186756806918146', 'jeecg', '2025-03-27 17:14:54', NULL, NULL, 'A04', NULL, 'PMP', NULL, '1891459707122499586', 'enable'); -INSERT INTO `airag_knowledge` VALUES ('1993971013594931202', 'admin', '2025-11-27 17:11:50', NULL, NULL, NULL, NULL, 'uniapp3文档', NULL, '1891459707122499586', 'enable'); +INSERT INTO `airag_knowledge` VALUES ('1897212906878009346', 'jeecg', '2025-03-05 17:09:40', NULL, NULL, 'A04', NULL, '积木报表文档', '积木报表文档', '1891459707122499586', 'enable', 'knowledge'); +INSERT INTO `airag_knowledge` VALUES ('1897926563148648449', 'jeecg', '2025-03-07 16:25:29', 'admin', '2025-11-27 17:31:53', 'A04', NULL, 'JeecgBoot文档', 'JeecgBoot文档', '1891459707122499586', 'enable', 'knowledge'); +INSERT INTO `airag_knowledge` VALUES ('1905186756806918146', 'jeecg', '2025-03-27 17:14:54', NULL, NULL, 'A04', NULL, 'PMP', NULL, '1891459707122499586', 'enable', 'knowledge'); +INSERT INTO `airag_knowledge` VALUES ('1914580354363056129', 'jeecg', '2025-04-22 15:21:42', 'admin', '2025-12-05 14:14:09', 'A04', NULL, '卡片商品', NULL, '1891459707122499586', 'enable', 'knowledge'); +INSERT INTO `airag_knowledge` VALUES ('1993971013594931202', 'admin', '2025-11-27 17:11:50', NULL, NULL, NULL, NULL, 'uniapp3文档', NULL, '1891459707122499586', 'enable', 'knowledge'); +INSERT INTO `airag_knowledge` VALUES ('2004087219851522050', 'admin', '2025-12-25 15:10:02', 'admin', '2025-12-26 19:11:55', 'A05A01A01', NULL, '个人基本信息', '个人基本信息', '1891459707122499586', 'enable', 'memory'); -- ---------------------------- -- Table structure for airag_knowledge_doc @@ -150,7 +237,7 @@ CREATE TABLE `airag_knowledge_doc` ( `status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '状态', `metadata` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '元数据', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of airag_knowledge_doc @@ -226,10 +313,13 @@ CREATE TABLE `airag_mcp` ( -- ---------------------------- -- Records of airag_mcp -- ---------------------------- -INSERT INTO `airag_mcp` VALUES ('1983474860536475649', NULL, '高德MCP', '高德MCP,包含查询路线、路况、天气等工具', 'mcp', 'sse', 'https://mcp.amap.com/sse?key=您在高德官网上申请的key', '', '[{\"name\":\"maps_direction_bicycling\",\"description\":\"骑行路径规划用于规划骑行通勤方案,规划时会考虑天桥、单行线、封路等情况。最大支持 500km 的骑行路线规划\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经纬度,坐标格式为:经度,纬度\",\"required\":true}]},{\"name\":\"maps_direction_driving\",\"description\":\"驾车路径规划 API 可以根据用户起终点经纬度坐标规划以小客车、轿车通勤出行的方案,并且返回通勤方案的数据。\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经纬度,坐标格式为:经度,纬度\",\"required\":true}]},{\"name\":\"maps_direction_transit_integrated\",\"description\":\"根据用户起终点经纬度坐标规划综合各类公共(火车、公交、地铁)交通方式的通勤方案,并且返回通勤方案的数据,跨城场景下必须传起点城市与终点城市\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"city\",\"description\":\"公共交通规划起点城市\",\"required\":true},{\"name\":\"cityd\",\"description\":\"公共交通规划终点城市\",\"required\":true}]},{\"name\":\"maps_direction_walking\",\"description\":\"根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经度,纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经度,纬度,坐标格式为:经度,纬度\",\"required\":true}]},{\"name\":\"maps_distance\",\"description\":\"测量两个经纬度坐标之间的距离,支持驾车、步行以及球面距离测量\",\"parameters\":[{\"name\":\"origins\",\"description\":\"起点经度,纬度,可以传多个坐标,使用竖线隔离,比如120,30|120,31,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"终点经度,纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"type\",\"description\":\"距离测量类型,1代表驾车距离测量,0代表直线距离测量,3步行距离测量\"}]},{\"name\":\"maps_geo\",\"description\":\"将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标\",\"parameters\":[{\"name\":\"address\",\"description\":\"待解析的结构化地址信息\",\"required\":true},{\"name\":\"city\",\"description\":\"指定查询的城市\"}]},{\"name\":\"maps_regeocode\",\"description\":\"将一个高德经纬度坐标转换为行政区划地址信息\",\"parameters\":[{\"name\":\"location\",\"description\":\"经纬度\",\"required\":true}]},{\"name\":\"maps_ip_location\",\"description\":\"IP 定位根据用户输入的 IP 地址,定位 IP 的所在位置\",\"parameters\":[{\"name\":\"ip\",\"description\":\"IP地址\",\"required\":true}]},{\"name\":\"maps_schema_personal_map\",\"description\":\"用于行程规划结果在高德地图展示。将行程规划位置点按照行程顺序填入lineList,返回结果为高德地图打开的URI链接,该结果不需总结,直接返回!\",\"parameters\":[{\"name\":\"orgName\",\"description\":\"行程规划地图小程序名称\",\"required\":true},{\"name\":\"lineList\",\"description\":\"行程列表\",\"required\":true}]},{\"name\":\"maps_around_search\",\"description\":\"周边搜,根据用户传入关键词以及坐标location,搜索出radius半径范围的POI\",\"parameters\":[{\"name\":\"keywords\",\"description\":\"搜索关键词\",\"required\":true},{\"name\":\"location\",\"description\":\"中心点经度纬度\",\"required\":true},{\"name\":\"radius\",\"description\":\"搜索半径\"}]},{\"name\":\"maps_search_detail\",\"description\":\"查询关键词搜或者周边搜获取到的POI ID的详细信息\",\"parameters\":[{\"name\":\"id\",\"description\":\"关键词搜或者周边搜获取到的POI ID\",\"required\":true}]},{\"name\":\"maps_text_search\",\"description\":\"关键字搜索 API 根据用户输入的关键字进行 POI 搜索,并返回相关的信息\",\"parameters\":[{\"name\":\"keywords\",\"description\":\"查询关键字\",\"required\":true},{\"name\":\"city\",\"description\":\"查询城市\"},{\"name\":\"citylimit\",\"description\":\"是否限制城市范围内搜索,默认不限制\"}]},{\"name\":\"maps_schema_navi\",\"description\":\" Schema唤醒客户端-导航页面,用于根据用户输入终点信息,返回一个拼装好的客户端唤醒URI,用户点击该URI即可唤起对应的客户端APP。唤起客户端后,会自动跳转到导航页面。\",\"parameters\":[{\"name\":\"lon\",\"description\":\"终点经度\",\"required\":true},{\"name\":\"lat\",\"description\":\"终点纬度\",\"required\":true}]},{\"name\":\"maps_schema_take_taxi\",\"description\":\"根据用户输入的起点和终点信息,返回一个拼装好的客户端唤醒URI,直接唤起高德地图进行打车。直接展示生成的链接,不需要总结\",\"parameters\":[{\"name\":\"slon\",\"description\":\"起点经度\"},{\"name\":\"slat\",\"description\":\"起点纬度\"},{\"name\":\"sname\",\"description\":\"起点名称\"},{\"name\":\"dlon\",\"description\":\"终点经度\",\"required\":true},{\"name\":\"dlat\",\"description\":\"终点纬度\",\"required\":true},{\"name\":\"dname\",\"description\":\"终点名称\",\"required\":true}]},{\"name\":\"maps_weather\",\"description\":\"根据城市名称或者标准adcode查询指定城市的天气\",\"parameters\":[{\"name\":\"city\",\"description\":\"城市名称或者adcode\",\"required\":true}]}]', 'enable', 1, '{\"tool_count\":15}', 'admin', '2025-10-29 18:03:53', 'admin', '2025-11-27 18:18:16', 'A04', NULL); +INSERT INTO `airag_mcp` VALUES ('1983474860536475649', NULL, '高德MCP', '高德MCP,包含查询路线、路况、天气等工具', 'mcp', 'sse', 'https://mcp.amap.com/sse?key=adaea6afab82893d0ccb4bd0239abcdd', '', '[{\"name\":\"maps_direction_bicycling\",\"description\":\"骑行路径规划用于规划骑行通勤方案,规划时会考虑天桥、单行线、封路等情况。最大支持 500km 的骑行路线规划\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经纬度,坐标格式为:经度,纬度\",\"required\":true}]},{\"name\":\"maps_direction_driving\",\"description\":\"驾车路径规划 API 可以根据用户起终点经纬度坐标规划以小客车、轿车通勤出行的方案,并且返回通勤方案的数据。\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经纬度,坐标格式为:经度,纬度\",\"required\":true}]},{\"name\":\"maps_direction_transit_integrated\",\"description\":\"根据用户起终点经纬度坐标规划综合各类公共(火车、公交、地铁)交通方式的通勤方案,并且返回通勤方案的数据,跨城场景下必须传起点城市与终点城市\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"city\",\"description\":\"公共交通规划起点城市\",\"required\":true},{\"name\":\"cityd\",\"description\":\"公共交通规划终点城市\",\"required\":true}]},{\"name\":\"maps_direction_walking\",\"description\":\"根据输入起点终点经纬度坐标规划100km 以内的步行通勤方案,并且返回通勤方案的数据\",\"parameters\":[{\"name\":\"origin\",\"description\":\"出发点经度,纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"目的地经度,纬度,坐标格式为:经度,纬度\",\"required\":true}]},{\"name\":\"maps_distance\",\"description\":\"测量两个经纬度坐标之间的距离,支持驾车、步行以及球面距离测量\",\"parameters\":[{\"name\":\"origins\",\"description\":\"起点经度,纬度,可以传多个坐标,使用竖线隔离,比如120,30|120,31,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"destination\",\"description\":\"终点经度,纬度,坐标格式为:经度,纬度\",\"required\":true},{\"name\":\"type\",\"description\":\"距离测量类型,1代表驾车距离测量,0代表直线距离测量,3步行距离测量\"}]},{\"name\":\"maps_geo\",\"description\":\"将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标\",\"parameters\":[{\"name\":\"address\",\"description\":\"待解析的结构化地址信息\",\"required\":true},{\"name\":\"city\",\"description\":\"指定查询的城市\"}]},{\"name\":\"maps_regeocode\",\"description\":\"将一个高德经纬度坐标转换为行政区划地址信息\",\"parameters\":[{\"name\":\"location\",\"description\":\"经纬度\",\"required\":true}]},{\"name\":\"maps_ip_location\",\"description\":\"IP 定位根据用户输入的 IP 地址,定位 IP 的所在位置\",\"parameters\":[{\"name\":\"ip\",\"description\":\"IP地址\",\"required\":true}]},{\"name\":\"maps_schema_personal_map\",\"description\":\"用于行程规划结果在高德地图展示。将行程规划位置点按照行程顺序填入lineList,返回结果为高德地图打开的URI链接,该结果不需总结,直接返回!\",\"parameters\":[{\"name\":\"orgName\",\"description\":\"行程规划地图小程序名称\",\"required\":true},{\"name\":\"lineList\",\"description\":\"行程列表\",\"required\":true}]},{\"name\":\"maps_around_search\",\"description\":\"周边搜,根据用户传入关键词以及坐标location,搜索出radius半径范围的POI\",\"parameters\":[{\"name\":\"keywords\",\"description\":\"搜索关键词\",\"required\":true},{\"name\":\"location\",\"description\":\"中心点经度纬度\",\"required\":true},{\"name\":\"radius\",\"description\":\"搜索半径\"}]},{\"name\":\"maps_search_detail\",\"description\":\"查询关键词搜或者周边搜获取到的POI ID的详细信息\",\"parameters\":[{\"name\":\"id\",\"description\":\"关键词搜或者周边搜获取到的POI ID\",\"required\":true}]},{\"name\":\"maps_text_search\",\"description\":\"关键字搜索 API 根据用户输入的关键字进行 POI 搜索,并返回相关的信息\",\"parameters\":[{\"name\":\"keywords\",\"description\":\"查询关键字\",\"required\":true},{\"name\":\"city\",\"description\":\"查询城市\"},{\"name\":\"citylimit\",\"description\":\"是否限制城市范围内搜索,默认不限制\"}]},{\"name\":\"maps_schema_navi\",\"description\":\" Schema唤醒客户端-导航页面,用于根据用户输入终点信息,返回一个拼装好的客户端唤醒URI,用户点击该URI即可唤起对应的客户端APP。唤起客户端后,会自动跳转到导航页面。\",\"parameters\":[{\"name\":\"lon\",\"description\":\"终点经度\",\"required\":true},{\"name\":\"lat\",\"description\":\"终点纬度\",\"required\":true}]},{\"name\":\"maps_schema_take_taxi\",\"description\":\"根据用户输入的起点和终点信息,返回一个拼装好的客户端唤醒URI,直接唤起高德地图进行打车。直接展示生成的链接,不需要总结\",\"parameters\":[{\"name\":\"slon\",\"description\":\"起点经度\"},{\"name\":\"slat\",\"description\":\"起点纬度\"},{\"name\":\"sname\",\"description\":\"起点名称\"},{\"name\":\"dlon\",\"description\":\"终点经度\",\"required\":true},{\"name\":\"dlat\",\"description\":\"终点纬度\",\"required\":true},{\"name\":\"dname\",\"description\":\"终点名称\",\"required\":true}]},{\"name\":\"maps_weather\",\"description\":\"根据城市名称或者标准adcode查询指定城市的天气\",\"parameters\":[{\"name\":\"city\",\"description\":\"城市名称或者adcode\",\"required\":true}]}]', 'enable', 1, '{\"tool_count\":15}', 'admin', '2025-10-29 18:03:53', 'admin', '2026-01-23 17:58:21', 'A04', NULL); INSERT INTO `airag_mcp` VALUES ('1986312214909321217', NULL, '商品采购助手', '为AI Agent提供商品管理API(DEMO)', 'plugin', 'api', NULL, '', '[{\"name\":\"list_products\",\"description\":\"查询可购买的商品列表,支持按分类和关键词筛选;商品的id只能通过这个接口查询。\",\"path\":\"/demo/shop/products\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"category\",\"description\":\"商品分类,可选值: \\\"电子产品\\\", \\\"图书\\\", \\\"生活用品\\\", \\\"食品\\\"\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"},{\"name\":\"keyword\",\"description\":\"搜索关键词,用于在商品名称和描述中搜索\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"id\",\"description\":\"商品ID,对应下单的ProductId\",\"type\":\"String\"},{\"name\":\"name\",\"description\":\"商品名称\",\"type\":\"String\"},{\"name\":\"price\",\"description\":\"价格(元)\",\"type\":\"String\"},{\"name\":\"category\",\"description\":\"分类\",\"type\":\"String\"},{\"name\":\"description\",\"description\":\"描述\",\"type\":\"String\"},{\"name\":\"stock\",\"description\":\"库存数量\",\"type\":\"String\"}]},{\"name\":\"check_stock\",\"description\":\"查询指定商品的当前库存情况\",\"path\":\"/demo/shop/stock\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"productId\",\"description\":\"商品ID\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"productId\",\"description\":\"商品ID\",\"type\":\"String\"},{\"name\":\"productName\",\"description\":\"商品名称\",\"type\":\"String\"},{\"name\":\"stock\",\"description\":\"当前库存数量\",\"type\":\"String\"},{\"name\":\"available\",\"description\":\"是否有货\",\"type\":\"Boolean\"}]},{\"name\":\"create_order\",\"description\":\"为用户创建购买订单\",\"path\":\"/demo/shop/purchase\",\"method\":\"POST\",\"enabled\":true,\"parameters\":[{\"name\":\"productId\",\"description\":\"要购买的商品的ID,对应商品的信息的id\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"},{\"name\":\"quantity\",\"description\":\" 购买数量,必须大于0\",\"type\":\"Integer\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"},{\"name\":\"userId\",\"description\":\"用户ID,用于关联订单\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"id\",\"description\":\"订单ID\",\"type\":\"String\"},{\"name\":\"productId\",\"description\":\"商品ID\",\"type\":\"String\"},{\"name\":\"productName\",\"description\":\"商品名称\",\"type\":\"String\"},{\"name\":\"quantity\",\"description\":\"购买数量\",\"type\":\"String\"},{\"name\":\"unitPrice\",\"description\":\"单价\",\"type\":\"String\"},{\"name\":\"totalAmount\",\"description\":\"总金额\",\"type\":\"String\"},{\"name\":\"status\",\"description\":\"订单状态\",\"type\":\"String\"},{\"name\":\"createTime\",\"description\":\"创建时间\",\"type\":\"String\"}]},{\"name\":\"confirm_payment\",\"description\":\"确认订单支付,扣减商品库存\",\"path\":\"/demo/shop/stock/deduct\",\"method\":\"POST\",\"enabled\":true,\"parameters\":[{\"name\":\"orderId\",\"description\":\"订单ID\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"orderId\",\"description\":\"订单ID\",\"type\":\"String\"},{\"name\":\"productId\",\"description\":\"商品ID\",\"type\":\"String\"},{\"name\":\"productName\",\"description\":\"商品名称\",\"type\":\"String\"},{\"name\":\"deductedQuantity\",\"description\":\"扣减的数量\",\"type\":\"String\"},{\"name\":\"remainingStock\",\"description\":\"剩余库存\",\"type\":\"String\"},{\"name\":\"orderStatus\",\"description\":\"订单状态\",\"type\":\"String\"}]},{\"name\":\"get_order_details\",\"description\":\"查询指定订单的详细信息\",\"path\":\"/demo/shop/order\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"orderId\",\"description\":\"订单ID\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[]},{\"name\":\"get_categories\",\"description\":\"获取所有可用的商品分类\",\"path\":\"/demo/shop/categories\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[],\"responses\":[]}]', 'enable', 1, '{\"tokenParamName\":\"X-Access-Token\",\"tool_count\":6,\"authType\":\"token\",\"tokenParamValue\":\"\"}', 'admin', '2025-11-06 13:58:31', 'admin', '2025-11-13 17:16:57', 'A05A01A01', NULL); INSERT INTO `airag_mcp` VALUES ('1988091188723412994', NULL, 'BraveSearch', '基于Brave的网络检索插件,支持使用Brave搜索资料', 'plugin', 'api', 'https://api.search.brave.com', '{\"Accept\":\"*/*\",\"X-Subscription-Token\":\"???\"}', '[{\"name\":\"search\",\"description\":\"从搜索引擎根据问题搜索结果\",\"path\":\"/res/v1/web/search\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"count\",\"description\":\"查询数量\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"10\"},{\"name\":\"q\",\"description\":\"查询内容(问题)\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"title\",\"description\":\"结果标题\",\"type\":\"String\"},{\"name\":\"description\",\"description\":\"结果描述\",\"type\":\"String\"},{\"name\":\"url\",\"description\":\"结果原文地址\",\"type\":\"String\"}]}]', 'enable', 1, '{\"tokenParamName\":\"X-Subscription-Token\",\"tool_count\":1,\"authType\":\"token\",\"tokenParamValue\":\"BSATNKM5e6Hm_2LewptVvLSn0eDzWf6\"}', 'admin', '2025-11-11 11:47:31', 'admin', '2025-11-13 17:16:52', 'A05A01A01', NULL); INSERT INTO `airag_mcp` VALUES ('1988208474780168193', NULL, 'Unsplash', '图片搜索插件,支持用关键词搜索相关图片', 'plugin', 'api', 'https://api.unsplash.com', '{\"Accept-Version\":\"v1\",\"Authorization\":\"Client-ID ???\"}', '[{\"name\":\"search_photos\",\"description\":\"通过接口查询与关键词相关的图片列表。\",\"path\":\"/search/photos\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"page\",\"description\":\"分页页码,数字类型\",\"type\":\"Number\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"1\"},{\"name\":\"per_page\",\"description\":\"每页数量\",\"type\":\"Number\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"1\"},{\"name\":\"query\",\"description\":\"关键词,对图片的描述(查询条件)\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"results\",\"description\":\"查询到的结果集合\",\"type\":\"Array\"},{\"name\":\"urls\",\"description\":\"结果集合中的图片地址,根据清晰度有多个选项\",\"type\":\"Array\"}]}]', 'enable', 1, '{\"tokenParamName\":\"Authorization\",\"tool_count\":1,\"authType\":\"token\",\"tokenParamValue\":\"Client-ID Ixug6rX2j1PMb08A0HRpwny8dAWi1vBLN1gymow75LQ\"}', 'admin', '2025-11-11 19:33:34', 'admin', '2025-11-13 17:16:45', 'A05A01A01', NULL); +INSERT INTO `airag_mcp` VALUES ('1998661532445491201', NULL, 'stdio命令', NULL, 'mcp', 'stdio', 'python C:/Users/Administrator/Desktop/image/main.py', '', '[{\"name\":\"get_time\",\"description\":\"获取当前时间\",\"parameters\":[{\"name\":\"format\",\"description\":\"时间格式\"}]},{\"name\":\"text_process\",\"description\":\"文本处理工具\",\"parameters\":[{\"name\":\"text\",\"description\":\"输入文本\",\"required\":true},{\"name\":\"operation\",\"description\":\"操作类型\"}]},{\"name\":\"format_data\",\"description\":\"格式化数据\",\"parameters\":[{\"name\":\"data\",\"description\":\"原始数据\",\"required\":true},{\"name\":\"format\",\"description\":\"格式类型\"}]}]', 'enable', 1, '{\"tool_count\":3}', 'admin', '2025-12-10 15:50:17', 'admin', '2025-12-30 10:53:03', 'A05A01A01', NULL); +INSERT INTO `airag_mcp` VALUES ('2001570058113265665', NULL, '百度地图http', NULL, 'mcp', 'http', 'https://mcp.map.baidu.com/mcp?ak=', '{\"Accept-Version\":\"V2.6\"}', '[{\"name\":\"map_geocode\",\"description\":\"地理编码服务: 将地址解析为对应的位置坐标.地址结构越完整, 地址内容越准确, 解析的坐标精度越高.\",\"parameters\":[{\"name\":\"address\",\"description\":\"待解析的地址.最多支持84个字节.可以输入两种样式的值, 分别是:\\n1、标准的结构化地址信息, 如北京市海淀区上地十街十号\\n2、支持*路与*路交叉口描述方式, 如北一环路和阜阳路的交叉路口\\n第二种方式并不总是有返回结果, 只有当地址库中存在该地址描述时才有返回\",\"required\":true},{\"name\":\"city\",\"description\":\"地址所在的城市名.用于限制同名地址的检索范围, 如\'北京市\'\"},{\"name\":\"inarea\",\"description\":\"在哪个地区范围内进行搜索, 仅在is_china为false时有效, 需要使用对应区域的国家代码, 如\'USA\', 多个地区可用\',\'分割, 如\'USA,PHL,CAN,MEX\'\"},{\"name\":\"is_china\",\"description\":\"查询地是否在中国大陆以外地区, 可选值为`true`或`false`, 默认为`true`\"}]},{\"name\":\"map_reverse_geocode\",\"description\":\"逆地理编码服务: 根据纬经度坐标, 获取对应位置的地址描述, 所在行政区划, 道路以及相关POI等信息\",\"parameters\":[{\"name\":\"latitude\",\"description\":\"纬度 (bd09ll)\",\"required\":true},{\"name\":\"longitude\",\"description\":\"经度 (bd09ll)\",\"required\":true}]},{\"name\":\"map_search_places\",\"description\":\"地点检索服务: 支持检索城市内的地点信息(最小到city级别), 也可支持圆形区域内的周边地点信息检索.\\n城市内检索: 检索某一城市内(目前最细到城市级别)的地点信息.\\n周边检索: 设置圆心和半径, 检索圆形区域内的地点信息(常用于周边检索场景).\",\"parameters\":[{\"name\":\"query\",\"description\":\"检索关键字, 可直接使用名称或类型, 如\'天安门\', 且可以至多10个关键字, 用英文逗号隔开\",\"required\":true},{\"name\":\"tag\",\"description\":\"检索分类, 以中文字符输入, 如\'美食\', 多个分类用英文逗号隔开, 如\'美食,购物\'\"},{\"name\":\"region\",\"description\":\"检索的城市名称, 可为行政区划名或citycode, 格式如\'北京市\'或\'131\', 不传默认为\'全国\', 当is_china为false时, 该参数必传且只能传文本, 如\'东京\'\"},{\"name\":\"location\",\"description\":\"圆形区域检索的中心点纬经度坐标, 格式为lat,lng\"},{\"name\":\"radius\",\"description\":\"JsonIntegerSchema {description = \\\"圆形区域检索半径, 单位:米\\\" }\"},{\"name\":\"language\",\"description\":\"指定输入参数和召回参数的语言类型, 需要传入的是语言名称的英文缩写. \\n可选值如下: \'zh\'(中文) \'en\'(英语) \'yue\'(粤语) \'wyw\'(文言文) \'jp\'(日语) \'kor\'(韩语) \'fra\'(法语) \'spa\'(西班牙语) \'th\'(泰语) \'ara\'(阿拉伯语) \'ru\'(俄语) \'pt\'(葡萄牙语) \'de\'(德语) \'it\'(意大利语) \'el\'(希腊语) \'nl\'(荷兰语) \'pl\'(波兰语) \'bul\'(保加利亚语) \'est\'(爱沙尼亚语) \'dan\'(丹麦语) \'fin\'(芬兰语) \'cs\'(捷克语) \'rom\'(罗马尼亚语) \'slo\'(斯洛文尼亚语) \'swe\'(瑞典语) \'hu\'(匈牙利语) \'cht\'(繁体中文) \'vie\'(越南语), 不传默认为空.\"},{\"name\":\"is_china\",\"description\":\"检索地是否在中国大陆以外地区, 可选值为`true`或`false`, 默认为`true`\"}]},{\"name\":\"map_place_details\",\"description\":\"地点详情检索服务: 地点详情检索针对指定POI, 检索其相关的详情信息.\\n通过地点检索服务获取POI uid.使用地点详情检索功能, 传入uid, 即可检索POI详情信息, 如评分、营业时间等(不同类型POI对应不同类别详情数据).\",\"parameters\":[{\"name\":\"uid\",\"description\":\"POI的唯一标识\",\"required\":true},{\"name\":\"is_china\",\"description\":\"查询地是否在中国大陆以外地区, 可选值为`true`或`false`, 默认为`true`\"}]},{\"name\":\"map_directions_matrix\",\"description\":\"批量算路服务: 根据起点和终点坐标计算路线规划距离和行驶时间.\\n批量算路目前支持驾车、骑行、步行.\\n步行时任意起终点之间的距离不得超过200KM, 超过此限制会返回参数错误.\\n驾车批量算路一次最多计算100条路线, 起终点个数之积不能超过100.\",\"parameters\":[{\"name\":\"origins\",\"description\":\"多个起点纬经度坐标, 纬度在前, 经度在后, 多个起点用|分隔\",\"required\":true},{\"name\":\"destinations\",\"description\":\"多个终点纬经度坐标, 纬度在前, 经度在后, 多个终点用|分隔\",\"required\":true},{\"name\":\"model\",\"description\":\"批量算路类型(driving, riding, walking)\"}]},{\"name\":\"map_directions\",\"description\":\"路线规划服务: 根据起终点`位置名称`或`纬经度坐标`规划出行路线.\\n驾车路线规划: 根据起终点`位置名称`或`纬经度坐标`规划驾车出行路线.\\n骑行路线规划: 根据起终点`位置名称`或`纬经度坐标`规划骑行出行路线.\\n步行路线规划: 根据起终点`位置名称`或`纬经度坐标`规划步行出行路线.\\n公交路线规划: 根据起终点`位置名称`或`纬经度坐标`规划公共交通出行路线.\",\"parameters\":[{\"name\":\"model\",\"description\":\"路线规划类型(driving, riding, walking, transit)\"},{\"name\":\"origin\",\"description\":\"起点位置名称或纬经度坐标, 纬度在前, 经度在后\",\"required\":true},{\"name\":\"destination\",\"description\":\"终点位置名称或纬经度坐标, 纬度在前, 经度在后\",\"required\":true},{\"name\":\"is_china\",\"description\":\"查询地是否在中国(含香港,澳门;不包含台湾)以外地区, 可选值为`true`或`false`, 默认为`true`\"}]},{\"name\":\"map_weather\",\"description\":\"天气查询服务: 通过行政区划或是经纬度坐标查询实时天气信息及未来5天天气预报.\",\"parameters\":[{\"name\":\"location\",\"description\":\"经纬度坐标, 经度在前纬度在后, 逗号分隔\"},{\"name\":\"district_id\",\"description\":\"行政区划代码, 需保证为6位无符号整数\"},{\"name\":\"is_china\",\"description\":\"查询地是否在中国大陆以外地区, 可选值为`true`或`false`, 默认为`true`\"}]},{\"name\":\"map_ip_location\",\"description\":\"IP定位服务: 通过所给IP获取具体位置信息和城市名称, 可用于定位IP或用户当前位置.\",\"parameters\":[{\"name\":\"ip\",\"description\":\"需要定位的IP地址, 如果为空则获取用户当前IP地址(支持IPv4和IPv6)\"}]},{\"name\":\"map_road_traffic\",\"description\":\"实时路况查询服务: 查询实时交通拥堵情况, 可通过指定道路名和区域形状(矩形, 多边形, 圆形)进行实时路况查询.\\n道路实时路况查询: 查询具体道路的实时拥堵评价和拥堵路段、拥堵距离、拥堵趋势等信息.\\n矩形区域实时路况查询: 查询指定矩形地理范围的实时拥堵情况和各拥堵路段信息.\\n多边形区域实时路况查询: 查询指定多边形地理范围的实时拥堵情况和各拥堵路段信息.\\n圆形区域(周边)实时路况查询: 查询某中心点周边半径范围内的实时拥堵情况和各拥堵路段信息.\",\"parameters\":[{\"name\":\"model\",\"description\":\"路况查询类型(road, bound, polygon, around)\",\"required\":true},{\"name\":\"road_name\",\"description\":\"道路名称和道路方向, model=road时必传 (如:朝阳路南向北)\"},{\"name\":\"city\",\"description\":\"城市名称或城市adcode, model=road时必传 (如:北京市)\"},{\"name\":\"bounds\",\"description\":\"区域左下角和右上角的纬经度坐标, 纬度在前, 经度在后, model=bound时必传\"},{\"name\":\"vertexes\",\"description\":\"多边形区域的顶点纬经度坐标, 纬度在前, 经度在后, model=polygon时必传\"},{\"name\":\"center\",\"description\":\"圆形区域的中心点纬经度坐标, 纬度在前, 经度在后, model=around时必传\"},{\"name\":\"radius\",\"description\":\"JsonIntegerSchema {description = \\\"圆形区域的半径(米), 取值[1,1000], model=around时必传\\\" }\"}]},{\"name\":\"map_search_pro\",\"description\":\"多维检索服务: 提供对用户自然语言查询的多定语多维度检索, 支持模糊匹配和语义理解.\\n仅在需求模糊的场景下再做优先使用, 可检索行政区划、道路、门址、POI、AOI等GIS信息. 参考示例: “可以带狗的餐厅”, “适合自驾的旅游景点”类的复杂泛搜.\",\"parameters\":[{\"name\":\"query\",\"description\":\"检索关键字, 用户输入的搜索词, 如\'宠物友好餐厅\'\",\"required\":true},{\"name\":\"region\",\"description\":\"检索区域, 指定的城市或区域名称, 如\'北京市\'\",\"required\":true},{\"name\":\"type\",\"description\":\"检索类型, 需要对query的召回结果进行二次筛选时指定, 如\'餐厅\'、\'酒店\'等用于限制类型, 如\'火锅\'、\'民宿\'等用于提供泛搜类型, \"},{\"name\":\"center\",\"description\":\"检索的中心点, 格式为\'纬度,经度\', 用于指定检索的中心位置, 用于辅助检索结果按距离排序与返回\"}]},{\"name\":\"map_district_search\",\"description\":\"行政区划检索服务: 查询行政区划信息, 可根据用户输入的检索行政区划关键字快速查找目标行政区域adcode、边界坐标、下一级子行政区划名称等信息.\",\"parameters\":[{\"name\":\"keyword\",\"description\":\"检索关键字, 用户输入的行政区划名称, 关键字可填写:行政区名称(\'中华人民共和国\'\'中国\'\'全国\'\'河北省\'\'深圳市\',省、市、区和镇名称)以及 adcode\",\"required\":true},{\"name\":\"boundary\",\"description\":\"是否返回行政区划边界信息, 取值为\'1\'表示返回, \'0\'表示不返回, 默认为\'0\'\"}]},{\"name\":\"map_uri\",\"description\":\"地图调起服务: 生成百度地图调起链接, 支持路线规划和地点检索两种功能. 通过service参数决定使用哪种功能.\",\"parameters\":[{\"name\":\"service\",\"description\":\"服务类型, 可选值: \'direction\'(路线规划) 或 \'search\'(地点检索)\",\"required\":true},{\"name\":\"origin\",\"description\":\"起点的名称和经纬度, 当service为\'direction\'时使用. 格式: name:天安门|latlng:39.98871,116.43234. 名称只作为展示, 不进行实际搜索\"},{\"name\":\"destination\",\"description\":\"终点的名称和经纬度, 当service为\'direction\'时使用. 格式同origin\"},{\"name\":\"mode\",\"description\":\"导航模式, 当service为\'direction\'时使用. 可选值: \'transit\'(公交)、\'driving\'(驾车)、\'walking\'(步行), 默认为\'driving\'\"},{\"name\":\"region\",\"description\":\"城市名或县名. 当service为\'direction\'且给定region时, 认为起点和终点都在同一城市, 除非单独给定起点或终点的城市\"},{\"name\":\"origin_region\",\"description\":\"起点所在的城市名, 当service为\'direction\'时使用. 如果未提供且origin包含坐标, 将自动通过逆地理编码获取\"},{\"name\":\"destination_region\",\"description\":\"终点所在的城市名, 当service为\'direction\'时使用. 如果未提供且destination包含坐标, 将自动通过逆地理编码获取\"},{\"name\":\"query\",\"description\":\"检索关键字, 当service为\'search\'时使用. 如\'海底捞\'\"},{\"name\":\"location\",\"description\":\"检索中心点经纬度, 当service为\'search\'时使用. 格式: 纬度,经度\"},{\"name\":\"radius\",\"description\":\"检索半径(米), 当service为\'search\'时使用. 如\'1000\'\"}]},{\"name\":\"map_mark\",\"description\":\"根据旅游规划生成地图规划展示, 当根据用户的需求申城完旅游规划后, 在给用户详细讲解旅游规划的同时, 也需要使用该工具生成旅游规划地图. 该工具只会生成一个分享用的url, 并对针对该url生成一个二维码便于用户分享.\",\"parameters\":[{\"name\":\"text_content\",\"description\":\"旅行规划的文本描述(注意避免传入特殊字符, 如\\\\等)\",\"required\":true}]}]', 'enable', 1, '{\"tool_count\":13}', 'admin', '2025-12-18 16:27:44', 'admin', '2025-12-30 14:02:40', 'A05A01A01', NULL); +INSERT INTO `airag_mcp` VALUES ('2006287314794676226', NULL, '数据库插件', '用于执行数据库操作', 'plugin', 'api', '', '{\"X-Sign\":\"true\"}', '[{\"name\":\"queryTableMetadata\",\"description\":\"用于查询表的表结构(元数据)\",\"path\":\"/airag/mcp/database/queryTableMetadata\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"tableName\",\"description\":\"表名\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"},{\"name\":\"dbSourceKey\",\"description\":\"数据源key\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"success\",\"description\":\"是否成功\",\"type\":\"Boolean\"},{\"name\":\"message\",\"description\":\"若失败则返回失败原因\",\"type\":\"String\"},{\"name\":\"result.tableName\",\"description\":\"表名(数据库实际表名)\",\"type\":\"Object\"},{\"name\":\"result.tableComment\",\"description\":\"表注释(业务含义)\",\"type\":\"Object\"},{\"name\":\"result.columns[].columnName\",\"description\":\"字段名\",\"type\":\"Array\"},{\"name\":\"result.columns[].columnComment\",\"description\":\"字段注释(核心,帮助大模型理解业务)\",\"type\":\"Array\"},{\"name\":\"result.columns[].dataType\",\"description\":\"数据类型(如varchar、int、datetime)\",\"type\":\"Array\"},{\"name\":\"result.columns[].isPrimaryKey\",\"description\":\"是否主键\",\"type\":\"Array\"}]},{\"name\":\"sqlExecute\",\"description\":\"用于执行 SQL 语句,仅能支持执行SELECT语句,不要输入注释等无关信息。\",\"path\":\"/airag/mcp/database/sqlExecute\",\"method\":\"POST\",\"enabled\":true,\"parameters\":[{\"name\":\"sql\",\"description\":\"要执行的SQL\",\"type\":\"String\",\"location\":\"Body\",\"required\":true,\"defaultValue\":\"\"},{\"name\":\"dbSourceKey\",\"description\":\"数据源key\",\"type\":\"String\",\"location\":\"Body\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[{\"name\":\"success\",\"description\":\"是否成功\",\"type\":\"Boolean\"},{\"name\":\"message\",\"description\":\"若失败则返回失败原因\",\"type\":\"String\"},{\"name\":\"result\",\"description\":\"返回查询的结果,是个对象数组,数组的每一项都是一条数据,每条数据的key都是传入的查询的列。\",\"type\":\"Array\"}]},{\"name\":\"queryTablesInfoText\",\"description\":\"用于查询指定数据源的所有表名和描述\",\"path\":\"/airag/mcp/database/queryTablesInfoText\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"dbSourceKey\",\"description\":\"数据源code,不填则系统默认\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[]},{\"name\":\"queryDataSourceInfoText\",\"description\":\"用于查询所有数据源的信息,不需要传递参数。\",\"path\":\"/airag/mcp/database/queryDataSourceInfoText\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[],\"responses\":[]},{\"name\":\"queryDataSourceType\",\"description\":\"获取默认数据源或指定数据的数据库类型\",\"path\":\"/airag/mcp/database/queryDataSourceType\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"dbSourceKey\",\"description\":\"数据源key,若为空则系统默认\",\"type\":\"String\",\"location\":\"Query\",\"required\":false,\"defaultValue\":\"\"}],\"responses\":[]},{\"name\":\"getChartExampleJson\",\"description\":\"用户获取图表示例数据\",\"path\":\"/airag/mcp/database/getChartExampleJson\",\"method\":\"GET\",\"enabled\":true,\"parameters\":[{\"name\":\"type\",\"description\":\"图表类型,多个用英文逗号分割\",\"type\":\"String\",\"location\":\"Query\",\"required\":true,\"defaultValue\":\"\"}],\"responses\":[]}]', 'enable', 1, '{\"tokenParamName\":\"X-Access-Token\",\"tool_count\":6,\"authType\":\"token\",\"tokenParamValue\":\"\"}', 'admin', '2025-12-31 16:52:26', 'admin', '2026-01-16 17:00:51', 'A01', NULL); -- ---------------------------- -- Table structure for airag_model @@ -252,16 +342,51 @@ CREATE TABLE `airag_model` ( `model_params` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '模型参数', `activate_flag` int(11) NULL DEFAULT NULL COMMENT '是否激活(1=是,0=否)', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of airag_model -- ---------------------------- -INSERT INTO `airag_model` VALUES ('1890232564262739969', 'jeecg', '2025-02-14 10:52:16', 'admin', '2025-11-27 18:18:33', 'A04', NULL, 'OpenAI', 'OPENAI', 'gpt-4o-mini', '{\"apiKey\":\"您在OpenAPI官网上申请的key\"}', 'https://api.gpt.ge', 'LLM', '{\"temperature\":0.2,\"topP\":0.7,\"presencePenalty\":0.5,\"frequencyPenalty\":0.5,\"maxTokens\":null}', 1); -INSERT INTO `airag_model` VALUES ('1891459707122499586', 'jeecg', '2025-02-17 20:08:30', 'admin', '2025-11-27 18:18:38', 'A04', NULL, 'OpenAI向量', 'OPENAI', 'text-embedding-ada-002', '{\"apiKey\":\"您在OpenAPI官网上申请的key\"}', 'https://api.gpt.ge', 'EMBED', NULL, 1); -INSERT INTO `airag_model` VALUES ('1897481367743143938', 'jeecg', '2025-03-06 10:56:26', 'admin', '2025-11-27 18:19:06', 'A04', NULL, 'deepseek', 'DEEPSEEK', 'deepseek-chat', '{\"apiKey\":\"您在官网上申请的key\"}', 'https://api.deepseek.com/v1', 'LLM', NULL, 0); +INSERT INTO `airag_model` VALUES ('1890232564262739969', 'jeecg', '2025-02-14 10:52:16', 'admin', '2026-01-23 18:29:06', 'A04', NULL, 'OpenAI', 'OPENAI', 'gpt-4o-mini', '{\"apiKey\":\"请在官网上申请的key\"}', 'https://api.gpt.ge', 'LLM', '{\"temperature\":0.2,\"topP\":0.7,\"presencePenalty\":0.5,\"frequencyPenalty\":0.5,\"maxTokens\":null}', 1); +INSERT INTO `airag_model` VALUES ('1891459707122499586', 'jeecg', '2025-02-17 20:08:30', 'admin', '2026-01-23 18:29:03', 'A04', NULL, 'OpenAI向量', 'OPENAI', 'text-embedding-ada-002', '{\"apiKey\":\"请在官网上申请的key\"}', 'https://api.gpt.ge', 'EMBED', NULL, 1); +INSERT INTO `airag_model` VALUES ('1897481367743143938', 'jeecg', '2025-03-06 10:56:26', 'admin', '2026-01-28 15:17:55', 'A04', NULL, 'deepseek', 'DEEPSEEK', 'deepseek-chat', '{\"apiKey\":\"请在官网上申请的key\"}', 'https://api.deepseek.com/v1', 'LLM', NULL, 1); INSERT INTO `airag_model` VALUES ('1897883052995006466', 'jeecg', '2025-03-07 13:32:35', 'admin', '2025-11-27 18:18:55', 'A04', NULL, '智谱', 'ZHIPU', 'glm-4-flash', '{\"apiKey\":\"您在官网上申请的key\"}', 'https://open.bigmodel.cn/', 'LLM', NULL, 0); -INSERT INTO `airag_model` VALUES ('1897884353107611650', 'jeecg', '2025-03-07 13:37:45', 'admin', '2025-11-27 18:19:00', 'A04', NULL, '智谱向量', 'ZHIPU', 'Embedding-3', '{\"apiKey\":\"您在官网上申请的key\"}', 'https://open.bigmodel.cn', 'EMBED', '{\"temperature\":0.7,\"topP\":0.7,\"presencePenalty\":null,\"frequencyPenalty\":null,\"maxTokens\":null}', 0); +INSERT INTO `airag_model` VALUES ('1897884353107611650', 'jeecg', '2025-03-07 13:37:45', 'admin', '2026-01-28 15:17:48', 'A04', NULL, '智谱向量', 'ZHIPU', 'Embedding-3', '{\"apiKey\":\"您在官网上申请的key\"}', 'https://open.bigmodel.cn', 'EMBED', '{\"temperature\":0.7,\"topP\":0.7,\"presencePenalty\":null,\"frequencyPenalty\":null,\"maxTokens\":null}', 0); +INSERT INTO `airag_model` VALUES ('2008060119398899713', 'admin', '2026-01-05 14:16:55', 'admin', '2026-01-28 15:17:44', 'A05A01A01', NULL, '智普图片生成', 'ZHIPU', 'glm-image', '{\"apiKey\":\"请在官网上申请的key\"}', 'https://open.bigmodel.cn', 'IMAGE', NULL, 1); +INSERT INTO `airag_model` VALUES ('2014624273267699714', 'admin', '2026-01-23 17:00:31', 'admin', '2026-01-28 15:17:39', 'A01A03', NULL, 'OpenAI图片模型', 'OPENAI', 'gpt-image-1.5', '{\"apiKey\":\"请在官网上申请的key\"}', 'https://api.vveai.com', 'IMAGE', NULL, 1); + +-- ---------------------------- +-- Table structure for airag_prompts +-- ---------------------------- +DROP TABLE IF EXISTS `airag_prompts`; +CREATE TABLE `airag_prompts` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '主键ID', + `name` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '提示词名称', + `prompt_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提示词key', + `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提示词功能描述', + `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '提示词模板内容,支持变量占位符如 {{variable}}', + `category` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '提示词分类', + `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '标签,多个逗号分割', + `model_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '适配的大模型ID', + `model_param` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '大模型的参数配置', + `status` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '0' COMMENT '状态(0:未发布 1:已发布)', + `version` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '版本号(格式 0.0.1)', + `del_flag` int(1) NULL DEFAULT NULL COMMENT '删除状态(0未删除 1已删除)', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '所属部门', + `tenant_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '租户id', + UNIQUE INDEX `uni_key`(`prompt_key`) USING BTREE, + INDEX `idx_category`(`category`) USING BTREE, + INDEX `idx_status`(`status`) USING BTREE, + INDEX `idx_name`(`name`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'AI提示词表' ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of airag_prompts +-- ---------------------------- -- ---------------------------- -- Table structure for demo @@ -287,7 +412,7 @@ CREATE TABLE `demo` ( `tenant_id` int(10) NULL DEFAULT 0, `update_count` int(11) NULL DEFAULT NULL COMMENT '乐观锁测试', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of demo @@ -317,12 +442,26 @@ CREATE TABLE `flyway_schema_history` ( `success` tinyint(1) NOT NULL, PRIMARY KEY (`installed_rank`) USING BTREE, INDEX `flyway_schema_history_s_idx`(`success`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of flyway_schema_history -- ---------------------------- INSERT INTO `flyway_schema_history` VALUES (1, '1', '<< Flyway Baseline >>', 'BASELINE', '<< Flyway Baseline >>', NULL, 'root', '2024-01-03 21:58:35', 0, 1); +INSERT INTO `flyway_schema_history` VALUES (2, '3.8.0.1', 'airag add menu', 'SQL', 'V3.8.0_1__airag_add_menu.sql', -177373739, 'root', '2025-04-03 10:54:32', 114, 1); +INSERT INTO `flyway_schema_history` VALUES (3, '3.8.0.2', 'airag init db', 'SQL', 'V3.8.0_2__airag_init_db.sql', 874980827, 'root', '2025-04-07 14:35:13', 60, 1); +INSERT INTO `flyway_schema_history` VALUES (4, '3.8.1.1', 'all upgrade', 'SQL', 'V3.8.1_1__all_upgrade.sql', 670374510, 'root', '2025-06-25 15:09:03', 25, 1); +INSERT INTO `flyway_schema_history` VALUES (5, '3.8.1.2', 'openapi', 'SQL', 'V3.8.1_2__openapi.sql', 453642872, 'root', '2025-07-02 10:11:50', 245, 1); +INSERT INTO `flyway_schema_history` VALUES (6, '3.8.2.1', 'all upgrade', 'SQL', 'V3.8.2_1__all_upgrade.sql', 1279027750, 'root', '2025-07-30 18:13:06', 23, 1); +INSERT INTO `flyway_schema_history` VALUES (7, '3.8.3.0', 'all upgrade', 'SQL', 'V3.8.3_0__all_upgrade.sql', 1420195670, 'root', '2025-09-13 17:06:41', 22, 1); +INSERT INTO `flyway_schema_history` VALUES (8, '3.8.3.1', 'upgrade jimubi', 'SQL', 'V3.8.3_1__upgrade_jimubi.sql', -1274458791, 'root', '2025-11-25 15:42:34', 13, 1); +INSERT INTO `flyway_schema_history` VALUES (9, '3.9.0.0', 'all upgrade', 'SQL', 'V3.9.0_0__all_upgrade.sql', -758666487, 'root', '2025-11-26 13:40:20', 48, 1); +INSERT INTO `flyway_schema_history` VALUES (10, '3.9.0.1', 'mcp demo', 'SQL', 'V3.9.0_1__mcp_demo.sql', -790563395, 'root', '2025-11-27 18:16:00', 18, 1); +INSERT INTO `flyway_schema_history` VALUES (11, '3.9.0.2', 'upd dep category', 'SQL', 'V3.9.0_2__upd_dep_category.sql', -71250240, 'root', '2025-11-27 18:45:48', 19, 1); +INSERT INTO `flyway_schema_history` VALUES (12, '3.9.0.3', 'add aiflow permission', 'SQL', 'V3.9.0_3__add_aiflow_permission.sql', 1502182637, 'root', '2025-12-01 15:13:59', 9, 1); +INSERT INTO `flyway_schema_history` VALUES (13, '3.9.0.4', 'add onlineuser perms', 'SQL', 'V3.9.0_4__add_onlineuser_perms.sql', -1048887238, 'root', '2026-01-22 09:46:14', 23, 1); +INSERT INTO `flyway_schema_history` VALUES (14, '3.9.1.0', 'all upgrade', 'SQL', 'V3.9.1_0__all_upgrade.sql', -498300865, 'root', '2026-01-28 15:19:13', 65, 1); +INSERT INTO `flyway_schema_history` VALUES (15, '3.9.1.1', 'add aiapp img gen', 'SQL', 'V3.9.1_1__add_aiapp_img_gen.sql', 1451785654, 'root', '2026-01-28 15:19:42', 21, 1); -- ---------------------------- -- Table structure for jeecg_order_customer @@ -341,7 +480,7 @@ CREATE TABLE `jeecg_order_customer` ( `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jeecg_order_customer @@ -426,7 +565,7 @@ CREATE TABLE `jeecg_order_main` ( `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', `bpm_status` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流程状态', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jeecg_order_main @@ -460,7 +599,7 @@ CREATE TABLE `jeecg_order_ticket` ( `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jeecg_order_ticket @@ -530,7 +669,7 @@ CREATE TABLE `jimu_dict` ( `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_sd_dict_code`(`dict_code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_dict @@ -602,7 +741,7 @@ CREATE TABLE `jimu_dict_item` ( INDEX `idx_sdi_role_sort_order`(`sort_order`) USING BTREE, INDEX `idx_sdi_status`(`status`) USING BTREE, INDEX `idx_sdi_dict_val`(`dict_id`, `item_value`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_dict_item @@ -781,50 +920,51 @@ CREATE TABLE `jimu_report` ( `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', `update_count` int(11) NULL DEFAULT 0 COMMENT '乐观锁版本', `submit_form` tinyint(1) NULL DEFAULT NULL COMMENT '是否填报报表 0不是,1是', + `is_multi_sheet` tinyint(4) NULL DEFAULT NULL COMMENT '是否多sheet报表 1是 0否', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uniq_jmreport_code`(`code`) USING BTREE, INDEX `uniq_jmreport_createby`(`create_by`) USING BTREE, INDEX `uniq_jmreport_delflag`(`del_flag`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '在线excel设计器' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '在线excel设计器' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report -- ---------------------------- -INSERT INTO `jimu_report` VALUES ('1080630641874206720', '20240117141013__7486', '主子报表循环块副本7486', NULL, NULL, '0', '{\"loopBlockList\":[{\"sci\":0,\"sri\":0,\"eci\":8,\"eri\":36,\"index\":1,\"db\":\"aa\"}],\"area\":{\"sri\":9,\"sci\":11,\"eri\":9,\"eci\":11,\"width\":100,\"height\":25},\"excel_config_id\":\"907480464532770816\",\"printConfig\":{\"layout\":\"portrait\",\"paginationShow\":false,\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"paginationLocation\":\"middle\",\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":8,\"text\":\"订货商信息\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":57},\"1\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单编号:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,2],\"style\":42,\"text\":\"#{aa.order_code}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"2\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单地址:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.descc}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.order_date}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"3\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单姓名:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_by}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"到货日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_time}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":31},\"4\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"5\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"merge\":[0,6],\"style\":31,\"text\":\"订单详情\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1},\"6\":{\"loopBlock\":1},\"7\":{\"loopBlock\":1},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":51},\"6\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品编码\"},\"2\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品名称\"},\"3\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售时间\"},\"4\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售数据量\"},\"5\":{\"loopBlock\":1,\"style\":15,\"text\":\"定价\"},\"6\":{\"loopBlock\":1,\"style\":15,\"text\":\"优惠价\"},\"7\":{\"loopBlock\":1,\"style\":15,\"text\":\"付款金额\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":42},\"7\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"2\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"3\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"4\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.num}\"},\"5\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"style\":19,\"text\":\"#{bb.price}\"},\"6\":{\"loopBlock\":1,\"decimalPlaces\":\"1\",\"style\":19,\"text\":\"#{bb.price}\"},\"7\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.pro_type}\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"8\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"9\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"10\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":39,\"text\":\"备注:\"},\"2\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":34,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":25},\"11\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":41,\"text\":\"1、查看信息,在浏览器输入“?did=1”或“?did=2”\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":37},\"12\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":35,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"style\":36,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"13\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":37,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":38,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"14\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"15\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"16\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"17\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"18\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"19\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"20\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"21\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"22\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"23\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"24\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"25\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"26\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"27\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"28\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"29\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"30\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"31\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"32\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"33\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"34\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"35\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"36\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"len\":102},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":682,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"font\":{\"size\":18}},{\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"number\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"normal\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":18,\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]}},{\"valign\":\"bottom\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"bottom\",\"align\":\"left\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"bottom\":[\"thin\",\"#595959\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":39},\"1\":{\"width\":73},\"2\":{\"width\":89},\"3\":{\"width\":101},\"4\":{\"width\":80},\"8\":{\"width\":29},\"len\":100},\"merges\":[\"B1:H1\",\"C2:E2\",\"C3:D3\",\"F3:G3\",\"C4:D4\",\"F4:G4\",\"B6:H6\",\"B12:H12\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1617266678584.png', 'admin', '2025-05-09 09:27:12', NULL, NULL, 0, NULL, NULL, 0, 4, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1110348597759606784', '20250730093712', '测试报表0730', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[],\"conditions\":{\"rows\":{},\"cols\":{}}},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"dicts\":[],\"fillFormToolbar\":{\"show\":true,\"btnList\":[\"save\",\"subTable_add\",\"verify\",\"subTable_del\",\"print\",\"close\",\"first\",\"prev\",\"next\",\"paging\",\"total\",\"last\",\"exportPDF\",\"exportExcel\",\"exportWord\"]},\"freeze\":\"A1\",\"dataRectWidth\":300,\"autofilter\":{},\"validations\":[],\"cols\":{\"len\":50},\"area\":{\"sri\":5,\"sci\":1,\"eri\":5,\"eci\":1,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"1110348597759606784\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"2\":{\"cells\":{\"1\":{\"text\":\"日期\"},\"2\":{\"text\":\"访问次数\"}}},\"3\":{\"cells\":{\"1\":{\"text\":\"#{syslog.visit_date}\"},\"2\":{\"text\":\"#{syslog.visit_count}\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2025-07-30 09:37:13', 'admin', '2025-07-30 10:12:01', 0, NULL, NULL, 0, 5, NULL, NULL, NULL, '0', 0, 0); -INSERT INTO `jimu_report` VALUES ('1314846205892759552', '20201010163252', 'XXX有限公司员工登记表', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":10,\"sci\":11,\"eri\":10,\"eci\":11,\"width\":85,\"height\":38},\"excel_config_id\":\"1314846205892759552\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[0,8]},\"9\":{}},\"height\":22},\"1\":{\"cells\":{\"1\":{\"style\":87,\"text\":\" \"},\"2\":{\"style\":87,\"text\":\" \"},\"3\":{\"style\":87,\"text\":\" \"},\"4\":{\"style\":87,\"text\":\" \"},\"5\":{\"style\":87,\"text\":\" \"},\"6\":{\"style\":87,\"text\":\" \"},\"7\":{\"style\":87,\"text\":\" \"},\"8\":{\"style\":87,\"text\":\" \"}},\"height\":24},\"2\":{\"cells\":{\"0\":{\"text\":\"所在部门\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.department}\",\"style\":23,\"merge\":[0,2]},\"4\":{\"text\":\"职务\",\"style\":93},\"5\":{\"text\":\"${yuangongjiben.post}\",\"style\":23},\"6\":{\"text\":\"填写日期\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.data}\",\"style\":23,\"merge\":[0,1]}},\"isDrag\":true,\"height\":36},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.name}\",\"style\":23},\"2\":{\"text\":\"性别\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.sex}\",\"style\":23},\"4\":{\"text\":\"出生日期\",\"style\":93},\"5\":{\"text\":\"${yuangongjiben.birth}\",\"style\":23},\"6\":{\"text\":\"政治面貌\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.political}\",\"style\":130,\"merge\":[0,1]}},\"isDrag\":true,\"height\":33},\"4\":{\"cells\":{\"0\":{\"text\":\"机关\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.office}\",\"style\":23},\"2\":{\"style\":93,\"text\":\"民族\"},\"3\":{\"text\":\"${yuangongjiben.nation}\",\"style\":23},\"4\":{\"style\":93,\"text\":\"健康状况\"},\"5\":{\"text\":\"${yuangongjiben.health}\",\"style\":23},\"6\":{\"style\":93,\"text\":\"户籍类型\",\"virtual\":\"1KT8bnqRT4bi8Z7b\"},\"7\":{\"text\":\"${yuangongjiben.register}\",\"style\":26,\"virtual\":\"1KT8bnqRT4bi8Z7b\"},\"8\":{\"merge\":[3,0],\"height\":104,\"style\":35,\"text\":\" \",\"virtual\":\"cvkWDQVZhfJPgcS4\"}},\"isDrag\":true,\"height\":31},\"5\":{\"cells\":{\"0\":{\"text\":\"最高学历\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.education}\",\"style\":23},\"2\":{\"text\":\"所学专业\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.major}\",\"style\":23,\"merge\":[0,2]},\"6\":{\"text\":\"毕业时间\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.gdata}\",\"style\":23}},\"isDrag\":true,\"height\":35},\"6\":{\"cells\":{\"0\":{\"text\":\"电子邮箱\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.mailbox}\",\"style\":23},\"2\":{\"text\":\"手机号\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.telphone}\",\"style\":23,\"merge\":[0,2]},\"6\":{\"text\":\"家庭电话\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.homephone}\",\"style\":23}},\"isDrag\":true,\"height\":38},\"7\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"第一次参加工作时间\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.pworktime}\",\"style\":133,\"merge\":[0,2]},\"5\":{\"style\":93,\"text\":\"入职时间\"},\"6\":{\"text\":\"${yuangongjiben.entrytime}\",\"style\":24,\"merge\":[0,1]}},\"isDrag\":true,\"height\":27},\"8\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"毕业院校\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.school}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"style\":93,\"text\":\"身份证号\"},\"6\":{\"text\":\"${yuangongjiben.idcard}\",\"style\":24,\"merge\":[0,2]}},\"isDrag\":true,\"height\":34},\"9\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"入党(团)时间、地点\",\"style\":94},\"2\":{\"text\":\"${yuangongjiben.entrytime}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"text\":\"婚姻状况\",\"style\":93},\"6\":{\"text\":\"${yuangongjiben.marital}\",\"style\":23},\"7\":{\"text\":\"有无子女\",\"style\":93},\"8\":{\"text\":\"${yuangongjiben.children}\",\"style\":23}},\"isDrag\":true,\"height\":33},\"10\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"户口所在街道名称\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.hukoustreet}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"merge\":[0,1],\"text\":\"户口所在地邮编\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.hukounum}\",\"style\":23,\"merge\":[0,1]}},\"isDrag\":true,\"height\":38},\"11\":{\"cells\":{\"0\":{\"text\":\"户口所在地地址\",\"style\":96,\"merge\":[2,1]},\"2\":{\"text\":\"${yuangongjiben.hukoudi}\",\"style\":26,\"merge\":[2,6]}},\"isDrag\":true},\"12\":{\"cells\":{}},\"13\":{\"cells\":{\"11\":{\"text\":\"\"}},\"isDrag\":true},\"14\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"现居住地址\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.currentdi}\",\"style\":26,\"merge\":[0,2]},\"5\":{\"style\":98,\"merge\":[0,1],\"text\":\"现居住地址邮编\"},\"7\":{\"text\":\"${yuangongjiben.currentnum}\",\"style\":26,\"merge\":[0,1]}},\"isDrag\":true,\"height\":33},\"15\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"是否参加社保\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.socialsecurity}\",\"style\":27,\"merge\":[0,1]},\"4\":{\"text\":\"有无公积金\",\"style\":98},\"5\":{\"text\":\"${yuangongjiben.providentfund}\",\"style\":27,\"merge\":[0,1]},\"7\":{\"text\":\"兴趣爱好\",\"style\":98},\"8\":{\"text\":\"${yuangongjiben.hobby}\",\"style\":27}},\"isDrag\":true,\"height\":34},\"16\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"参加社保类型\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.sbtype}\",\"style\":116,\"merge\":[0,6]}},\"isDrag\":true,\"height\":30},\"17\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"个人档案存放地\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.archivesdi}\",\"style\":116,\"merge\":[0,6]}},\"isDrag\":true,\"height\":33},\"18\":{\"cells\":{\"0\":{\"text\":\" \",\"style\":7},\"1\":{\"text\":\" \",\"style\":7},\"2\":{\"text\":\" \",\"style\":7},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7}}},\"19\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"学历、经历(从高中开始写)\",\"style\":99},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"20\":{\"cells\":{\"0\":{\"text\":\"由_年_月\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"至_年_月\",\"style\":38},\"4\":{\"merge\":[0,1],\"text\":\"就读学校\",\"style\":38},\"6\":{\"merge\":[0,1],\"text\":\"专业\",\"style\":38},\"8\":{\"text\":\"担任职务\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"21\":{\"cells\":{\"0\":{\"style\":90,\"merge\":[0,1],\"text\":\"#{xueli.kdate}\"},\"2\":{\"style\":90,\"text\":\"#{xueli.jdate}\",\"merge\":[0,1]},\"4\":{\"style\":90,\"text\":\"#{xueli.jstudent}\",\"merge\":[0,1]},\"6\":{\"style\":90,\"text\":\"#{xueli.zhuanye}\",\"merge\":[0,1]},\"8\":{\"style\":90,\"text\":\"#{xueli.zhiwu}\"},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"22\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"23\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"工作经历\",\"style\":124},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":27},\"24\":{\"cells\":{\"0\":{\"text\":\"由_年_月\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"至_年_月\",\"style\":38},\"4\":{\"text\":\"工作单位及职称\",\"style\":38,\"merge\":[0,1]},\"6\":{\"merge\":[0,1],\"text\":\"证明人\",\"style\":38},\"8\":{\"text\":\"联系方式\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"25\":{\"cells\":{\"0\":{\"text\":\"#{uu.kdate}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{uu.jdate}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{uu.jstudent}\",\"style\":90,\"merge\":[0,1]},\"6\":{\"text\":\"#{uu.zmname}\",\"style\":90,\"merge\":[0,1]},\"8\":{\"text\":\"#{uu.zmphone}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"26\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"27\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"职称/资格、证书\",\"style\":125},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":46},\"28\":{\"cells\":{\"0\":{\"text\":\"发证时间\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"职称名称\",\"style\":38},\"4\":{\"text\":\"级别\",\"style\":38,\"merge\":[0,1]},\"6\":{\"text\":\"发证单位\",\"style\":38,\"merge\":[0,1]},\"8\":{\"text\":\"备注\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"29\":{\"cells\":{\"0\":{\"text\":\"#{zhengshu.fdate}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{zhengshu.zcname}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{zhengshu.jibie}\",\"style\":90,\"merge\":[0,1]},\"6\":{\"text\":\"#{zhengshu.danwei}\",\"style\":90,\"merge\":[0,1]},\"8\":{\"text\":\"#{zhengshu.beizhu}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"30\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"31\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"家庭成员\",\"style\":125},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":42},\"32\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"姓名\",\"style\":38},\"2\":{\"merge\":[0,1],\"text\":\"关系\",\"style\":38},\"4\":{\"text\":\"年龄\",\"style\":38},\"5\":{\"text\":\"工作单位\",\"style\":38,\"merge\":[0,1]},\"7\":{\"text\":\"政治面貌\",\"style\":38},\"8\":{\"text\":\"联系方式\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"33\":{\"cells\":{\"0\":{\"text\":\"#{jtcy.name}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{jtcy.guanxi}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{jtcy.age}\",\"style\":90},\"5\":{\"text\":\"#{jtcy.danwei}\",\"style\":90,\"merge\":[0,1]},\"7\":{\"text\":\"#{jtcy.zzmm}\",\"style\":90},\"8\":{\"text\":\"#{jtcy.phone}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"34\":{\"cells\":{\"0\":{\"text\":\" \",\"style\":7},\"1\":{\"text\":\" \",\"style\":7},\"2\":{\"text\":\" \",\"style\":7},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7},\"9\":{\"style\":112,\"text\":\" \"}}},\"35\":{\"cells\":{\"0\":{\"merge\":[0,2],\"text\":\"所获奖励\",\"style\":125},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":47},\"36\":{\"cells\":{\"0\":{\"text\":\"时间\",\"style\":90,\"merge\":[0,2]},\"3\":{\"style\":90,\"text\":\"地点\",\"merge\":[0,2]},\"6\":{\"style\":90,\"text\":\"所获得的奖励名称\",\"merge\":[0,2]},\"9\":{\"style\":112,\"text\":\" \"}}},\"37\":{\"cells\":{\"0\":{\"text\":\"#{jiangli.date}\",\"style\":90,\"merge\":[0,2]},\"3\":{\"text\":\"#{jiangli.didian}\",\"style\":90,\"merge\":[0,2]},\"6\":{\"text\":\"#{jiangli.mingcheng}\",\"style\":90,\"merge\":[0,2]},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"len\":98},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":703,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"仿宋\"}},{\"font\":{\"name\":\"仿宋\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":12}},{\"font\":{\"name\":\"宋体\",\"size\":12}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":8}},{\"font\":{\"name\":\"宋体\",\"size\":8}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10}},{\"font\":{\"name\":\"宋体\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"隶书\",\"size\":10}},{\"font\":{\"name\":\"隶书\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"华文中宋\",\"size\":10}},{\"font\":{\"name\":\"华文中宋\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10}},{\"textwrap\":true},{\"textwrap\":true,\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":10}},{\"font\":{\"bold\":true,\"size\":10},\"align\":\"center\"},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"top\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"left\",\"valign\":\"bottom\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"format\":\"datetime\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"format\":\"datetime\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"format\":\"normal\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"format\":\"normal\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":73},\"1\":{\"width\":71},\"2\":{\"width\":69},\"3\":{\"width\":89},\"4\":{\"width\":64},\"5\":{\"width\":47},\"6\":{\"width\":68},\"7\":{\"width\":100},\"8\":{\"width\":103},\"9\":{\"width\":19},\"10\":{\"width\":146},\"11\":{\"width\":85},\"len\":50},\"merges\":[\"H3:I3\",\"B3:D3\",\"A2:I2\",\"D6:F6\",\"D7:F7\",\"A8:B8\",\"G8:H8\",\"A9:B9\",\"A10:B10\",\"C10:E10\",\"C8:E8\",\"C9:E9\",\"A11:B11\",\"C11:E11\",\"F11:G11\",\"H11:I11\",\"C12:I14\",\"A15:B15\",\"C15:E15\",\"F15:G15\",\"H15:I15\",\"A16:B16\",\"A17:B17\",\"A18:B18\",\"C17:I17\",\"C18:I18\",\"A20:E20\",\"A21:B21\",\"C21:D21\",\"E21:F21\",\"G21:H21\",\"A22:B22\",\"A24:E24\",\"A25:B25\",\"C25:D25\",\"G25:H25\",\"A26:B26\",\"A28:E28\",\"A29:B29\",\"C29:D29\",\"A30:B30\",\"A32:B32\",\"A33:B33\",\"C33:D33\",\"A34:B34\",\"C34:D34\",\"A36:C36\",\"C16:D16\",\"F16:G16\",\"QAAAAAACI1:JAAAAAABJ38\",\"A1:I1\",\"H4:I4\",\"G9:I9\",\"G22:H22\",\"E22:F22\",\"C22:D22\",\"C26:D26\",\"G26:H26\",\"C30:D30\",\"G30:H30\",\"E30:F30\",\"D37:F37\",\"D38:F38\",\"A38:C38\",\"A37:C37\",\"G37:I37\",\"G38:I38\",\"E29:F29\",\"G29:H29\",\"E25:F25\",\"E26:F26\",\"F33:G33\",\"F34:G34\",\"A12:B14\",\"I5:I8\"],\"imgList\":[{\"row\":4,\"col\":8,\"width\":\"101\",\"height\":\"128\",\"src\":\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/QQ截图20210115102648_1610694177544_1617244906979.png\",\"layer_id\":\"cvkWDQVZhfJPgcS4\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[4,8]]}]}', NULL, 'https://static.jeecg.com/designreport/images/1122_1607312336469.png', 'admin', '2020-10-10 16:32:53', 'admin', '2021-04-01 02:42:07', 0, NULL, NULL, 1, 609, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1316944968992034816', '20201016113231', '员工信息登记', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1316944968992034816\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"0\":{\"text\":\"员工信息登记表\",\"merge\":[0,6],\"style\":28},\"1\":{\"style\":21,\"text\":\" \"},\"2\":{\"style\":21,\"text\":\" \"},\"3\":{\"style\":21,\"text\":\" \"},\"4\":{\"style\":21,\"text\":\" \"},\"5\":{\"style\":21,\"text\":\" \"},\"6\":{\"style\":21,\"text\":\" \"}},\"height\":46},\"2\":{\"cells\":{\"0\":{\"text\":\"编号:\",\"style\":29},\"1\":{\"text\":\"${employee.num}\",\"style\":30,\"merge\":[0,3]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\"填写日期:\",\"style\":29},\"6\":{\"text\":\"${employee.create_time}\",\"style\":36}},\"isDrag\":true,\"height\":44},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名:\",\"style\":29},\"1\":{\"text\":\"${employee.name}\",\"style\":30},\"2\":{\"text\":\"性别:\",\"style\":29},\"3\":{\"text\":\"${employee.sex}\",\"style\":30},\"4\":{\"text\":\"出生年月:\",\"style\":29},\"5\":{\"text\":\"${employee.birthday}\",\"style\":36},\"6\":{\"style\":3,\"text\":\" \",\"merge\":[4,0],\"virtual\":\"Ym8ny6lYTdutY5tT\"}},\"isDrag\":true,\"height\":42},\"4\":{\"cells\":{\"0\":{\"text\":\"民族:\",\"style\":29},\"1\":{\"text\":\"${employee.nation}\",\"style\":30},\"2\":{\"text\":\"政治面貌:\",\"style\":29},\"3\":{\"text\":\"${employee.political}\",\"style\":30},\"4\":{\"text\":\"籍贯:\",\"style\":29},\"5\":{\"text\":\"${employee.native_place}\",\"style\":30}},\"isDrag\":true,\"height\":38},\"5\":{\"cells\":{\"0\":{\"text\":\"身高(cm):\",\"style\":29},\"1\":{\"text\":\"${employee.height}\",\"style\":30},\"2\":{\"text\":\"体重(kg):\",\"style\":29},\"3\":{\"text\":\"${employee.weight}\",\"style\":30},\"4\":{\"text\":\"健康状况:\",\"style\":29},\"5\":{\"text\":\"${employee.health}\",\"style\":30}},\"isDrag\":true,\"height\":38},\"6\":{\"cells\":{\"0\":{\"text\":\"身份证号:\",\"style\":29},\"1\":{\"text\":\"${employee.id_card}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"学历:\",\"style\":29},\"5\":{\"text\":\"${employee.education}\",\"style\":30}},\"isDrag\":true,\"height\":40},\"7\":{\"cells\":{\"0\":{\"text\":\"毕业学校:\",\"style\":29},\"1\":{\"text\":\"${employee.school}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"专业:\",\"style\":29},\"5\":{\"text\":\"${employee.major}\",\"style\":30}},\"isDrag\":true,\"height\":44},\"8\":{\"cells\":{\"0\":{\"text\":\"联系地址:\",\"style\":29},\"1\":{\"text\":\"${employee.address}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"邮编:\",\"style\":29},\"5\":{\"text\":\"${employee.zip_code}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":45},\"9\":{\"cells\":{\"0\":{\"text\":\"Email:\",\"style\":29},\"1\":{\"text\":\"${employee.email}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"手机号:\",\"style\":29},\"5\":{\"text\":\"${employee.phone}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":40},\"10\":{\"cells\":{\"0\":{\"text\":\"外语语种:\",\"style\":29},\"1\":{\"text\":\"${employee.foreign_language}\",\"style\":30},\"2\":{\"text\":\"外语水平:\",\"style\":29},\"3\":{\"text\":\"${employee.foreign_language_level}\",\"style\":30},\"4\":{\"text\":\"计算机水平:\",\"style\":29},\"5\":{\"text\":\"${employee.computer_level}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":41},\"11\":{\"cells\":{\"0\":{\"text\":\"毕业时间:\",\"style\":29},\"1\":{\"text\":\"${employee.graduation_time}\",\"style\":34},\"2\":{\"text\":\"到职时间:\",\"style\":29},\"3\":{\"text\":\"${employee.arrival_time}\",\"style\":34},\"4\":{\"text\":\"职称:\",\"style\":29},\"5\":{\"text\":\"${employee.positional_titles}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":42},\"12\":{\"cells\":{\"0\":{\"text\":\"教育经历:\",\"style\":32},\"1\":{\"text\":\"\",\"style\":35,\"merge\":[0,5]},\"2\":{\"text\":\" \",\"style\":40},\"3\":{\"text\":\" \",\"style\":40},\"4\":{\"text\":\" \",\"style\":40},\"5\":{\"text\":\" \",\"style\":40},\"6\":{\"text\":\" \",\"style\":40}},\"isDrag\":true,\"height\":39},\"13\":{\"cells\":{\"0\":{\"text\":\"${employee.education_experience}\",\"style\":33,\"merge\":[0,6]},\"1\":{\"style\":27,\"text\":\" \"},\"2\":{\"style\":27,\"text\":\" \"},\"3\":{\"style\":27,\"text\":\" \"},\"4\":{\"style\":27,\"text\":\" \"},\"5\":{\"style\":27,\"text\":\" \"},\"6\":{\"style\":27,\"text\":\" \"}},\"isDrag\":true,\"height\":70},\"14\":{\"cells\":{\"0\":{\"text\":\"工作经历:\",\"style\":32},\"1\":{\"merge\":[0,5],\"style\":30,\"text\":\" \"},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\" \",\"style\":24},\"6\":{\"text\":\" \",\"style\":24}},\"height\":43},\"15\":{\"cells\":{\"0\":{\"text\":\"${employee.work_experience}\",\"style\":30,\"merge\":[0,6]},\"1\":{\"text\":\" \",\"style\":24},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\" \",\"style\":24},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":61},\"17\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":37}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\"],\"freeze\":\"A1\",\"dataRectWidth\":712,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date\"},{\"format\":\"date2\"},{\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"time\"},{\"font\":{\"name\":\"宋体\"},\"format\":\"normal\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":79},\"1\":{\"width\":92},\"2\":{\"width\":76},\"3\":{\"width\":106},\"5\":{\"width\":123},\"6\":{\"width\":136},\"len\":50},\"merges\":[\"A2:G2\",\"B3:E3\",\"B7:D7\",\"B8:D8\",\"B9:D9\",\"B10:D10\",\"F9:G9\",\"F10:G10\",\"F11:G11\",\"F12:G12\",\"B13:G13\",\"A14:G14\",\"B15:G15\",\"A16:G16\",\"G4:G8\"],\"imgList\":[{\"row\":3,\"col\":6,\"width\":\"135\",\"height\":\"192\",\"src\":\"https://static.jeecg.com/designreport/images/QQ截图20210108095848_1610071294294.png\",\"layer_id\":\"Ym8ny6lYTdutY5tT\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[3,6]]}]}', NULL, 'https://static.jeecg.com/designreport/images/1133_1607312428261.png', 'admin', '2020-10-16 11:32:32', 'admin', '2021-02-03 13:59:35', 0, NULL, NULL, 1, 1413, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1331503965770223616', '20201125155042', '房屋销售综合展示大屏', NULL, NULL, '984302961118724096', '{\"loopBlockList\":[],\"chartList\":[{\"row\":1,\"col\":1,\"width\":\"338\",\"height\":\"378\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"缤纷南郡\\\",\\\"中航华府\\\",\\\"3中家属楼\\\",\\\"幸福家园\\\",\\\"水晶国际\\\",\\\"绿城小区\\\",\\\"缤纷南郡二期\\\",\\\"国奥家园\\\",\\\"西西胡同\\\",\\\"融创学府\\\",\\\"蓝湾国际\\\",\\\"广发小区\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":71,\\\"bottom\\\":39,\\\"right\\\":29},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[2,2,2,3,4,3,3,5,2,7,4,8],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#67994B\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"各楼盘成交量排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/bg1_1606961907450_1617248229528.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331511745851731969\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengjiao\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"5ggWQtDUvSopC4iL\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,1],[1,2],[1,3]]},{\"row\":1,\"col\":12,\"width\":\"327\",\"height\":\"152\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":34,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"高层\\\",\\\"小高层\\\",\\\"写字楼\\\",\\\"厂房\\\",\\\"公寓\\\",\\\"别墅\\\",\\\"厂房\\\",\\\"四合院\\\",\\\"loft\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":50,\\\"left\\\":30,\\\"bottom\\\":44,\\\"right\\\":24},\\\"series\\\":[{\\\"areaStyle\\\":null,\\\"data\\\":[20,25,10,5,9,1,5,1,20],\\\"showSymbol\\\":true,\\\"lineStyle\\\":{\\\"width\\\":2},\\\"symbolSize\\\":5,\\\"isArea\\\":false,\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#D04672\\\"},\\\"step\\\":false,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"line\\\",\\\"smooth\\\":true}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"房形分析\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1607938818911.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331922734933987329\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"fangyuan\",\"chartType\":\"line.smooth\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"nk6I2RCefm9scS1k\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,12],[1,13],[1,14],[1,15]]},{\"row\":7,\"col\":12,\"width\":\"324\",\"height\":\"215\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"1室\\\",\\\"2室\\\",\\\"3室\\\",\\\"4室\\\",\\\"5室\\\"],\\\"top\\\":\\\"bottom\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"right\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"1室\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(53,165,180,1)\\\"}},{\\\"name\\\":\\\"2室\\\",\\\"value\\\":30,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(60,140,198,1)\\\"}},{\\\"name\\\":\\\"3室\\\",\\\"value\\\":20,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(93,144,81,1)\\\"}},{\\\"name\\\":\\\"4室\\\",\\\"value\\\":5,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(191,146,68,1)\\\"}},{\\\"name\\\":\\\"5室\\\",\\\"value\\\":3,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"160\\\",\\\"120\\\"],\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":\\\"8\\\",\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"40%\\\",\\\"50%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同户型销售\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608536502813.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331919172472524801\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"huxingxiaoshou\",\"chartType\":\"pie.doughnut\",\"isTiming\":true,\"intervalTime\":\"5\",\"id\":\"MCJP8uqwe57YoCvF\"},\"layer_id\":\"MCJP8uqwe57YoCvF\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,12],[7,13],[7,14],[7,15]]},{\"row\":7,\"col\":4,\"width\":\"662\",\"height\":\"222\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"1月\\\",\\\"2月\\\",\\\"3月\\\",\\\"4月\\\",\\\"5月\\\",\\\"6月\\\",\\\"7月\\\",\\\"8月\\\",\\\"9月\\\",\\\"10月\\\",\\\"11月\\\",\\\"12月\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#A98E8E\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"成交量\\\",\\\"成交价\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#FBF8F8\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"grid\\\":{\\\"top\\\":58,\\\"left\\\":30,\\\"bottom\\\":43,\\\"right\\\":32},\\\"series\\\":[{\\\"barWidth\\\":15,\\\"stack\\\":\\\"1\\\",\\\"data\\\":[10,7,5,5,7,9,3,6,5,8,6,6],\\\"name\\\":\\\"成交量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#37A5B1\\\",\\\"barBorderRadius\\\":13},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":7,\\\"typeData\\\":[{\\\"name\\\":\\\"成交量\\\",\\\"type\\\":\\\"\\\",\\\"_index\\\":0,\\\"_rowKey\\\":136,\\\"stack\\\":\\\"1\\\"},{\\\"name\\\":\\\"成交价\\\",\\\"type\\\":\\\"\\\",\\\"stack\\\":\\\"1\\\",\\\"_index\\\":1,\\\"_rowKey\\\":139}]},{\\\"barWidth\\\":15,\\\"stack\\\":\\\"1\\\",\\\"data\\\":[5,5,12,5,5,5,5,10,5,5,5,5],\\\"name\\\":\\\"成交价\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#2E72A7\\\",\\\"barBorderRadius\\\":13},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":7,\\\"typeData\\\":[{\\\"name\\\":\\\"成交量\\\",\\\"type\\\":\\\"\\\",\\\"_index\\\":0,\\\"_rowKey\\\":136,\\\"stack\\\":\\\"1\\\"},{\\\"name\\\":\\\"成交价\\\",\\\"type\\\":\\\"\\\",\\\"stack\\\":\\\"1\\\",\\\"_index\\\":1,\\\"_rowKey\\\":139}]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"成交量和成交价趋势\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/QQ截图20201207201434_1607343287788.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331872643531526146\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengjiao1\",\"chartType\":\"bar.stack\",\"chartId\":\"\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"Nf6Xud4fZqEfvQw4\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,4],[7,5],[7,6],[7,7],[7,8],[7,9],[7,10],[7,11]]},{\"row\":16,\"col\":12,\"width\":\"326\",\"height\":\"200\",\"config\":\"{\\\"radar\\\":[{\\\"indicator\\\":[{\\\"name\\\":\\\"房产证\\\",\\\"max\\\":520},{\\\"name\\\":\\\"购房发票\\\",\\\"max\\\":310},{\\\"name\\\":\\\"购房合同\\\",\\\"max\\\":380},{\\\"name\\\":\\\"预售合同\\\",\\\"max\\\":450},{\\\"name\\\":\\\"抵押合同\\\",\\\"max\\\":600},{\\\"name\\\":\\\"预收合同\\\",\\\"max\\\":350}],\\\"shape\\\":\\\"polygon\\\",\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"gray\\\",\\\"opacity\\\":0.5}},\\\"center\\\":[\\\"50%\\\",\\\"50%\\\"],\\\"name\\\":{\\\"formatter\\\":\\\"【{value}】\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#72ACD1\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"gray\\\",\\\"opacity\\\":0.5}}}],\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"售后产权\\\",\\\"单位产权\\\",\\\"个人产权\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"type\\\":\\\"radar\\\",\\\"data\\\":[{\\\"name\\\":\\\"售后产权\\\",\\\"value\\\":[43,100,280,350,500,250],\\\"areaStyle\\\":{\\\"color\\\":\\\"#3F9AFB\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"#2D8CF0\\\"}},{\\\"name\\\":\\\"单位产权\\\",\\\"value\\\":[190,50,140,280,310,150],\\\"areaStyle\\\":{\\\"color\\\":\\\"#A6F65C\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"#55FE4D\\\"}},{\\\"name\\\":\\\"个人产权\\\",\\\"value\\\":[420,210,160,0,120,130],\\\"areaStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\"}}]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同产权、证件成交量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#ffffff\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608274537110.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331916030221602818\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"btchanquan\",\"chartType\":\"radar.basic\",\"isTiming\":true,\"intervalTime\":\"10\",\"id\":\"IWoBtyiRxjkEbkfD\"},\"layer_id\":\"IWoBtyiRxjkEbkfD\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,12],[16,13],[16,14],[16,15]]},{\"row\":16,\"col\":1,\"width\":\"337\",\"height\":\"205\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"马小姐\\\",\\\"孙小姐\\\",\\\"王先生\\\",\\\"李先生\\\",\\\"赵小姐\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":55,\\\"left\\\":70,\\\"bottom\\\":40,\\\"right\\\":24},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[20,15,12,10,7],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#37A5B1\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"销售量成交排行榜\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1606961907450.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331514838211407873\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"cjpaihang\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"Cror94F1kmbP71ip\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,1],[16,2],[16,3]]},{\"row\":16,\"col\":4,\"width\":\"334\",\"height\":\"206\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"马小姐\\\",\\\"孙小姐\\\",\\\"王先生\\\",\\\"李先生\\\",\\\"赵小姐\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":55,\\\"left\\\":56,\\\"bottom\\\":38,\\\"right\\\":30},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[20,15,12,10,7],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#2E72A7\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"销售员成交金额\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1606961918589.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331514838211407873\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"cjpaihang\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartId\":\"\"},\"layer_id\":\"pBOwp0Q0g4iuJCVm\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,4],[16,5],[16,6],[16,7]]},{\"row\":16,\"col\":8,\"width\":\"324\",\"height\":\"206\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"简装\\\",\\\"中装\\\",\\\"精装\\\",\\\"豪装\\\",\\\"毛坯\\\"],\\\"top\\\":\\\"bottom\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"简装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(52,158,172,1)\\\"}},{\\\"name\\\":\\\"中装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(56,131,185,1)\\\"}},{\\\"name\\\":\\\"精装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(103,153,75,1)\\\"}},{\\\"name\\\":\\\"豪装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(230,165,55,1)\\\"}},{\\\"name\\\":\\\"毛坯\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"180\\\",\\\"100\\\"],\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"52%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同装修类型销售销量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#ffffff\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608535503498.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331878107552010242\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"zhuangxiu\",\"chartType\":\"pie.simple\",\"isTiming\":true,\"intervalTime\":\"5\",\"id\":\"rQgkcYfLy4x0EP6h\"},\"layer_id\":\"rQgkcYfLy4x0EP6h\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,8],[16,9],[16,10],[16,11]]}],\"area\":{\"sri\":16,\"sci\":1,\"eri\":23,\"eci\":3,\"width\":340,\"height\":200},\"excel_config_id\":\"1331503965770223616\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\"},\"1\":{\"style\":60,\"merge\":[0,13],\"text\":\"房屋销售综合展示大屏\"}},\"height\":113},\"1\":{\"cells\":{\"1\":{\"merge\":[14,2],\"style\":43,\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"2\":{\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"3\":{\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"4\":{\"style\":53,\"text\":\"成交量:\",\"merge\":[2,0],\"virtual\":\"5ggWQtDUvSopC4iL\"},\"5\":{\"text\":\"#{qingkuang.cjl}\",\"style\":64,\"merge\":[2,0]},\"7\":{\"style\":53,\"text\":\"成交金额:\",\"merge\":[2,0]},\"8\":{\"text\":\"#{qingkuang.cjje}\",\"style\":68,\"merge\":[2,0]},\"10\":{\"style\":53,\"text\":\"销售面积:\",\"merge\":[2,0]},\"11\":{\"text\":\"#{qingkuang.xsmj}\",\"style\":64,\"merge\":[2,0]},\"12\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"13\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"14\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"15\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"}},\"isDrag\":true},\"2\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"3\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"4\":{\"cells\":{\"4\":{\"style\":58,\"text\":\"成交均价:\",\"merge\":[2,0]},\"5\":{\"text\":\"#{qingkuang.cjjj}\",\"style\":65,\"merge\":[2,0]},\"7\":{\"style\":58,\"text\":\"售房佣金:\",\"merge\":[2,0]},\"8\":{\"text\":\"#{qingkuang.sfyj}\",\"style\":65,\"merge\":[2,0]},\"10\":{\"style\":58,\"text\":\"预定客户:\",\"merge\":[2,0]},\"11\":{\"text\":\"#{qingkuang.ydkh}\",\"style\":65,\"merge\":[2,0]},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}},\"isDrag\":true,\"height\":25},\"5\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"6\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"7\":{\"cells\":{\"4\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"5\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"6\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"7\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"8\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"9\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"10\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"11\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"12\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"13\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"14\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"15\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"}}},\"8\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"9\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"10\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"11\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"12\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"13\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"14\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"15\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"16\":{\"cells\":{\"1\":{\"style\":43,\"text\":\" \",\"merge\":[7,2],\"virtual\":\"Cror94F1kmbP71ip\"},\"2\":{\"text\":\" \",\"virtual\":\"Cror94F1kmbP71ip\"},\"3\":{\"text\":\" \",\"virtual\":\"Cror94F1kmbP71ip\"},\"4\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"5\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"6\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"7\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"8\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"9\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"10\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"11\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"12\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"13\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"14\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"15\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"}}},\"17\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"18\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"19\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"20\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"21\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"22\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"23\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"24\":{\"cells\":{\"1\":{\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"len\":98},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1546,\"displayConfig\":{},\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/bg_1606961893275.png\",\"repeat\":\"repeat\",\"width\":\"\",\"height\":\"\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":18}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":18}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":16}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\"},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":14}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11}},{\"align\":\"right\",\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":11}},{\"align\":\"center\",\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true}},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":22},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":22},\"align\":\"center\",\"color\":\"#000100\"},{\"color\":\"#000100\",\"font\":{\"size\":22}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\"},{},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\",\"border\":{\"right\":[\"thin\",\"#eee\"]}},{\"align\":\"right\",\"font\":{\"size\":16,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":15,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"font\":{\"bold\":true,\"name\":\"宋体\",\"size\":22},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":22,\"name\":\"宋体\"}},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"bgcolor\":\"#ffff01\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"bgcolor\":\"\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\",\"bgcolor\":\"\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":117},\"3\":{\"width\":140},\"4\":{\"width\":136},\"5\":{\"width\":79},\"6\":{\"width\":1},\"7\":{\"width\":123},\"8\":{\"width\":102},\"9\":{\"width\":24},\"11\":{\"width\":100},\"14\":{\"width\":124},\"len\":50},\"merges\":[\"B2:D16\",\"E8:L16\",\"B17:D24\",\"E17:H24\",\"E2:E4\",\"F2:F4\",\"E5:E7\",\"F5:F7\",\"H2:H4\",\"H5:H7\",\"I5:I7\",\"I2:I4\",\"K2:K4\",\"L2:L4\",\"K5:K7\",\"L5:L7\",\"M17:O24\",\"B1:O1\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201125161646_1606705892603.png', 'admin', '2020-11-25 15:50:43', 'admin', '2021-04-01 03:37:15', 0, NULL, NULL, 1, 712, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1334378897302753280', '20201203140834', '区域销售表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1334378897302753280\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"区域销售表\",\"merge\":[0,22],\"style\":10},\"2\":{\"style\":10},\"3\":{\"style\":10},\"4\":{\"style\":10},\"5\":{\"style\":10},\"6\":{\"style\":10},\"7\":{\"style\":10},\"8\":{\"style\":10},\"9\":{\"style\":10},\"10\":{\"style\":10},\"11\":{\"style\":10},\"12\":{\"style\":10},\"13\":{\"style\":10},\"14\":{\"style\":10},\"15\":{\"style\":10},\"16\":{\"style\":10},\"17\":{\"style\":10},\"18\":{\"style\":10},\"19\":{\"style\":10},\"20\":{\"style\":10},\"21\":{\"style\":10},\"22\":{\"style\":10},\"23\":{\"style\":10}},\"height\":72},\"1\":{\"cells\":{\"0\":{\"style\":64},\"1\":{\"text\":\"区域\",\"merge\":[1,0],\"style\":65},\"2\":{\"text\":\"省份\",\"merge\":[1,0],\"style\":65},\"3\":{\"text\":\"1月\",\"merge\":[0,2],\"style\":65},\"4\":{\"style\":66,\"text\":\" \"},\"5\":{\"style\":66,\"text\":\" \"},\"6\":{\"text\":\"2月\",\"merge\":[0,2],\"style\":65},\"7\":{\"style\":66,\"text\":\" \"},\"8\":{\"style\":66,\"text\":\" \"},\"9\":{\"text\":\"3月\",\"merge\":[0,2],\"style\":65},\"10\":{\"style\":66,\"text\":\" \"},\"11\":{\"style\":66,\"text\":\" \"},\"12\":{\"text\":\"4月\",\"merge\":[0,2],\"style\":65},\"13\":{\"style\":66,\"text\":\" \"},\"14\":{\"style\":66,\"text\":\" \"},\"15\":{\"text\":\"5月\",\"merge\":[0,2],\"style\":65},\"16\":{\"style\":66,\"text\":\" \"},\"17\":{\"style\":66,\"text\":\" \"},\"18\":{\"text\":\"6月\",\"merge\":[0,2],\"style\":65},\"19\":{\"style\":66,\"text\":\" \"},\"20\":{\"style\":66,\"text\":\" \"},\"21\":{\"text\":\"总合计\",\"merge\":[0,2],\"style\":65},\"22\":{\"style\":66,\"text\":\" \"},\"23\":{\"style\":66,\"text\":\" \"},\"24\":{\"style\":64},\"25\":{\"style\":64}},\"height\":22},\"2\":{\"cells\":{\"0\":{\"style\":64},\"1\":{\"style\":66,\"text\":\" \"},\"2\":{\"style\":65,\"text\":\" \"},\"3\":{\"text\":\"销售额\",\"style\":65},\"4\":{\"text\":\"搭赠\",\"style\":65},\"5\":{\"text\":\"比例\",\"style\":65},\"6\":{\"text\":\"销售额\",\"style\":65},\"7\":{\"text\":\"搭赠\",\"style\":65},\"8\":{\"text\":\"比例\",\"style\":65},\"9\":{\"text\":\"销售额\",\"style\":65},\"10\":{\"text\":\"搭赠\",\"style\":65},\"11\":{\"text\":\"比例\",\"style\":65},\"12\":{\"text\":\"销售额\",\"style\":65},\"13\":{\"text\":\"搭赠\",\"style\":65},\"14\":{\"text\":\"比例\",\"style\":65},\"15\":{\"text\":\"销售额\",\"style\":65},\"16\":{\"text\":\"搭赠\",\"style\":65},\"17\":{\"text\":\"比例\",\"style\":65},\"18\":{\"text\":\"销售额\",\"style\":65},\"19\":{\"text\":\"搭赠\",\"style\":65},\"20\":{\"text\":\"比例\",\"style\":65},\"21\":{\"text\":\"销售额\",\"style\":65},\"22\":{\"text\":\"搭赠\",\"style\":65},\"23\":{\"text\":\"比例\",\"style\":65},\"24\":{\"style\":64},\"25\":{\"style\":64}},\"height\":24},\"3\":{\"cells\":{\"0\":{\"style\":67},\"1\":{\"text\":\"#{quyuxiaoshou.group(region)}\",\"style\":52,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{quyuxiaoshou.province}\",\"style\":53},\"3\":{\"text\":\"#{quyuxiaoshou.sales_1}\",\"style\":17},\"4\":{\"text\":\"#{quyuxiaoshou.gift_1}\",\"style\":17},\"5\":{\"text\":\"#{quyuxiaoshou.proportion_1}\",\"style\":17},\"6\":{\"text\":\"#{quyuxiaoshou.sales_2}\",\"style\":17},\"7\":{\"text\":\"#{quyuxiaoshou.gift_2}\",\"style\":17},\"8\":{\"text\":\"#{quyuxiaoshou.proportion_2}\",\"style\":17},\"9\":{\"text\":\"#{quyuxiaoshou.sales_3}\",\"style\":17},\"10\":{\"text\":\"#{quyuxiaoshou.gift_3}\",\"style\":17},\"11\":{\"text\":\"#{quyuxiaoshou.proportion_3}\",\"style\":17},\"12\":{\"text\":\"#{quyuxiaoshou.sales_4}\",\"style\":17},\"13\":{\"text\":\"#{quyuxiaoshou.gift_4}\",\"style\":17},\"14\":{\"text\":\"#{quyuxiaoshou.proportion_4}\",\"style\":17},\"15\":{\"text\":\"#{quyuxiaoshou.sales_5}\",\"style\":17},\"16\":{\"text\":\"#{quyuxiaoshou.gift_5}\",\"style\":17},\"17\":{\"text\":\"#{quyuxiaoshou.proportion_5}\",\"style\":15},\"18\":{\"text\":\"#{quyuxiaoshou.sales_6}\",\"style\":15},\"19\":{\"text\":\"#{quyuxiaoshou.gift_6}\",\"style\":15},\"20\":{\"text\":\"#{quyuxiaoshou.proportion_6}\",\"style\":15},\"21\":{\"text\":\"#{quyuxiaoshou.sales_z}\",\"style\":15},\"22\":{\"text\":\"#{quyuxiaoshou.gift_z}\",\"style\":15},\"23\":{\"text\":\"#{quyuxiaoshou.proportion_z}\",\"style\":15},\"24\":{\"style\":67},\"25\":{\"style\":67}},\"isDrag\":true,\"height\":56},\"4\":{\"cells\":{\"0\":{\"style\":64},\"1\":{\"style\":39,\"text\":\"总计\",\"merge\":[0,1]},\"3\":{\"style\":68,\"text\":\"=SUM(D4)\"},\"4\":{\"style\":69,\"text\":\"=SUM(E4)\"},\"5\":{\"style\":70,\"text\":\"=SUM(F4)\"},\"6\":{\"style\":69,\"text\":\"=SUM(G4)\"},\"7\":{\"style\":69,\"text\":\"=SUM(H4)\"},\"8\":{\"style\":70,\"text\":\"=SUM(I4)\"},\"9\":{\"style\":69,\"text\":\"=SUM(J4)\"},\"10\":{\"style\":69,\"text\":\"=SUM(K4)\"},\"11\":{\"style\":70,\"text\":\"=SUM(L4)\"},\"12\":{\"style\":69,\"text\":\"=SUM(M4)\"},\"13\":{\"style\":69,\"text\":\"=SUM(N4)\"},\"14\":{\"style\":70,\"text\":\"=SUM(O4)\"},\"15\":{\"style\":69,\"text\":\"=SUM(P4)\"},\"16\":{\"style\":69,\"text\":\"=SUM(Q4)\"},\"17\":{\"style\":70,\"text\":\"=SUM(R4)\"},\"18\":{\"style\":69,\"text\":\"=SUM(S4)\"},\"19\":{\"style\":69,\"text\":\"=SUM(T4)\"},\"20\":{\"style\":70,\"text\":\"=SUM(U4)\"},\"21\":{\"style\":69,\"text\":\"=SUM(V4)\"},\"22\":{\"style\":69,\"text\":\"=SUM(W4)\"},\"23\":{\"style\":69,\"text\":\"=SUM(X4)\"},\"24\":{\"style\":64},\"25\":{\"style\":64}},\"height\":38},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"quyuxiaoshou.region\",\"freeze\":\"A1\",\"dataRectWidth\":1554,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"隶书\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"华文中宋\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Arial\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"number\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10,\"name\":\"宋体\"}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":10,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10,\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10,\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":10,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":20},\"1\":{\"width\":84},\"2\":{\"width\":81},\"3\":{\"width\":75},\"4\":{\"width\":63},\"5\":{\"width\":59},\"6\":{\"width\":70},\"7\":{\"width\":57},\"8\":{\"width\":60},\"9\":{\"width\":75},\"10\":{\"width\":66},\"11\":{\"width\":64},\"12\":{\"width\":70},\"13\":{\"width\":61},\"14\":{\"width\":61},\"15\":{\"width\":70},\"16\":{\"width\":58},\"17\":{\"width\":63},\"18\":{\"width\":60},\"19\":{\"width\":63},\"20\":{\"width\":59},\"21\":{\"width\":73},\"22\":{\"width\":69},\"23\":{\"width\":73},\"len\":50},\"merges\":[\"B2:B3\",\"C2:C3\",\"D2:F2\",\"G2:I2\",\"J2:L2\",\"M2:O2\",\"P2:R2\",\"S2:U2\",\"V2:X2\",\"B1:X1\",\"B5:C5\"]}', NULL, 'https://static.jeecg.com/designreport/images/quyu_1607069899537.png', 'admin', '2020-12-03 14:08:34', 'admin', '2021-02-03 13:59:12', 0, NULL, NULL, 1, 450, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1334420681185566722', '202012031408346166', '学校经费一览表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":7,\"sci\":1,\"eri\":7,\"eci\":2,\"width\":216,\"height\":25},\"printElWidth\":718,\"excel_config_id\":\"1334420681185566722\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"学校经费一览表\",\"merge\":[0,22],\"style\":10},\"2\":{\"style\":10},\"3\":{\"style\":10},\"4\":{\"style\":10},\"5\":{\"style\":10},\"6\":{\"style\":10},\"7\":{\"style\":10},\"8\":{\"style\":10},\"9\":{\"style\":10},\"10\":{\"style\":10},\"11\":{\"style\":10},\"12\":{\"style\":10},\"13\":{\"style\":10},\"14\":{\"style\":10},\"15\":{\"style\":10},\"16\":{\"style\":10},\"17\":{\"style\":10},\"18\":{\"style\":10},\"19\":{\"style\":10},\"20\":{\"style\":10},\"21\":{\"style\":10},\"22\":{\"style\":10},\"23\":{\"style\":10}},\"height\":72},\"1\":{\"cells\":{\"1\":{\"text\":\"学校类别\",\"style\":221,\"merge\":[4,0]},\"2\":{\"merge\":[4,0],\"style\":222,\"text\":\"学校名称\"},\"3\":{\"text\":\"财政教育经费投入(万元)\",\"merge\":[0,8],\"style\":84},\"4\":{\"style\":40,\"text\":\" \"},\"5\":{\"style\":40,\"text\":\" \"},\"6\":{\"style\":40,\"text\":\" \"},\"7\":{\"style\":40,\"text\":\" \"},\"8\":{\"style\":40,\"text\":\" \"},\"9\":{\"style\":40,\"text\":\" \"},\"10\":{\"style\":40,\"text\":\" \"},\"11\":{\"style\":40,\"text\":\" \"},\"12\":{\"text\":\"其他投入\",\"merge\":[0,7],\"style\":84},\"13\":{\"text\":\" \",\"style\":40},\"14\":{\"text\":\" \",\"style\":40},\"15\":{\"text\":\" \",\"style\":40},\"16\":{\"text\":\" \",\"style\":40},\"17\":{\"text\":\" \",\"style\":40},\"18\":{\"text\":\" \",\"style\":40},\"19\":{\"text\":\" \",\"style\":40},\"20\":{\"style\":84,\"text\":\"补充资料\",\"merge\":[0,4]},\"21\":{\"text\":\" \",\"style\":40},\"22\":{\"text\":\" \",\"style\":40},\"23\":{\"text\":\" \",\"style\":40},\"24\":{\"text\":\" \",\"style\":40}},\"height\":28},\"2\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"text\":\"总计\",\"style\":117,\"merge\":[3,0]},\"4\":{\"text\":\"教育事业费\",\"style\":117,\"merge\":[0,6]},\"5\":{\"style\":118,\"text\":\" \"},\"6\":{\"style\":118,\"text\":\" \"},\"7\":{\"style\":118,\"text\":\" \"},\"8\":{\"style\":118,\"text\":\" \"},\"9\":{\"style\":118,\"text\":\" \"},\"10\":{\"style\":118,\"text\":\" \"},\"11\":{\"text\":\"基础拨款\",\"style\":117,\"merge\":[3,0]},\"12\":{\"text\":\"村投入\",\"style\":117,\"merge\":[0,4]},\"13\":{\"text\":\" \",\"style\":223},\"14\":{\"text\":\" \",\"style\":223},\"15\":{\"text\":\" \",\"style\":223},\"16\":{\"text\":\" \",\"style\":223},\"17\":{\"text\":\"社会捐款\",\"style\":117,\"merge\":[0,2]},\"18\":{\"text\":\" \",\"style\":223},\"19\":{\"text\":\" \",\"style\":223},\"20\":{\"style\":126,\"merge\":[0,4],\"text\":\"信息化建设\"},\"21\":{\"style\":122,\"text\":\" \"},\"22\":{\"style\":122,\"text\":\" \"},\"23\":{\"style\":122,\"text\":\" \"},\"24\":{\"style\":122,\"text\":\" \"}},\"height\":24},\"3\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"merge\":[0,1],\"text\":\"合计\",\"style\":121},\"5\":{\"style\":122,\"text\":\" \"},\"6\":{\"merge\":[2,0],\"text\":\"人员经费\",\"style\":121},\"7\":{\"merge\":[2,0],\"text\":\"日常公用费用\",\"style\":123},\"8\":{\"merge\":[0,2],\"text\":\"项目经费\",\"style\":121},\"9\":{\"style\":122,\"text\":\" \"},\"10\":{\"style\":122,\"text\":\" \"},\"11\":{\"style\":118,\"text\":\" \"},\"12\":{\"merge\":[2,0],\"text\":\"合计\",\"style\":121},\"13\":{\"merge\":[0,3],\"text\":\"其中\",\"style\":121},\"14\":{\"text\":\" \",\"style\":223},\"15\":{\"text\":\" \",\"style\":223},\"16\":{\"text\":\" \",\"style\":223},\"17\":{\"merge\":[2,0],\"text\":\"合计\",\"style\":121},\"18\":{\"merge\":[0,1],\"text\":\"其中\",\"style\":121},\"19\":{\"style\":122,\"text\":\" \"},\"20\":{\"merge\":[2,0],\"text\":\"本年投入金额(万元)\",\"style\":230},\"21\":{\"merge\":[0,1],\"text\":\"电脑数(台数)\",\"style\":121},\"22\":{\"style\":122,\"text\":\" \"},\"23\":{\"merge\":[0,1],\"text\":\"校园网数(个)\",\"style\":121},\"24\":{\"style\":122,\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"merge\":[1,0],\"text\":\"金额\",\"style\":126},\"5\":{\"merge\":[1,0],\"text\":\"比上年增长(%)\",\"style\":127},\"6\":{\"style\":122,\"text\":\" \"},\"7\":{\"style\":123,\"text\":\" \"},\"8\":{\"merge\":[1,0],\"text\":\"合计\",\"style\":121},\"9\":{\"merge\":[0,1],\"text\":\"其中\",\"style\":121},\"10\":{\"style\":122,\"text\":\" \"},\"11\":{\"style\":118,\"text\":\" \"},\"12\":{\"style\":121,\"text\":\" \"},\"13\":{\"merge\":[1,0],\"text\":\"人员经费\",\"style\":131},\"14\":{\"merge\":[1,0],\"text\":\"日常公用费用\",\"style\":131},\"15\":{\"merge\":[1,0],\"text\":\"项目经费\",\"style\":131},\"16\":{\"merge\":[1,0],\"text\":\"基建投入\",\"style\":131},\"17\":{\"style\":121,\"text\":\" \"},\"18\":{\"merge\":[1,0],\"text\":\"项目经费\",\"style\":131},\"19\":{\"merge\":[1,0],\"text\":\"基础投入\",\"style\":131},\"20\":{\"style\":231,\"text\":\" \"},\"21\":{\"merge\":[1,0],\"text\":\"合计\",\"style\":121},\"22\":{\"merge\":[1,0],\"text\":\"本年购置数\",\"style\":121},\"23\":{\"style\":121,\"merge\":[1,0],\"text\":\"合计\"},\"24\":{\"merge\":[1,0],\"text\":\"本年建成数\",\"style\":121}}},\"5\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"style\":126,\"text\":\" \"},\"5\":{\"style\":129,\"text\":\" \"},\"6\":{\"style\":121,\"text\":\" \"},\"7\":{\"style\":130,\"text\":\" \"},\"8\":{\"style\":121,\"text\":\" \"},\"9\":{\"text\":\"标准化建设\",\"style\":131},\"10\":{\"text\":\"信息化建设\",\"style\":121},\"11\":{\"style\":118,\"text\":\" \"},\"12\":{\"style\":121,\"text\":\" \"},\"13\":{\"text\":\" \",\"style\":223},\"14\":{\"style\":131,\"text\":\" \"},\"15\":{\"text\":\" \",\"style\":223},\"16\":{\"style\":131,\"text\":\" \"},\"17\":{\"style\":121,\"text\":\" \"},\"18\":{\"text\":\" \",\"style\":223},\"19\":{\"style\":131,\"text\":\" \"},\"20\":{\"style\":231,\"text\":\" \"},\"21\":{\"style\":121,\"text\":\" \"},\"22\":{\"style\":122,\"text\":\" \"},\"23\":{\"style\":131,\"text\":\" \"},\"24\":{\"style\":122,\"text\":\" \"}}},\"6\":{\"cells\":{\"0\":{\"style\":236},\"1\":{\"text\":\"#{laiyuan.group(class)}\",\"style\":233,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{laiyuan.school}\",\"style\":234},\"3\":{\"style\":15,\"text\":\"=SUM(E7,I7)\"},\"4\":{\"style\":15,\"text\":\"=SUM(G7,H7)\"},\"5\":{\"text\":\"#{laiyuan.lv}\",\"style\":12},\"6\":{\"text\":\"#{laiyuan.renyuan_jy}\",\"style\":12},\"7\":{\"text\":\"#{laiyuan.richang_jy}\",\"style\":12},\"8\":{\"style\":12,\"text\":\"=SUM(J7,K7)\"},\"9\":{\"text\":\"#{laiyuan.biaozhun_jy}\",\"style\":12},\"10\":{\"text\":\"#{laiyuan.xinxi_jy}\",\"style\":12},\"11\":{\"text\":\"#{laiyuan.jichubokuan_jy}\",\"style\":12},\"12\":{\"style\":12,\"text\":\"=SUM(N7,O7)\"},\"13\":{\"text\":\"#{laiyuan.renyuan_ct}\",\"style\":12},\"14\":{\"text\":\"#{laiyuan.richang_ct}\",\"style\":12},\"15\":{\"text\":\"#{laiyuan.xiangmu_ct}\",\"style\":12},\"16\":{\"text\":\"#{laiyuan.jichubokuan_ct}\",\"style\":12},\"17\":{\"style\":12,\"text\":\"=SUM(S7,T7)\"},\"18\":{\"text\":\"#{laiyuan.xiangmu_sh}\",\"style\":12},\"19\":{\"text\":\"#{laiyuan.jichubokuan_sh}\",\"style\":12},\"20\":{\"style\":12,\"text\":\"=SUM(V7,X7)\"},\"21\":{\"style\":12,\"text\":\"#{laiyuan.diannao}\"},\"22\":{\"text\":\"#{laiyuan.diannao}\",\"style\":12},\"23\":{\"style\":12,\"text\":\"#{laiyuan.xiaoyuanwang}\"},\"24\":{\"text\":\"#{laiyuan.xiaoyuanwang}\",\"style\":12},\"25\":{\"style\":236}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"text\":\"总计\",\"style\":226,\"rendered\":\"\",\"merge\":[0,1]},\"3\":{\"style\":228,\"text\":\"=SUM(D7)\"},\"4\":{\"style\":228,\"text\":\"=SUM(E7)\"},\"5\":{\"style\":228,\"text\":\"\"},\"6\":{\"style\":228,\"text\":\"=SUM(G7)\"},\"7\":{\"style\":228,\"text\":\"=SUM(H7)\"},\"8\":{\"style\":228,\"text\":\"=SUM(I7)\"},\"9\":{\"style\":228,\"text\":\"=SUM(J7)\"},\"10\":{\"style\":228,\"text\":\"=SUM(K7)\"},\"11\":{\"style\":228,\"text\":\"=SUM(L7)\"},\"12\":{\"style\":228,\"text\":\"=SUM(M7)\"},\"13\":{\"style\":229,\"text\":\"=SUM(N7)\"},\"14\":{\"style\":229,\"text\":\"=SUM(O7)\"},\"15\":{\"style\":229,\"text\":\"=SUM(P7)\"},\"16\":{\"style\":229,\"text\":\"=SUM(Q7)\"},\"17\":{\"style\":229,\"text\":\"=SUM(R7)\"},\"18\":{\"style\":229,\"text\":\"=SUM(S7)\"},\"19\":{\"style\":229,\"text\":\"=SUM(T7)\"},\"20\":{\"style\":229,\"text\":\"=SUM(U7)\"},\"21\":{\"style\":229,\"text\":\"=SUM(V8)\"},\"22\":{\"style\":229,\"text\":\"=SUM(W7)\"},\"23\":{\"style\":232,\"text\":\"=SUM(X7)\"},\"24\":{\"style\":229,\"text\":\"=SUM(Y7)\"}}},\"9\":{\"cells\":{\"4\":{\"lineStart\":\"leftbottom\",\"text\":\"\"}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"laiyuan.class\",\"freeze\":\"A1\",\"dataRectWidth\":1738,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"隶书\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"华文中宋\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Arial\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"number\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\"},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9}},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#ffffff\"},{\"textwrap\":true},{\"textwrap\":true,\"font\":{\"size\":9}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#02a274\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"color\":\"#000100\"},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#02a274\",\"color\":\"#000100\"},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\"},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"color\":\"#000100\",\"bgcolor\":\"\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\"},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"color\":\"#000100\",\"font\":{\"size\":10}},{\"color\":\"#000100\",\"bgcolor\":\"\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"size\":10},\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":10}},{\"bgcolor\":\"\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\"},{\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"color\":\"#000100\",\"bgcolor\":\"\",\"align\":\"center\"},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"color\":\"#000100\",\"bgcolor\":\"\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"color\":\"#000100\",\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"#\"},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"font\":{\"size\":10},\"align\":\"center\",\"bgcolor\":\"#\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"bgcolor\":\"#\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"color\":\"#000100\",\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":10},\"align\":\"center\",\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#ddefe8\"},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"color\":\"#000100\",\"bgcolor\":\"#fffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#fffff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fffff\"},{\"textwrap\":true,\"bgcolor\":\"#fffff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fffff\"},{\"color\":\"#000100\",\"bgcolor\":\"#ffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#ffff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffff\"},{\"textwrap\":true,\"bgcolor\":\"#ffff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffff\"},{\"color\":\"#000100\",\"bgcolor\":\"#fff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#fff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fff\"},{\"textwrap\":true,\"bgcolor\":\"#fff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fff\"},{\"color\":\"#000100\",\"bgcolor\":\"#ff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#ff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ff\"},{\"textwrap\":true,\"bgcolor\":\"#ff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ff\"},{\"color\":\"#000100\",\"bgcolor\":\"#f\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#f\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f\"},{\"textwrap\":true,\"bgcolor\":\"#f\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f\"},{\"color\":\"#000100\",\"bgcolor\":\"#\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"textwrap\":true,\"bgcolor\":\"#\"},{\"color\":\"#000100\",\"bgcolor\":\"#ddefe8\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"color\":\"#000100\",\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\"},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\"},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"textwrap\":true,\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\"},{\"bgcolor\":\"#aedac8\"},{\"bgcolor\":\"#fffff\"},{\"bgcolor\":\"#ffff\"},{\"bgcolor\":\"#fff\"},{\"bgcolor\":\"#ff\"},{\"bgcolor\":\"#f\"},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Arial\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"aedac8\"},{\"align\":\"center\",\"bgcolor\":\"aedac8\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\",\"font\":{\"size\":9}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":9}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"##aedac8\"},{\"bgcolor\":\"##aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8},\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9}},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8}},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8},\"align\":\"left\"},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8},\"align\":\"left\",\"valign\":\"middle\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"bold\":false,\"size\":10}},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10},\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10}},{\"textwrap\":true,\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10}},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10},\"align\":\"left\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":8}}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":20},\"1\":{\"width\":84},\"2\":{\"width\":132},\"3\":{\"width\":75},\"4\":{\"width\":63},\"5\":{\"width\":59},\"6\":{\"width\":70},\"7\":{\"width\":61},\"8\":{\"width\":60},\"9\":{\"width\":75},\"10\":{\"width\":75},\"11\":{\"width\":64},\"12\":{\"width\":70},\"13\":{\"width\":63},\"14\":{\"width\":86},\"15\":{\"width\":64},\"16\":{\"width\":58},\"17\":{\"width\":63},\"18\":{\"width\":60},\"19\":{\"width\":63},\"20\":{\"width\":59},\"21\":{\"width\":73},\"22\":{\"width\":82},\"23\":{\"width\":73},\"24\":{\"width\":86},\"len\":50},\"merges\":[\"B1:X1\",\"D3:D6\",\"E5:E6\",\"F5:F6\",\"E4:F4\",\"G4:G6\",\"H4:H6\",\"I5:I6\",\"J5:K5\",\"I4:K4\",\"E3:K3\",\"L3:L6\",\"D2:L2\",\"M4:M6\",\"N5:N6\",\"O5:O6\",\"P5:P6\",\"Q5:Q6\",\"N4:Q4\",\"M3:Q3\",\"R4:R6\",\"R3:T3\",\"S4:T4\",\"S5:S6\",\"T5:T6\",\"U4:U6\",\"V4:W4\",\"V5:V6\",\"W5:W6\",\"X4:Y4\",\"X5:X6\",\"Y5:Y6\",\"U3:Y3\",\"M2:T2\",\"U2:Y2\",\"B2:B6\",\"C2:C6\",\"B8:C8\"]}', NULL, 'https://static.jeecg.com/designreport/images/jingfei_1607069843358.png', 'admin', '2020-12-03 16:54:17', 'admin', '2021-02-03 13:59:08', 0, NULL, NULL, 1, 443, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1334457419857793024', '20201203192154', '超市各地区销售额', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":1,\"sci\":26,\"eri\":4,\"eci\":28,\"width\":300,\"height\":100},\"excel_config_id\":\"1334457419857793024\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"各地区商品销售额一栏表\",\"merge\":[0,18],\"style\":13}},\"height\":82},\"1\":{\"cells\":{\"1\":{\"text\":\"地区/类别/时间\",\"merge\":[1,1],\"style\":46},\"3\":{\"text\":\"2020年\",\"style\":46,\"merge\":[0,12]},\"16\":{\"text\":\"2019年\",\"style\":46,\"merge\":[0,9]}}},\"2\":{\"cells\":{\"3\":{\"text\":\"12月\",\"style\":46},\"4\":{\"text\":\"11月\",\"style\":46},\"5\":{\"text\":\"10月\",\"style\":46},\"6\":{\"text\":\"9月\",\"style\":46},\"7\":{\"text\":\"8月\",\"style\":46},\"8\":{\"text\":\"7月\",\"style\":46},\"9\":{\"text\":\"6月\",\"style\":46},\"10\":{\"text\":\"5月\",\"style\":46},\"11\":{\"text\":\"4月\",\"style\":46},\"12\":{\"text\":\"3月\",\"style\":46},\"13\":{\"text\":\"2月\",\"style\":46},\"14\":{\"text\":\"1月\",\"style\":46},\"15\":{\"text\":\"本年小计\",\"style\":46},\"16\":{\"text\":\"12月\",\"style\":46},\"17\":{\"text\":\"11月\",\"style\":46},\"18\":{\"text\":\"10月\",\"style\":46},\"19\":{\"text\":\"9月\",\"style\":46},\"20\":{\"text\":\"8月\",\"style\":46},\"21\":{\"text\":\"7月\",\"style\":46},\"22\":{\"text\":\"6月\",\"style\":46},\"23\":{\"text\":\"5月\",\"style\":46},\"24\":{\"text\":\"4月\",\"style\":46},\"25\":{\"text\":\"本年小计\",\"style\":46}}},\"3\":{\"cells\":{\"1\":{\"text\":\"#{xiaoshou.group(diqu)}\",\"style\":51,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{xiaoshou.class}\",\"style\":51},\"3\":{\"text\":\"#{xiaoshou.sales_11}\",\"style\":20},\"4\":{\"text\":\"#{xiaoshou.sales_12}\",\"style\":20},\"5\":{\"text\":\"#{xiaoshou.sales_13}\",\"style\":20},\"6\":{\"text\":\"#{xiaoshou.sales_14}\",\"style\":20},\"7\":{\"text\":\"#{xiaoshou.sales_15}\",\"style\":20},\"8\":{\"text\":\"#{xiaoshou.sales_16}\",\"style\":20},\"9\":{\"text\":\"#{xiaoshou.sales_17}\",\"style\":20},\"10\":{\"text\":\"#{xiaoshou.sales_18}\",\"style\":20},\"11\":{\"text\":\"#{xiaoshou.sales_19}\",\"style\":20},\"12\":{\"text\":\"#{xiaoshou.sales_20}\",\"style\":20},\"13\":{\"text\":\"#{xiaoshou.sales_21}\",\"style\":20},\"14\":{\"text\":\"#{xiaoshou.sales_22}\",\"style\":20},\"15\":{\"style\":48,\"text\":\"=SUM(D4:O4)\"},\"16\":{\"text\":\"#{xiaoshou.sales_31}\",\"style\":20},\"17\":{\"text\":\"#{xiaoshou.sales_32}\",\"style\":20},\"18\":{\"text\":\"#{xiaoshou.sales_33}\",\"style\":20},\"19\":{\"text\":\"#{xiaoshou.sales_34}\",\"style\":20},\"20\":{\"text\":\"#{xiaoshou.sales_35}\",\"style\":20},\"21\":{\"text\":\"#{xiaoshou.sales_36}\",\"style\":20},\"22\":{\"text\":\"#{xiaoshou.sales_37}\",\"style\":20},\"23\":{\"text\":\"#{xiaoshou.sales_38}\",\"style\":20},\"24\":{\"text\":\"#{xiaoshou.sales_39}\",\"style\":20},\"25\":{\"style\":48,\"text\":\"=SUM(Q4:Y4)\"}},\"isDrag\":true},\"4\":{\"cells\":{\"1\":{\"text\":\"合计\",\"style\":52,\"rendered\":\"\",\"merge\":[0,1]},\"3\":{\"text\":\"=SUM(D4)\",\"style\":55},\"4\":{\"text\":\"=SUM(E4)\",\"style\":55},\"5\":{\"text\":\"=SUM(F4)\",\"style\":55},\"6\":{\"text\":\"=SUM(G4)\",\"style\":55},\"7\":{\"text\":\"=SUM(H4)\",\"style\":55},\"8\":{\"text\":\"=SUM(I4)\",\"style\":55},\"9\":{\"text\":\"=SUM(J4)\",\"style\":55},\"10\":{\"text\":\"=SUM(K4)\",\"style\":55},\"11\":{\"text\":\"=SUM(L4)\",\"style\":55},\"12\":{\"text\":\"=SUM(M4)\",\"style\":55},\"13\":{\"text\":\"=SUM(N4)\",\"style\":55},\"14\":{\"text\":\"=SUM(O4)\",\"style\":55},\"15\":{\"text\":\"=SUM(P4)\",\"style\":55},\"16\":{\"text\":\"=SUM(Q4)\",\"style\":55},\"17\":{\"text\":\"=SUM(R4)\",\"style\":55},\"18\":{\"text\":\"=SUM(S4)\",\"style\":55},\"19\":{\"text\":\"=SUM(T4)\",\"style\":55},\"20\":{\"text\":\"=SUM(U4)\",\"style\":55},\"21\":{\"text\":\"=SUM(V4)\",\"style\":55},\"22\":{\"text\":\"=SUM(W4)\",\"style\":55},\"23\":{\"text\":\"=SUM(X4)\",\"style\":55},\"24\":{\"text\":\"=SUM(Y4)\",\"style\":55},\"25\":{\"text\":\"=SUM(Z4)\",\"style\":55}},\"isDrag\":true},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"xiaoshou.diqu\",\"freeze\":\"A1\",\"dataRectWidth\":2464,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"bgcolor\":\"#\"},{\"bgcolor\":\"#d7f2f9\"},{\"bgcolor\":\"#d7f2f9\",\"align\":\"center\"},{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"bgcolor\":\"#d7f2f9\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"2896ea\"],\"top\":[\"thin\",\"2896ea\"],\"left\":[\"thin\",\"2896ea\"],\"right\":[\"thin\",\"2896ea\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"2896ea\"],\"top\":[\"thin\",\"2896ea\"],\"left\":[\"thin\",\"2896ea\"],\"right\":[\"thin\",\"2896ea\"]}},{\"border\":{\"bottom\":[\"thin\",\"2896ea\"],\"top\":[\"thin\",\"2896ea\"],\"left\":[\"thin\",\"2896ea\"],\"right\":[\"thin\",\"2896ea\"]}},{\"bgcolor\":\"#d7f2f9\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":16},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#9cc2e6\"],\"top\":[\"thin\",\"#9cc2e6\"],\"left\":[\"thin\",\"#9cc2e6\"],\"right\":[\"thin\",\"#9cc2e6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#9cc2e6\"],\"top\":[\"thin\",\"#9cc2e6\"],\"left\":[\"thin\",\"#9cc2e6\"],\"right\":[\"thin\",\"#9cc2e6\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#9cc2e6\"],\"top\":[\"thin\",\"#9cc2e6\"],\"left\":[\"thin\",\"#9cc2e6\"],\"right\":[\"thin\",\"#9cc2e6\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#e7e5e6\"],\"top\":[\"thin\",\"#e7e5e6\"],\"left\":[\"thin\",\"#e7e5e6\"],\"right\":[\"thin\",\"#e7e5e6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#e7e5e6\"],\"top\":[\"thin\",\"#e7e5e6\"],\"left\":[\"thin\",\"#e7e5e6\"],\"right\":[\"thin\",\"#e7e5e6\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#e7e5e6\"],\"top\":[\"thin\",\"#e7e5e6\"],\"left\":[\"thin\",\"#e7e5e6\"],\"right\":[\"thin\",\"#e7e5e6\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]},\"color\":\"#ffffff\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#afabac\"],\"top\":[\"thin\",\"#afabac\"],\"left\":[\"thin\",\"#afabac\"],\"right\":[\"thin\",\"#afabac\"]},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#afabac\"],\"top\":[\"thin\",\"#afabac\"],\"left\":[\"thin\",\"#afabac\"],\"right\":[\"thin\",\"#afabac\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#afabac\"],\"top\":[\"thin\",\"#afabac\"],\"left\":[\"thin\",\"#afabac\"],\"right\":[\"thin\",\"#afabac\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#f2f2f2\"],\"top\":[\"thin\",\"#f2f2f2\"],\"left\":[\"thin\",\"#f2f2f2\"],\"right\":[\"thin\",\"#f2f2f2\"]},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#f2f2f2\"],\"top\":[\"thin\",\"#f2f2f2\"],\"left\":[\"thin\",\"#f2f2f2\"],\"right\":[\"thin\",\"#f2f2f2\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#f2f2f2\"],\"top\":[\"thin\",\"#f2f2f2\"],\"left\":[\"thin\",\"#f2f2f2\"],\"right\":[\"thin\",\"#f2f2f2\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"bgcolor\":\"#d7f2f9\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\",\"bgcolor\":\"#deeaf6\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\",\"bgcolor\":\"#bdd7ee\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":10},\"align\":\"center\",\"bgcolor\":\"#d7f2f9\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#d7f2f9\"},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\"},{\"bgcolor\":\"#bdd7ee\"},{\"bgcolor\":\"#bdd7ee\",\"format\":\"number\"},{\"bgcolor\":\"#bdd7ee\",\"format\":\"number\",\"align\":\"center\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":21},\"1\":{\"width\":63},\"2\":{\"width\":85},\"3\":{\"width\":95},\"4\":{\"width\":83},\"5\":{\"width\":81},\"6\":{\"width\":88},\"7\":{\"width\":89},\"8\":{\"width\":87},\"9\":{\"width\":95},\"10\":{\"width\":92},\"11\":{\"width\":95},\"12\":{\"width\":96},\"13\":{\"width\":98},\"14\":{\"width\":98},\"15\":{\"width\":78},\"16\":{\"width\":110},\"17\":{\"width\":111},\"18\":{\"width\":102},\"19\":{\"width\":102},\"20\":{\"width\":114},\"21\":{\"width\":111},\"22\":{\"width\":113},\"23\":{\"width\":107},\"24\":{\"width\":115},\"25\":{\"width\":135},\"len\":49},\"merges\":[\"D2:P2\",\"B2:C3\",\"Q2:Z2\",\"B1:T1\",\"B5:C5\"]}', NULL, 'https://static.jeecg.com/designreport/images/chaoshi_1607069609875.png', 'admin', '2020-12-03 19:21:55', 'admin', '2021-04-05 18:47:20', 0, NULL, NULL, 1, 376, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1334696790477377536', '20201204111149', '学校收入一览表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":1,\"sci\":24,\"eri\":5,\"eci\":24,\"width\":100,\"height\":138},\"excel_config_id\":\"1334696790477377536\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"学校收入一览表\",\"merge\":[0,13],\"style\":25}},\"height\":71},\"1\":{\"cells\":{\"1\":{\"text\":\"校园信息\",\"merge\":[1,2],\"style\":40},\"4\":{\"text\":\"学生信息\",\"merge\":[1,2],\"style\":40},\"7\":{\"merge\":[1,5],\"style\":42,\"text\":\"收款信息\"},\"13\":{\"merge\":[0,10],\"text\":\"确认收入信息\",\"style\":43}},\"height\":23},\"2\":{\"cells\":{\"13\":{\"merge\":[0,3],\"text\":\"2020.09\",\"style\":46},\"17\":{\"merge\":[0,3],\"text\":\"2020.10\",\"style\":46},\"21\":{\"text\":\"合计\",\"style\":46,\"merge\":[0,2]}},\"height\":40},\"3\":{\"cells\":{\"1\":{\"text\":\"所属城际\",\"style\":50},\"2\":{\"text\":\"所属校园\",\"style\":50},\"3\":{\"text\":\"NC帐套\",\"style\":50},\"4\":{\"text\":\"学号\",\"style\":50},\"5\":{\"text\":\"姓名\",\"style\":50},\"6\":{\"text\":\"性质\",\"style\":50},\"7\":{\"text\":\"缴费金额\",\"style\":50},\"8\":{\"text\":\"缴费时间\",\"style\":50},\"9\":{\"text\":\"缴费性质\",\"style\":50},\"10\":{\"text\":\"缴费所属期间\",\"style\":50},\"11\":{\"text\":\"缴费月份数\",\"style\":50},\"12\":{\"text\":\"缴费方式\",\"style\":50},\"13\":{\"text\":\"全部\",\"style\":50},\"14\":{\"text\":\"学费\",\"style\":50},\"15\":{\"text\":\"餐费\",\"style\":50},\"16\":{\"text\":\"校车费\",\"style\":50},\"17\":{\"text\":\"全部\",\"style\":50},\"18\":{\"text\":\"学费\",\"style\":50},\"19\":{\"text\":\"餐费\",\"style\":50},\"20\":{\"text\":\"校车费\",\"style\":50},\"21\":{\"text\":\"全部\",\"style\":50},\"22\":{\"text\":\"学费\",\"style\":50},\"23\":{\"text\":\"餐费\",\"style\":50}}},\"4\":{\"cells\":{\"1\":{\"text\":\"#{shouru.group(city)}\",\"style\":45,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{shouru.group(school)}\",\"style\":45,\"aggregate\":\"group\"},\"3\":{\"text\":\"#{shouru.group(ncnum)}\",\"style\":35,\"aggregate\":\"group\"},\"4\":{\"text\":\"#{shouru.num}\",\"style\":35},\"5\":{\"text\":\"#{shouru.name}\",\"style\":35},\"6\":{\"text\":\"#{shouru.class}\",\"style\":35},\"7\":{\"text\":\"#{shouru.pay}\",\"style\":35},\"8\":{\"text\":\"#{shouru.paytime}\",\"style\":35},\"9\":{\"text\":\"#{shouru.payclass}\",\"style\":35},\"10\":{\"text\":\"#{shouru.pay1}\",\"style\":35},\"11\":{\"text\":\"#{shouru.paymoth}\",\"style\":35},\"12\":{\"text\":\"#{shouru.pay2}\",\"style\":35},\"13\":{\"style\":33,\"text\":\"=SUM(O5:Q5)\"},\"14\":{\"text\":\"#{shouru.tuition_09}\",\"style\":35},\"15\":{\"text\":\"#{shouru.meals_09}\",\"style\":35},\"16\":{\"text\":\"#{shouru.busfee_09}\",\"style\":35},\"17\":{\"style\":33,\"text\":\"=SUM(S5:U5)\"},\"18\":{\"text\":\"#{shouru.tuition_10}\",\"style\":35},\"19\":{\"text\":\"#{shouru.meals_10}\",\"style\":35},\"20\":{\"text\":\"#{shouru.busfee_10}\",\"style\":35},\"21\":{\"style\":33,\"text\":\"=SUM(W5,X5)\"},\"22\":{\"style\":35,\"text\":\"=SUM(O5,S5)\"},\"23\":{\"style\":35,\"text\":\"=SUM(P5,T5)\"}},\"isDrag\":true,\"height\":25},\"5\":{\"cells\":{\"1\":{\"style\":66,\"text\":\"合计\"},\"2\":{\"text\":\" \",\"style\":66},\"3\":{\"style\":66,\"text\":\" \"},\"4\":{\"style\":66,\"text\":\" \"},\"5\":{\"style\":66,\"text\":\" \"},\"6\":{\"style\":66,\"text\":\" \"},\"7\":{\"style\":66,\"text\":\" \"},\"8\":{\"style\":66,\"text\":\" \"},\"9\":{\"style\":66,\"text\":\" \"},\"10\":{\"style\":66,\"text\":\" \"},\"11\":{\"style\":66,\"text\":\" \"},\"12\":{\"style\":66,\"text\":\" \"},\"13\":{\"style\":66,\"text\":\" \"},\"14\":{\"style\":66,\"text\":\" \"},\"15\":{\"style\":66,\"text\":\" \"},\"16\":{\"style\":66,\"text\":\" \"},\"17\":{\"style\":66,\"text\":\" \"},\"18\":{\"text\":\" \",\"style\":66},\"19\":{\"style\":66,\"text\":\" \"},\"20\":{\"style\":66,\"text\":\" \"},\"21\":{\"style\":15,\"text\":\"=SUM(V5)\"},\"22\":{\"style\":15,\"text\":\"=SUM(W5)\"},\"23\":{\"style\":15,\"text\":\"=SUM(X5)\"}}},\"9\":{\"cells\":{}},\"11\":{\"cells\":{}},\"len\":101},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"shouru.city\",\"freeze\":\"A1\",\"dataRectWidth\":1881,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\"},{\"bgcolor\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\"},{\"bgcolor\":\"\"},{\"bgcolor\":\"#309fc6\"},{\"align\":\"center\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#dff2f9\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"¥b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#ffffff\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":10}},{\"font\":{\"size\":12}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":10.5}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":10.5},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":10.5}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":10.5},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":10.5}},{\"align\":\"left\",\"bgcolor\":\"#b2ddec\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"left\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":37},\"1\":{\"width\":79},\"2\":{\"width\":87},\"3\":{\"width\":79},\"4\":{\"width\":92},\"5\":{\"width\":90},\"6\":{\"width\":77},\"7\":{\"width\":83},\"8\":{\"width\":89},\"9\":{\"width\":79},\"10\":{\"width\":89},\"11\":{\"width\":84},\"12\":{\"width\":76},\"13\":{\"width\":67},\"14\":{\"width\":74},\"15\":{\"width\":69},\"16\":{\"width\":74},\"17\":{\"width\":68},\"18\":{\"width\":76},\"19\":{\"width\":79},\"20\":{\"width\":78},\"21\":{\"width\":74},\"22\":{\"width\":81},\"len\":49},\"merges\":[\"B2:D3\",\"E2:G3\",\"H2:M3\",\"N3:Q3\",\"R3:U3\",\"V3:X3\",\"N2:X2\",\"B1:O1\"]}', NULL, 'https://static.jeecg.com/designreport/images/xuexiao_1607069724407.png', 'admin', '2020-12-04 11:11:50', 'admin', '2021-04-01 02:46:23', 0, NULL, NULL, 1, 434, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1334757703079301120', '20201204151358', '车间零件完工一览表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1334757703079301120\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"车间零件完工一览表\",\"merge\":[0,12],\"style\":23}},\"height\":81},\"1\":{\"cells\":{\"0\":{\"style\":11},\"1\":{\"text\":\"车间\",\"style\":22},\"2\":{\"text\":\"成品名称\",\"style\":22},\"3\":{\"text\":\"半成品名称\",\"style\":22},\"4\":{\"text\":\"完工时间\",\"style\":22},\"5\":{\"text\":\"状态\",\"style\":22},\"6\":{\"text\":\"成品属性\",\"style\":22},\"7\":{\"text\":\"工单号\",\"style\":22},\"8\":{\"text\":\"工单数量\",\"style\":22},\"9\":{\"text\":\"计划数量\",\"style\":22},\"10\":{\"text\":\"完成数量\",\"style\":22},\"11\":{\"text\":\"UPH\",\"style\":22},\"12\":{\"text\":\"H/C\",\"style\":22},\"13\":{\"text\":\"计划时间\",\"style\":22},\"14\":{\"text\":\"良率\",\"style\":22},\"15\":{\"text\":\"备注\",\"style\":22},\"16\":{\"style\":11},\"17\":{\"style\":11},\"18\":{\"style\":11},\"19\":{\"style\":11},\"20\":{\"style\":11},\"21\":{\"style\":11},\"22\":{\"style\":11},\"23\":{\"style\":11},\"24\":{\"style\":11},\"25\":{\"style\":11},\"26\":{\"style\":11}},\"height\":55},\"2\":{\"cells\":{\"0\":{\"style\":13},\"1\":{\"text\":\"#{chejian.group(city)}\",\"style\":16,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{chejian.finish}\",\"style\":14},\"3\":{\"text\":\"#{chejian.semifinish}\",\"style\":14},\"4\":{\"text\":\"#{chejian.time}\",\"style\":14},\"5\":{\"text\":\"#{chejian.state}\",\"style\":14},\"6\":{\"text\":\"#{chejian.attribute}\",\"style\":14},\"7\":{\"text\":\"#{chejian.num}\",\"style\":14},\"8\":{\"text\":\"#{chejian.gnum}\",\"style\":14},\"9\":{\"text\":\"#{chejian.jnum}\",\"style\":14},\"10\":{\"text\":\"#{chejian.wnum}\",\"style\":14},\"11\":{\"text\":\"#{chejian.uph}\",\"style\":14},\"12\":{\"text\":\"#{chejian.hc}\",\"style\":14},\"13\":{\"text\":\"#{chejian.jtime}\",\"style\":14},\"14\":{\"text\":\"#{chejian.yield}\",\"style\":14},\"15\":{\"text\":\"#{chejian.beizhu}\",\"style\":14},\"16\":{\"style\":13},\"17\":{\"style\":13},\"18\":{\"style\":13},\"19\":{\"style\":13},\"20\":{\"style\":13},\"21\":{\"style\":13},\"22\":{\"style\":13},\"23\":{\"style\":13},\"24\":{\"style\":13},\"25\":{\"style\":13},\"26\":{\"style\":13}},\"isDrag\":true,\"height\":35},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"chejian.city\",\"freeze\":\"A1\",\"dataRectWidth\":1494,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#309fc6\"},{\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#b2ddec\"},{\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\",\"bgcolor\":\"#b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"bold\":true,\"size\":16},\"align\":\"center\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":45},\"1\":{\"width\":106},\"2\":{\"width\":121},\"3\":{\"width\":124},\"4\":{\"width\":87},\"5\":{\"width\":76},\"6\":{\"width\":82},\"7\":{\"width\":81},\"8\":{\"width\":69},\"9\":{\"width\":76},\"10\":{\"width\":81},\"15\":{\"width\":146},\"len\":50},\"merges\":[\"B1:N1\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201216185352_1608116050060.png', 'admin', '2020-12-04 15:13:58', 'admin', '2021-04-05 18:47:24', 0, NULL, NULL, 1, 523, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1338370016550195200', '20201214142804', '条形码报表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1338370016550195200\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"merge\":[1,3],\"text\":\"居民身份证申领登记表\",\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"merge\":[0,2],\"text\":\"\",\"rendered\":\"\",\"display\":\"text\"},\"-1\":{\"text\":\"${tm.tp}\"}},\"height\":27},\"1\":{\"cells\":{\"1\":{\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"style\":2,\"virtual\":\"ZiOFmILaRjdmVs6E\",\"rendered\":\"NUsGZXpylLVeKQ7J\",\"display\":\"barcode\",\"text\":\"${tm.tm}\",\"merge\":[0,2]}},\"height\":52},\"2\":{\"cells\":{\"1\":{\"text\":\"受理单位(盖章)珠海市公安局\",\"merge\":[0,3],\"style\":36},\"2\":{\"style\":36},\"3\":{\"style\":36},\"4\":{\"style\":36},\"5\":{\"style\":6},\"6\":{\"style\":6},\"7\":{\"style\":6},\"8\":{\"text\":\"\",\"rendered\":\"\"}},\"height\":34},\"3\":{\"cells\":{\"1\":{\"text\":\"姓名\",\"style\":24},\"2\":{\"text\":\"${tm.name}\",\"style\":7,\"rendered\":\"\"},\"3\":{\"text\":\"性别\",\"style\":16},\"4\":{\"text\":\"${tm.sex}\",\"style\":7,\"isDict\":1,\"dictCode\":\"sex1\",\"rendered\":\"\"},\"5\":{\"text\":\"民族\",\"style\":16},\"6\":{\"text\":\"${tm.nation}\",\"style\":7},\"7\":{\"text\":\"${tm.tp}\",\"style\":7,\"merge\":[2,0],\"rendered\":\"ftkUSZOje4A5gVO3\",\"display\":\"img\"},\"9\":{\"text\":\"\",\"rendered\":\"\"}},\"isDrag\":true,\"height\":47},\"4\":{\"cells\":{\"1\":{\"text\":\"出生日期\",\"style\":24},\"2\":{\"text\":\"${tm.birth}\",\"style\":32,\"merge\":[0,4]},\"3\":{\"style\":33},\"4\":{\"style\":33},\"5\":{\"style\":33},\"6\":{\"style\":33},\"8\":{\"text\":\"\",\"rendered\":\"\"}},\"isDrag\":true,\"height\":51},\"5\":{\"cells\":{\"1\":{\"text\":\"常住户口所在地住址\",\"style\":21},\"2\":{\"text\":\"${tm.zhuzhi}\",\"style\":7,\"merge\":[0,4]},\"8\":{\"text\":\"\",\"rendered\":\"\"}},\"isDrag\":true,\"height\":62},\"6\":{\"cells\":{\"1\":{\"text\":\"公民身份证\",\"style\":24},\"2\":{\"text\":\"${tm.card}\",\"style\":7,\"merge\":[0,5]}},\"isDrag\":true,\"height\":55},\"7\":{\"cells\":{\"1\":{\"text\":\"有限期限\",\"style\":24},\"2\":{\"text\":\"${tm.ydate}\",\"style\":34,\"merge\":[0,1]},\"3\":{\"style\":35},\"4\":{\"text\":\"签发机关\",\"style\":24},\"5\":{\"text\":\"${tm.qfjg}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":52},\"8\":{\"cells\":{\"1\":{\"text\":\"申领原因\",\"style\":24},\"2\":{\"text\":\"${tm.slyy}\",\"style\":7,\"merge\":[0,5]}},\"isDrag\":true,\"height\":55},\"9\":{\"cells\":{\"1\":{\"text\":\"受理时间\",\"style\":24},\"2\":{\"text\":\"${tm.sdate}\",\"style\":32,\"merge\":[0,1]},\"3\":{\"style\":33},\"4\":{\"text\":\"受理号\",\"style\":24},\"5\":{\"text\":\"${tm.shao}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":49},\"10\":{\"cells\":{\"1\":{\"text\":\"承办人\",\"style\":24},\"2\":{\"text\":\"${tm.cbr}\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"受理单位领导\",\"style\":24},\"5\":{\"text\":\"${tm.sld}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":42},\"11\":{\"cells\":{\"1\":{\"text\":\"申请(监护)人签名\",\"style\":21},\"2\":{\"text\":\"${tm.sr}\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"申请(监护)人联系电话\",\"style\":21},\"5\":{\"text\":\"${tm.jphone}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":59},\"12\":{\"cells\":{\"1\":{\"text\":\"领证人签名\",\"style\":24},\"2\":{\"text\":\"${tm.lzr}\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"领证时间\",\"style\":24},\"5\":{\"text\":\"${tm.ldate}\",\"style\":32,\"merge\":[0,2]},\"6\":{\"style\":33},\"7\":{\"style\":33}},\"isDrag\":true,\"height\":57},\"13\":{\"cells\":{\"1\":{\"text\":\"是否通过邮政特快专递方式领取二代\",\"merge\":[0,1],\"style\":24},\"2\":{\"text\":\" \",\"style\":25},\"3\":{\"text\":\"${tm.sk}\",\"style\":7,\"merge\":[0,4]}},\"isDrag\":true,\"height\":50},\"14\":{\"cells\":{\"1\":{\"text\":\"投递地址\",\"style\":24},\"2\":{\"text\":\"${tm.dizhi}\",\"style\":7,\"merge\":[0,2]},\"5\":{\"text\":\"收件人\",\"style\":24},\"6\":{\"style\":7,\"text\":\" \",\"merge\":[0,1]}},\"isDrag\":true,\"height\":53},\"15\":{\"cells\":{\"1\":{\"text\":\"邮政编码\",\"style\":24},\"2\":{\"text\":\"\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"备注\",\"style\":24},\"5\":{\"text\":\"\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":47},\"16\":{\"cells\":{\"1\":{\"merge\":[0,6],\"text\":\"公安部治安管理局治\",\"style\":31},\"2\":{\"style\":31},\"3\":{\"style\":31},\"4\":{\"style\":31},\"5\":{\"style\":31},\"6\":{\"style\":31},\"7\":{\"style\":31}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\",\"sex1\",\"sex1\"],\"freeze\":\"A1\",\"dataRectWidth\":704,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":16}},{\"font\":{\"size\":16},\"align\":\"center\"},{\"align\":\"center\"},{\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\",\"size\":9}},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#3f3f3f\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#0c0c0c\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#595959\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"right\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false},\"align\":\"center\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"center\"},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"center\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":8},\"align\":\"center\"},{\"font\":{\"size\":8},\"align\":\"right\"},{\"font\":{\"size\":10},\"align\":\"right\"},{\"font\":{\"size\":10},\"align\":\"right\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date\"},{\"format\":\"date\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#595959\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"valign\":\"bottom\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":16},\"1\":{\"width\":103},\"2\":{\"width\":156},\"3\":{\"width\":51},\"4\":{\"width\":96},\"5\":{\"width\":61},\"6\":{\"width\":106},\"7\":{\"width\":115},\"8\":{\"width\":135},\"len\":50},\"merges\":[\"B3:E3\",\"B14:C14\",\"C6:G6\",\"C5:G5\",\"C7:H7\",\"C8:D8\",\"F8:H8\",\"C9:H9\",\"D14:H14\",\"C10:D10\",\"F10:H10\",\"C11:D11\",\"F11:H11\",\"C13:D13\",\"C12:D12\",\"F12:H12\",\"F13:H13\",\"C15:E15\",\"G15:H15\",\"F16:H16\",\"C16:D16\",\"B17:H17\",\"H4:H6\",\"B1:E2\",\"F1:H1\",\"F2:H2\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1608118350039.png', 'admin', '2020-12-14 14:28:04', 'admin', '2021-02-03 13:58:47', 0, NULL, NULL, 1, 769, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1338744112815411200', '20201215151426', '简单条件查询报表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1338744112815411200\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"1\":{\"text\":\"职务\",\"style\":51},\"2\":{\"text\":\"雇员ID\",\"style\":51},\"3\":{\"text\":\"姓名\",\"style\":51},\"4\":{\"text\":\"性别\",\"style\":51},\"5\":{\"text\":\"雇佣日期\",\"style\":51},\"6\":{\"text\":\"家庭电话\",\"style\":51},\"7\":{\"text\":\"出生日期\",\"style\":51},\"8\":{\"text\":\"户口所在地\",\"style\":51},\"9\":{\"text\":\"联系地址\",\"style\":51},\"10\":{\"text\":\"紧急联系人\",\"style\":52}},\"height\":37},\"2\":{\"cells\":{\"0\":{\"style\":18},\"1\":{\"style\":21,\"text\":\"#{jdcx.group(update_by)}\",\"aggregate\":\"group\"},\"2\":{\"style\":21,\"text\":\"#{jdcx.id}\"},\"3\":{\"style\":21,\"text\":\"#{jdcx.name}\"},\"4\":{\"style\":21,\"text\":\"#{jdcx.sex}\"},\"5\":{\"style\":24,\"text\":\"#{jdcx.gtime}\"},\"6\":{\"style\":21,\"text\":\"#{jdcx.jphone}\"},\"7\":{\"style\":24,\"text\":\"#{jdcx.birth}\"},\"8\":{\"style\":21,\"text\":\"#{jdcx.hukou}\"},\"9\":{\"style\":21,\"text\":\"#{jdcx.laddress}\"},\"10\":{\"style\":56,\"text\":\"#{jdcx.jperson}\"},\"11\":{\"style\":18},\"12\":{\"style\":18},\"13\":{\"style\":18},\"14\":{\"style\":18},\"15\":{\"style\":18},\"16\":{\"style\":18},\"17\":{\"style\":18},\"18\":{\"style\":18},\"19\":{\"style\":18},\"20\":{\"style\":18},\"21\":{\"style\":18},\"22\":{\"style\":18},\"23\":{\"style\":18},\"24\":{\"style\":18},\"25\":{\"style\":18},\"26\":{\"style\":18},\"27\":{\"style\":18},\"28\":{\"style\":18},\"29\":{\"style\":18},\"30\":{\"style\":18},\"31\":{\"style\":18},\"32\":{\"style\":18},\"33\":{\"style\":18},\"34\":{\"style\":18},\"35\":{\"style\":18},\"36\":{\"style\":18},\"37\":{\"style\":18},\"38\":{\"style\":18},\"39\":{\"style\":18},\"40\":{\"style\":18},\"41\":{\"style\":18},\"42\":{\"style\":18},\"43\":{\"style\":18},\"44\":{\"style\":18},\"45\":{\"style\":18},\"46\":{\"style\":18},\"47\":{\"style\":18},\"48\":{\"style\":18}},\"height\":34},\"3\":{\"cells\":{\"0\":{\"style\":39},\"1\":{\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"style\":39},\"6\":{\"style\":39},\"7\":{\"style\":39},\"8\":{\"style\":39},\"9\":{\"style\":39},\"10\":{\"style\":39},\"11\":{\"style\":39},\"12\":{\"style\":39},\"13\":{\"style\":39},\"14\":{\"style\":39},\"15\":{\"style\":39},\"16\":{\"style\":39},\"17\":{\"style\":39},\"18\":{\"style\":39},\"19\":{\"style\":39},\"20\":{\"style\":39},\"21\":{\"style\":39},\"22\":{\"style\":39},\"23\":{\"style\":39},\"24\":{\"style\":39}}},\"4\":{\"cells\":{\"1\":{\"text\":\"备注:\",\"style\":62},\"2\":{\"style\":63,\"text\":\" \"},\"3\":{\"style\":63,\"text\":\" \"},\"4\":{\"style\":63,\"text\":\" \"},\"5\":{\"style\":63,\"text\":\" \"},\"6\":{\"style\":63,\"text\":\" \"},\"7\":{\"style\":64,\"text\":\" \"}}},\"5\":{\"cells\":{\"1\":{\"text\":\"1、支持模糊查询,需要输入 “*+字符串”或 “字符串+* ”或“*+字符串+*”,如:张* / *丽 / *亚*;\",\"style\":65,\"merge\":[0,6]}}},\"6\":{\"cells\":{\"1\":{\"text\":\"2、以上“出生日期”为时间类型;\",\"style\":65,\"merge\":[0,6]}}},\"7\":{\"cells\":{\"1\":{\"text\":\"3、以上“雇佣日期”为日期类型\",\"style\":65,\"merge\":[0,6]}}},\"8\":{\"cells\":{\"1\":{\"text\":\"4、以上“姓名”为字符串类型,支持精准查询和模糊查询;\",\"style\":67,\"merge\":[0,6]}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"jdcx.update_by\",\"freeze\":\"A1\",\"dataRectWidth\":1242,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"align\":\"center\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"format\":\"date\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"normal\"},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":9}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"format\":\"number\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":40},\"1\":{\"width\":88},\"2\":{\"width\":86},\"3\":{\"width\":97},\"4\":{\"width\":67},\"5\":{\"width\":103},\"6\":{\"width\":115},\"7\":{\"width\":90},\"8\":{\"width\":239},\"9\":{\"width\":217},\"len\":50},\"merges\":[\"B6:H6\",\"B7:H7\",\"B8:H8\",\"B9:H9\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201216112919_1608089379396.png', 'admin', '2020-12-15 15:14:27', 'admin', '2021-02-03 13:58:44', 0, NULL, NULL, 1, 1075, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1338769064067076098', '202012151514266124', '多选条件查询报表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1338769064067076098\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":49},\"1\":{\"style\":49},\"2\":{\"style\":49},\"3\":{\"style\":49},\"4\":{\"style\":49},\"5\":{\"style\":49},\"6\":{\"style\":49},\"7\":{\"style\":49},\"8\":{\"style\":49},\"9\":{\"style\":49},\"10\":{\"style\":49},\"11\":{\"style\":49},\"12\":{\"style\":49},\"13\":{\"style\":49},\"14\":{\"style\":49},\"15\":{\"style\":49},\"16\":{\"style\":49},\"17\":{\"style\":49},\"18\":{\"style\":49},\"19\":{\"style\":49},\"20\":{\"style\":49},\"21\":{\"style\":49},\"22\":{\"style\":49},\"23\":{\"style\":49},\"24\":{\"style\":49},\"25\":{\"style\":49}}},\"1\":{\"cells\":{\"0\":{\"style\":50},\"1\":{\"text\":\"职务\",\"style\":51},\"2\":{\"text\":\"雇员ID\",\"style\":51},\"3\":{\"text\":\"姓名\",\"style\":51},\"4\":{\"style\":51,\"text\":\"性别\"},\"5\":{\"text\":\"雇佣日期\",\"style\":51},\"6\":{\"text\":\"家庭电话\",\"style\":51},\"7\":{\"text\":\"出生日期\",\"style\":51},\"8\":{\"text\":\"户口所在地\",\"style\":51},\"9\":{\"text\":\"联系地址\",\"style\":51},\"10\":{\"text\":\"紧急联系人\",\"style\":51},\"11\":{\"style\":50},\"12\":{\"style\":50},\"13\":{\"style\":50},\"14\":{\"style\":50},\"15\":{\"style\":50},\"16\":{\"style\":50},\"17\":{\"style\":50},\"18\":{\"style\":50},\"19\":{\"style\":50},\"20\":{\"style\":50},\"21\":{\"style\":50},\"22\":{\"style\":50},\"23\":{\"style\":50},\"24\":{\"style\":50},\"25\":{\"style\":50}},\"height\":46},\"2\":{\"cells\":{\"0\":{\"style\":52},\"1\":{\"text\":\"#{pop.group(update_by)}\",\"style\":53,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{pop.group(id)}\",\"style\":54,\"aggregate\":\"group\"},\"3\":{\"text\":\"#{pop.group(name)}\",\"style\":54,\"aggregate\":\"group\"},\"4\":{\"text\":\"#{pop.sex}\",\"style\":55},\"5\":{\"text\":\"#{pop.gtime}\",\"style\":56},\"6\":{\"text\":\"#{pop.jphone}\",\"style\":57},\"7\":{\"text\":\"#{pop.birth}\",\"style\":56},\"8\":{\"text\":\"#{pop.hukou}\",\"style\":58},\"9\":{\"text\":\"#{pop.laddress}\",\"style\":57},\"10\":{\"text\":\"#{pop.jperson}\",\"style\":57},\"11\":{\"style\":52},\"12\":{\"style\":52},\"13\":{\"style\":52},\"14\":{\"style\":52},\"15\":{\"style\":52},\"16\":{\"style\":52},\"17\":{\"style\":52},\"18\":{\"style\":52},\"19\":{\"style\":52},\"20\":{\"style\":52},\"21\":{\"style\":52},\"22\":{\"style\":52},\"23\":{\"style\":52},\"24\":{\"style\":52},\"25\":{\"style\":52}},\"isDrag\":true,\"height\":35},\"5\":{\"cells\":{\"2\":{\"text\":\"\"}},\"isDrag\":true},\"len\":99},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"pop.update_by\",\"freeze\":\"A1\",\"dataRectWidth\":1494,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"align\":\"center\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"format\":\"date\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"normal\"},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date2\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":48},\"1\":{\"width\":107},\"3\":{\"width\":91},\"4\":{\"width\":142},\"5\":{\"width\":130},\"6\":{\"width\":131},\"7\":{\"width\":235},\"8\":{\"width\":230},\"9\":{\"width\":148},\"10\":{\"width\":132},\"len\":50},\"merges\":[]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201216185224_1608116008543.png', 'admin', '2020-12-15 16:53:13', 'admin', '2021-02-03 13:58:41', 0, NULL, NULL, 1, 907, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1347373863746539520', '20210108104603', '实习证明', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":16,\"sci\":5,\"eri\":16,\"eci\":5,\"width\":147,\"height\":25},\"excel_config_id\":\"1347373863746539520\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\"},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\"},\"1\":{\"text\":\"\"}}},\"1\":{\"cells\":{\"0\":{\"text\":\"\"}}},\"3\":{\"cells\":{\"2\":{\"text\":\"\",\"rendered\":\"\"}}},\"5\":{\"cells\":{},\"height\":29},\"6\":{\"cells\":{\"2\":{\"text\":\"\",\"style\":2}},\"height\":34},\"7\":{\"cells\":{\"2\":{\"merge\":[0,4],\"text\":\"实习证明\",\"style\":2}},\"height\":41},\"8\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":3},\"2\":{\"text\":\"\"}}},\"9\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":3},\"2\":{\"text\":\"\",\"style\":3},\"3\":{\"text\":\"\"}},\"isDrag\":true,\"height\":33},\"10\":{\"cells\":{\"2\":{\"text\":\"${tt.name}\",\"style\":11},\"3\":{\"text\":\"同学在我公司与 2020年4月1日 至 2020年5月1日 实习。\",\"style\":19,\"merge\":[0,3],\"height\":34}},\"height\":34},\"11\":{\"cells\":{},\"height\":28},\"12\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":6},\"2\":{\"style\":13,\"text\":\"${tt.pingjia}\",\"merge\":[3,4],\"height\":129}},\"height\":36},\"13\":{\"cells\":{},\"height\":29},\"14\":{\"cells\":{},\"height\":33},\"15\":{\"cells\":{},\"height\":31},\"16\":{\"cells\":{}},\"17\":{\"cells\":{\"1\":{\"text\":\"\"},\"2\":{\"text\":\"特此证明!\",\"style\":12}}},\"20\":{\"cells\":{\"2\":{\"text\":\"\"},\"3\":{\"text\":\"\",\"style\":3},\"4\":{\"text\":\"\"}}},\"21\":{\"cells\":{\"4\":{\"text\":\"\"}}},\"22\":{\"cells\":{\"3\":{\"text\":\"\",\"style\":3},\"4\":{\"text\":\"证明人:\",\"style\":11},\"5\":{\"text\":\"${tt.lingdao}\",\"style\":12}}},\"23\":{\"cells\":{\"4\":{\"text\":\"\"},\"5\":{\"text\":\"${tt.shijian}\",\"style\":15}}},\"len\":100},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":576,\"displayConfig\":{},\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/11_1611283832037.png\",\"repeat\":\"no-repeat\",\"width\":\"\",\"height\":\"\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"right\"},{\"align\":\"left\"},{\"align\":\"left\",\"valign\":\"top\"},{\"align\":\"left\",\"valign\":\"top\",\"textwrap\":true},{\"font\":{\"size\":16}},{\"align\":\"left\",\"valign\":\"top\",\"textwrap\":false},{\"textwrap\":false},{\"textwrap\":true},{\"align\":\"right\",\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"align\":\"left\",\"valign\":\"top\",\"textwrap\":true,\"font\":{\"size\":12}},{\"textwrap\":true,\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12}},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14}},{\"font\":{\"size\":10}},{\"textwrap\":false,\"font\":{\"size\":12}}],\"validations\":[],\"cols\":{\"0\":{\"width\":69},\"1\":{\"width\":41},\"4\":{\"width\":119},\"5\":{\"width\":147},\"6\":{\"width\":31},\"len\":50},\"merges\":[\"C8:G8\",\"D11:G11\",\"C13:G16\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1610074948259.png', 'admin', '2021-01-08 10:46:04', 'admin', '2021-04-05 18:47:08', 0, NULL, NULL, 1, 126, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('1347454742040809472', '20210108161240', '实例:年度各月份佣金收入', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1347454742040809472\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"1\":{\"text\":\" \",\"virtual\":\"pZTpI3BKFw0lh6D7\"},\"2\":{\"text\":\"年度各月份佣金收入\",\"style\":23,\"merge\":[0,3],\"virtual\":\"pZTpI3BKFw0lh6D7\"},\"3\":{\"style\":24},\"4\":{\"style\":24},\"5\":{\"style\":24},\"6\":{\"text\":\" \"}},\"height\":37},\"2\":{\"cells\":{\"1\":{\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"text\":\"查询年度:2019\"},\"4\":{\"text\":\"查询机构:总公司\"},\"6\":{\"text\":\"单位:元\"}}},\"6\":{\"cells\":{\"1\":{\"text\":\"月份\",\"style\":12},\"2\":{\"text\":\"佣金/主营业收入\",\"style\":12},\"3\":{\"text\":\"累计\",\"style\":12},\"4\":{\"text\":\"历史最低水平\",\"style\":12},\"5\":{\"text\":\"历史平均水平\",\"style\":12},\"6\":{\"text\":\"历史最高水平\",\"style\":12}}},\"7\":{\"cells\":{\"1\":{\"text\":\"#{tmp_report_data_1.monty}\",\"style\":0},\"2\":{\"text\":\"#{tmp_report_data_1.main_income}\",\"style\":0},\"3\":{\"text\":\"#{tmp_report_data_1.total}\",\"style\":18},\"4\":{\"text\":\"#{tmp_report_data_1.his_lowest}\",\"style\":0},\"5\":{\"text\":\"#{tmp_report_data_1.his_average}\",\"style\":0},\"6\":{\"text\":\"#{tmp_report_data_1.his_highest}\",\"style\":0}},\"isDrag\":true},\"9\":{\"cells\":{\"1\":{\"merge\":[1,1]}}},\"len\":99},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":678,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true,\"size\":15},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":15},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#33CCCC\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#33CCCC\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#33CCCC\",\"align\":\"left\"},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":24}},{\"font\":{\"bold\":true,\"size\":22}},{\"font\":{\"bold\":true,\"size\":22},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"usd\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"rmb\"},{\"font\":{\"bold\":true,\"name\":\"黑体\"}},{\"font\":{\"bold\":true,\"name\":\"黑体\",\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"宋体\",\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"楷体\",\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"楷体\",\"size\":22},\"align\":\"center\"},{\"align\":\"center\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":29},\"1\":{\"width\":111},\"2\":{\"width\":116},\"4\":{\"width\":122},\"len\":50},\"merges\":[\"B10:C11\",\"C2:F2\"],\"imgList\":[{\"row\":1,\"col\":1,\"width\":\"148\",\"height\":\"56\",\"src\":\"https://static.jeecg.com/designreport/images/kunlunlog_1610591367645.png\",\"layer_id\":\"pZTpI3BKFw0lh6D7\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,1],[1,2]]}]}', NULL, NULL, 'admin', '2021-01-08 16:12:40', 'admin', '2025-05-27 09:47:15', 1, NULL, NULL, 0, 55, NULL, NULL, NULL, '2', 0, NULL); -INSERT INTO `jimu_report` VALUES ('1cd9d574d0c42f3915046dc61d9f33bd', '202012171553133795', '企业实时报表副本3795', NULL, NULL, '984302961118724096', '{\"chartList\":[{\"row\":6,\"col\":1,\"width\":\"302\",\"height\":\"337\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"江苏\\\",\\\"山东\\\",\\\"安徽\\\",\\\"江西\\\",\\\"河北\\\",\\\"吉林\\\",\\\"黑龙江\\\",\\\"重庆\\\",\\\"广东\\\",\\\"上海\\\",\\\"哈尔滨\\\",\\\"福建\\\",\\\"四川\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":20,\\\"left\\\":45,\\\"bottom\\\":16,\\\"right\\\":46},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[100,800,1200,1700,2500,4000,5800,6500,7000,7500,8000,8800,9500],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":5,\\\"color\\\":\\\"rgba(67,184,251,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#689AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"销售额省份排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339491107951640577\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xiaoshoue\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"pie.doughnut\"},\"layer_id\":\"IFj1lg5S5aNG1wPx\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,1],[6,2],[6,3],[6,4]]},{\"row\":6,\"col\":10,\"width\":\"247\",\"height\":\"124\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\",\\\"其他\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"销售额\\\",\\\"value\\\":6000000,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(43,193,254,1)\\\"}},{\\\"name\\\":\\\"其他\\\",\\\"value\\\":3400879,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(42,45,76,0.59)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"45%\\\",\\\"55%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"销售进度\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339498906765000705\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xsjd\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"pie.doughnut\",\"chartId\":\"pie.doughnut\"},\"layer_id\":\"Yb2TIGEAxnvN9ITx\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,10],[6,11]]},{\"row\":6,\"col\":12,\"width\":\"244\",\"height\":\"128\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"北京\\\",\\\"青岛\\\",\\\"合肥\\\",\\\"深圳\\\",\\\"石家庄\\\",\\\"重庆\\\",\\\"保定\\\",\\\"邯郸\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":10,\\\"left\\\":49,\\\"bottom\\\":16,\\\"right\\\":45},\\\"series\\\":[{\\\"barWidth\\\":9,\\\"data\\\":[80,500,800,1000,1200,1500,1600,2000],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"rgba(146,119,252,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#689AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"销售额城市排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339495346077728770\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengshi\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"bar.multi.horizontal\"},\"layer_id\":\"qQHpevWlqElpRQUl\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,12],[6,13],[6,14]]},{\"row\":6,\"col\":15,\"width\":\"230\",\"height\":\"127\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"北京\\\",\\\"青岛\\\",\\\"合肥\\\",\\\"深圳\\\",\\\"石家庄\\\",\\\"重庆\\\",\\\"保定\\\",\\\"邯郸\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":10,\\\"left\\\":49,\\\"bottom\\\":20,\\\"right\\\":48},\\\"series\\\":[{\\\"barWidth\\\":9,\\\"data\\\":[80,500,800,1000,1200,1500,1600,2000],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"rgba(146,119,252,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#689AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339495346077728770\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengshi\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"bar.multi.horizontal\"},\"layer_id\":\"phTmhkjHLebYlOEQ\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,15],[6,16],[6,17],[6,18]]},{\"row\":7,\"col\":5,\"width\":\"430\",\"height\":\"293\",\"config\":\"{\\\"geo\\\":{\\\"map\\\":\\\"china\\\",\\\"zoom\\\":0.5,\\\"label\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"8\\\",\\\"show\\\":true},\\\"itemStyle\\\":{\\\"borderWidth\\\":0.5,\\\"areaColor\\\":\\\"#8284FB\\\",\\\"borderColor\\\":\\\"#000\\\"},\\\"emphasis\\\":{\\\"label\\\":{\\\"color\\\":\\\"#fff\\\"},\\\"itemStyle\\\":{\\\"areaColor\\\":\\\"#4195EF\\\"}},\\\"regions\\\":[],\\\"layoutSize\\\":600,\\\"roam\\\":true,\\\"layoutCenter\\\":[\\\"50%\\\",\\\"50%\\\"]},\\\"series\\\":[{\\\"encode\\\":{\\\"value\\\":[2]},\\\"data\\\":[{\\\"name\\\":\\\"河北\\\",\\\"value\\\":[114.502461,38.045474,279]},{\\\"name\\\":\\\"海南\\\",\\\"value\\\":[110.33119,20.031971,273]},{\\\"name\\\":\\\"山东\\\",\\\"value\\\":[117.000923,36.675807,229]},{\\\"name\\\":\\\"甘肃\\\",\\\"value\\\":[103.823557,36.058039,194]},{\\\"name\\\":\\\"宁夏\\\",\\\"value\\\":[106.278179,38.46637,193]},{\\\"name\\\":\\\"浙江\\\",\\\"value\\\":[120.153576,30.287459,177]},{\\\"name\\\":\\\"湖南\\\",\\\"value\\\":[112.982279,28.19409,119]},{\\\"name\\\":\\\"湖北\\\",\\\"value\\\":[114.298572,30.584355,79]},{\\\"name\\\":\\\"河南\\\",\\\"value\\\":[113.665412,34.757975,67]},{\\\"name\\\":\\\"北京\\\",\\\"value\\\":[116.405285,39.904989,58]},{\\\"name\\\":\\\"天津\\\",\\\"value\\\":[117.190182,39.125596,59]},{\\\"name\\\":\\\"上海\\\",\\\"value\\\":[121.472644,31.231706,63]}],\\\"name\\\":\\\"\\\",\\\"emphasis\\\":{\\\"label\\\":{\\\"show\\\":true}},\\\"itemStyle\\\":{\\\"color\\\":\\\"#FF1205\\\"},\\\"coordinateSystem\\\":\\\"geo\\\",\\\"label\\\":{\\\"formatter\\\":\\\"{b}\\\",\\\"show\\\":false,\\\"position\\\":\\\"right\\\"},\\\"type\\\":\\\"scatter\\\",\\\"symbolSize\\\":5}],\\\"chartType\\\":\\\"map\\\",\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"主要城市空气质量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"chartType\":\"map.scatter\"},\"layer_id\":\"YTri6J59av4gj1CY\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,5],[7,6],[7,7],[7,8]]},{\"row\":14,\"col\":12,\"width\":\"244\",\"height\":\"138\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\",\\\"其他\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"销售额\\\",\\\"value\\\":6000000,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(43,193,254,1)\\\"}},{\\\"name\\\":\\\"其他\\\",\\\"value\\\":3400879,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(42,45,76,0.59)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"50%\\\",\\\"60%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339498906765000705\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xsjd\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"pie.doughnut\",\"chartId\":\"pie.doughnut\"},\"layer_id\":\"ARuuHLfjqV9l1tQD\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[14,12],[14,13],[14,14]]},{\"row\":14,\"col\":15,\"width\":\"230\",\"height\":\"139\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\",\\\"其他\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"销售额\\\",\\\"value\\\":6000000,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(43,193,254,1)\\\"}},{\\\"name\\\":\\\"其他\\\",\\\"value\\\":3400879,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(42,45,76,0.59)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"45%\\\",\\\"55%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339498906765000705\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xsjd\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"pie.doughnut\",\"chartId\":\"\"},\"layer_id\":\"bcrMtWqTd2AJIjLd\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[14,15],[14,16],[14,17],[14,18]]},{\"row\":14,\"col\":10,\"width\":\"244\",\"height\":\"138\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"北京\\\",\\\"青岛\\\",\\\"合肥\\\",\\\"深圳\\\",\\\"石家庄\\\",\\\"重庆\\\",\\\"保定\\\",\\\"邯郸\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":10,\\\"left\\\":49,\\\"bottom\\\":15,\\\"right\\\":45},\\\"series\\\":[{\\\"barWidth\\\":9,\\\"data\\\":[80,500,800,1000,1200,1500,1600,2000],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"rgba(146,119,252,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#698AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339495346077728770\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengshi\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"bar.multi.horizontal\"},\"layer_id\":\"Y1kgYOWBHIVQdSN5\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[14,10],[14,11]]},{\"row\":20,\"col\":1,\"width\":\"743\",\"height\":\"150\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FEFEFE\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"2020-01-09\\\",\\\"2020-01-12\\\",\\\"2020-01-14\\\",\\\"2020-01-16\\\",\\\"2020-01-18\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":53,\\\"left\\\":22,\\\"bottom\\\":37,\\\"right\\\":20},\\\"series\\\":[{\\\"areaStyle\\\":{\\\"color\\\":\\\"#43B8FB\\\",\\\"opacity\\\":0.7},\\\"data\\\":[2,6,7,5,6],\\\"showSymbol\\\":true,\\\"lineStyle\\\":{\\\"width\\\":2},\\\"symbolSize\\\":5,\\\"isArea\\\":true,\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#43B8FB\\\"},\\\"step\\\":false,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"line\\\",\\\"smooth\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":14,\\\"text\\\":\\\"销售额增速\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339538388453195777\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"zhexian\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"line.area\",\"chartId\":\"\"},\"layer_id\":\"uChrZaHYoV04MQpT\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[20,1],[20,2],[20,3],[20,4],[20,5],[20,6],[20,7],[20,8],[20,9]]}],\"area\":{\"sri\":4,\"sci\":5,\"eri\":4,\"eci\":5,\"width\":105,\"height\":38},\"printElWidth\":1800,\"excel_config_id\":\"1339478701846433792\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{}},\"2\":{\"cells\":{\"1\":{\"merge\":[0,17],\"text\":\"企业实时销售数据\",\"style\":3}}},\"3\":{\"cells\":{},\"height\":35},\"4\":{\"cells\":{\"1\":{\"text\":\" 销售额省份排名\",\"style\":32,\"merge\":[0,1],\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"2\":{\"style\":32,\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"5\":{\"text\":\" 销售总额\",\"style\":69},\"10\":{\"text\":\" 销售进度\",\"style\":43},\"11\":{\"text\":\"\",\"style\":43},\"13\":{\"text\":\" 销售额城市排名\",\"style\":32,\"merge\":[0,1]},\"14\":{\"style\":32},\"15\":{\"text\":\" 个人业绩排名\",\"style\":32,\"merge\":[0,1]},\"16\":{\"style\":32},\"17\":{\"text\":\"\",\"style\":32,\"merge\":[0,1]},\"18\":{\"style\":32}},\"height\":38},\"5\":{\"cells\":{\"1\":{\"text\":\" Sales ranking points\",\"virtual\":\"IFj1lg5S5aNG1wPx\",\"style\":62,\"merge\":[0,1]},\"2\":{\"style\":31},\"5\":{\"text\":\"12436025\",\"style\":52,\"merge\":[1,0]},\"6\":{\"merge\":[1,0],\"text\":\"元\",\"style\":22},\"10\":{\"text\":\" Sales progress\",\"style\":33},\"11\":{\"text\":\"\",\"virtual\":\"Yb2TIGEAxnvN9ITx\",\"style\":33},\"13\":{\"text\":\" Sales ranking\",\"virtual\":\"qQHpevWlqElpRQUl\",\"style\":31},\"14\":{\"style\":32},\"15\":{\"text\":\" Personal ranking\",\"style\":62,\"merge\":[0,1]},\"16\":{\"style\":62},\"17\":{\"text\":\"\",\"style\":62,\"merge\":[0,1]},\"18\":{\"style\":62}},\"height\":24},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"merge\":[0,1],\"style\":31,\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"2\":{\"style\":31,\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"3\":{\"text\":\" \",\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"4\":{\"text\":\" \",\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"5\":{\"style\":53},\"6\":{\"style\":22},\"10\":{\"text\":\" \",\"virtual\":\"Yb2TIGEAxnvN9ITx\"},\"11\":{\"text\":\"\",\"style\":33,\"virtual\":\"Yb2TIGEAxnvN9ITx\"},\"12\":{\"text\":\" \",\"virtual\":\"qQHpevWlqElpRQUl\"},\"13\":{\"text\":\"\",\"virtual\":\"qQHpevWlqElpRQUl\",\"style\":31},\"14\":{\"text\":\" \",\"virtual\":\"qQHpevWlqElpRQUl\"},\"15\":{\"text\":\" \",\"virtual\":\"phTmhkjHLebYlOEQ\"},\"16\":{\"text\":\" \",\"virtual\":\"phTmhkjHLebYlOEQ\"},\"17\":{\"text\":\" \",\"style\":31,\"virtual\":\"phTmhkjHLebYlOEQ\"},\"18\":{\"text\":\" \",\"virtual\":\"phTmhkjHLebYlOEQ\"}}},\"7\":{\"cells\":{\"5\":{\"style\":53,\"virtual\":\"YTri6J59av4gj1CY\"},\"6\":{\"style\":22,\"virtual\":\"YTri6J59av4gj1CY\"},\"7\":{\"text\":\" \",\"virtual\":\"YTri6J59av4gj1CY\"},\"8\":{\"text\":\" \",\"virtual\":\"YTri6J59av4gj1CY\"}}},\"8\":{\"cells\":{\"5\":{\"style\":18,\"text\":\"\",\"virtual\":\"YTri6J59av4gj1CY\"}}},\"9\":{\"cells\":{\"5\":{\"style\":21,\"text\":\"\"}}},\"10\":{\"cells\":{\"5\":{\"text\":\"\",\"style\":17}}},\"12\":{\"cells\":{\"10\":{\"text\":\" 品类销售排名\",\"style\":43},\"11\":{\"text\":\"\",\"style\":43},\"13\":{\"text\":\" 品类销售额占比\",\"style\":43,\"merge\":[0,1]},\"14\":{\"style\":54},\"15\":{\"text\":\" 一季度销售季度\",\"style\":43,\"merge\":[0,1]},\"16\":{\"style\":54},\"17\":{\"text\":\"\",\"style\":43,\"merge\":[0,1]},\"18\":{\"style\":54}}},\"13\":{\"cells\":{\"10\":{\"text\":\" Category Sales ranking\",\"style\":31},\"11\":{\"text\":\"\",\"style\":31},\"13\":{\"text\":\" Type of Sales \",\"style\":31},\"15\":{\"text\":\" Quarterly sales progree\",\"style\":58,\"merge\":[0,1]},\"16\":{\"style\":58},\"17\":{\"text\":\"\",\"style\":58,\"merge\":[0,1]},\"18\":{\"style\":58}}},\"14\":{\"cells\":{\"10\":{\"text\":\" \",\"virtual\":\"Y1kgYOWBHIVQdSN5\"},\"11\":{\"text\":\" \",\"virtual\":\"Y1kgYOWBHIVQdSN5\"},\"12\":{\"text\":\" \",\"virtual\":\"ARuuHLfjqV9l1tQD\"},\"13\":{\"text\":\" \",\"virtual\":\"ARuuHLfjqV9l1tQD\"},\"14\":{\"text\":\" \",\"virtual\":\"ARuuHLfjqV9l1tQD\"},\"15\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"},\"16\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"},\"17\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"},\"18\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"}}},\"15\":{\"cells\":{},\"height\":15},\"16\":{\"cells\":{\"11\":{\"text\":\"\",\"style\":43},\"13\":{\"text\":\"\",\"style\":43,\"merge\":[0,1]},\"14\":{\"style\":54},\"17\":{\"text\":\"\",\"style\":43,\"merge\":[0,1]},\"18\":{\"style\":54}}},\"17\":{\"cells\":{\"11\":{\"text\":\"\",\"style\":31},\"13\":{\"text\":\"\",\"style\":31},\"17\":{\"text\":\"\",\"merge\":[0,1],\"style\":58},\"18\":{\"style\":58}}},\"18\":{\"cells\":{}},\"20\":{\"cells\":{\"1\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"2\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"3\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"4\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"5\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"6\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"7\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"8\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"9\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"}},\"height\":39},\"22\":{\"cells\":{\"10\":{\"text\":\"企业经营指标\",\"style\":74},\"11\":{\"text\":\"1201043元\",\"style\":73},\"13\":{\"text\":\"企业经营指标\",\"style\":74},\"14\":{\"text\":\"1201043元\",\"style\":73},\"16\":{\"text\":\"企业经营指标\",\"style\":74},\"17\":{\"text\":\"1201043元\",\"style\":73}}},\"23\":{\"cells\":{\"10\":{\"text\":\"企业经营指标1\",\"style\":74},\"11\":{\"text\":\"1201043元\",\"style\":73},\"13\":{\"text\":\"企业经营指标1\",\"style\":74},\"14\":{\"text\":\"1201043元\",\"style\":73},\"16\":{\"text\":\"企业经营指标1\",\"style\":74},\"17\":{\"text\":\"1201043元\",\"style\":73}}},\"26\":{\"cells\":{},\"height\":33},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1584,\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/bg55_1608205385382.png\",\"repeat\":\"no-repeat\",\"width\":\"1525\",\"height\":\"700\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":16}},{\"color\":\"#ffffff\",\"font\":{\"size\":16},\"align\":\"center\"},{\"color\":\"#ffffff\",\"font\":{\"size\":18},\"align\":\"center\"},{\"font\":{\"size\":18}},{\"color\":\"#67b1ee\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":14}},{\"color\":\"#67b1ee\",\"font\":{\"size\":12}},{\"font\":{\"size\":14}},{\"font\":{\"size\":18},\"bgcolor\":\"#ffffff\"},{\"font\":{\"size\":18},\"bgcolor\":\"#ffffff\",\"color\":\"#ffffff\"},{\"font\":{\"size\":16},\"bgcolor\":\"#ffffff\",\"color\":\"#ffffff\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"right\"},{\"font\":{\"size\":16},\"bgcolor\":\"#ffffff\",\"color\":\"#ffffff\",\"align\":\"right\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":16}},{\"font\":{\"size\":16},\"color\":\"#fe0000\"},{\"font\":{\"size\":16},\"color\":\"#fe0000\",\"align\":\"center\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"left\"},{\"align\":\"left\"},{\"align\":\"left\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":12},\"color\":\"#ffffff\"},{\"font\":{\"size\":12,\"bold\":true},\"color\":\"#ffffff\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#ffffff\"},{\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"color\":\"#67b1ee\"},{\"font\":{\"size\":9},\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"font\":{\"size\":8},\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"font\":{\"size\":8},\"color\":\"#67b1ee\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"left\",\"valign\":\"bottom\"},{\"align\":\"left\",\"valign\":\"bottom\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"center\",\"valign\":\"bottom\"},{\"align\":\"center\",\"valign\":\"bottom\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"left\",\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"size\":11}},{\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\",\"valign\":\"middle\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"color\":\"#ffffff\",\"font\":{\"size\":12},\"align\":\"left\",\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\",\"color\":\"#ffffff\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":16}},{\"color\":\"#ffff01\",\"font\":{\"size\":16}},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"left\",\"valign\":\"middle\"},{\"color\":\"#ffffff\",\"font\":{\"size\":14},\"align\":\"left\",\"valign\":\"middle\"},{\"color\":\"#ffff01\",\"font\":{\"size\":14},\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"size\":14},\"color\":\"#ffff01\"},{\"color\":\"#ffff01\",\"font\":{\"size\":14},\"align\":\"right\",\"valign\":\"middle\"},{\"font\":{\"size\":14},\"color\":\"#ffff01\",\"align\":\"right\"},{\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"font\":{\"size\":8},\"bgcolor\":\"#67b1ee\"},{\"font\":{\"size\":8},\"bgcolor\":\"#ffffff\"},{\"font\":{\"size\":8},\"bgcolor\":\"#ffffff\",\"color\":\"#67b1ee\"},{\"font\":{\"size\":8},\"bgcolor\":\"#ffffff\",\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"font\":{\"size\":8,\"bold\":false},\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"font\":{\"size\":8,\"bold\":false},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"font\":{\"size\":8},\"valign\":\"top\"},{\"font\":{\"size\":8,\"bold\":false},\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"center\",\"valign\":\"middle\"},{\"align\":\"center\"},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"right\",\"valign\":\"middle\"},{\"align\":\"right\"},{\"color\":\"#ffffff\",\"font\":{\"size\":14},\"align\":\"right\",\"valign\":\"middle\"},{\"align\":\"right\",\"font\":{\"size\":14}},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"left\",\"valign\":\"bottom\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":11}},{\"color\":\"#67b1ee\",\"font\":{\"size\":11},\"align\":\"center\"},{\"font\":{\"size\":12}},{\"font\":{\"size\":12},\"color\":\"#ffff01\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":11},\"align\":\"right\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":10},\"3\":{\"width\":102},\"4\":{\"width\":9},\"5\":{\"width\":105},\"6\":{\"width\":102},\"8\":{\"width\":124},\"9\":{\"width\":14},\"10\":{\"width\":136},\"11\":{\"width\":114},\"12\":{\"width\":15},\"13\":{\"width\":113},\"14\":{\"width\":129},\"15\":{\"width\":11},\"len\":27},\"merges\":[\"B7:C7\",\"N17:O17\",\"R17:S17\",\"R18:S18\",\"B3:S3\",\"R6:S6\",\"B5:C5\",\"B6:C6\",\"F6:F7\",\"G6:G7\",\"N5:O5\",\"R5:S5\",\"N13:O13\",\"R13:S13\",\"R14:S14\",\"P5:Q5\",\"P6:Q6\",\"P14:Q14\",\"P13:Q13\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201218200943_1608293404719.png', 'admin', '2021-01-18 13:21:10', 'admin', '2021-02-03 14:01:28', 0, NULL, NULL, 0, 666, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('519c1c6f4d1f584ae8fa5b43b45acdc7', '56623333333', '销售单', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"519c1c6f4d1f584ae8fa5b43b45acdc7\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"销售单\",\"style\":40,\"merge\":[0,6]}},\"height\":99},\"1\":{\"cells\":{\"1\":{\"text\":\"商品编码\",\"style\":62},\"2\":{\"text\":\"商品名称\",\"style\":62},\"3\":{\"text\":\"销售时间\",\"style\":62},\"4\":{\"text\":\"销售数量\",\"style\":62},\"5\":{\"text\":\"定价\",\"style\":62},\"6\":{\"text\":\"优惠价\",\"style\":62},\"7\":{\"text\":\"付款金额\",\"style\":62}},\"height\":39},\"2\":{\"cells\":{\"1\":{\"text\":\"#{xiaoshou.bianma}\",\"style\":61},\"2\":{\"text\":\"#{xiaoshou.cname}\",\"style\":61},\"3\":{\"text\":\"#{xiaoshou.ctime}\",\"style\":61},\"4\":{\"text\":\"#{xiaoshou.cnum}\",\"style\":61},\"5\":{\"text\":\"#{xiaoshou.cprice}\",\"style\":61},\"6\":{\"text\":\"#{xiaoshou.yprice}\",\"style\":61},\"7\":{\"text\":\"#{xiaoshou.ctotal}\",\"style\":61}},\"isDrag\":true,\"height\":35},\"3\":{\"cells\":{\"1\":{\"style\":44,\"text\":\"\"},\"5\":{\"style\":44,\"text\":\"\"},\"6\":{\"text\":\"\",\"style\":45},\"7\":{\"style\":46,\"text\":\"=SUM(H3)\"}},\"isDrag\":true,\"height\":73},\"5\":{\"cells\":{},\"isDrag\":true},\"6\":{\"cells\":{},\"isDrag\":true},\"7\":{\"cells\":{\"2\":{\"text\":\"\"}},\"isDrag\":true},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":703,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"size\":18}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#fed964\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#fdc101\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#fdc101\"},{\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#ffe59a\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#ffc001\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#fed964\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#ed7d31\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":8},\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":18}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"left\"},{\"align\":\"right\",\"font\":{\"size\":16}},{\"align\":\"left\",\"font\":{\"size\":16}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"size\":14,\"name\":\"宋体\"}},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#2e75b5\"],\"top\":[\"thin\",\"#2e75b5\"],\"left\":[\"thin\",\"#2e75b5\"],\"right\":[\"thin\",\"#2e75b5\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffff01\"],\"top\":[\"thin\",\"#ffff01\"],\"left\":[\"thin\",\"#ffff01\"],\"right\":[\"thin\",\"#ffff01\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#2e75b5\"],\"top\":[\"thin\",\"#2e75b5\"],\"left\":[\"thin\",\"#2e75b5\"],\"right\":[\"thin\",\"#2e75b5\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}}],\"validations\":[],\"cols\":{\"0\":{\"width\":18},\"1\":{\"width\":102},\"2\":{\"width\":132},\"3\":{\"width\":147},\"4\":{\"width\":66},\"5\":{\"width\":66},\"6\":{\"width\":84},\"7\":{\"width\":88},\"8\":{\"width\":121},\"len\":50},\"merges\":[\"B1:H1\"]}', '', 'https://static.jeecg.com/designreport/images/xiaoshou_1607310086160.png', 'jeecg', '2020-07-28 16:54:44', 'admin', '2021-04-01 03:09:25', 0, NULL, NULL, 1, 2088, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('53c82a76f837d5661dceec7d93afafec', '5678', '阜阳检票数查询', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"53c82a76f837d5661dceec7d93afafec\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"\",\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":67,\"merge\":[0,3],\"text\":\"阜阳火车站检票数\"},\"4\":{\"style\":67},\"5\":{\"style\":67},\"6\":{\"style\":67},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":63},\"1\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":66},\"4\":{\"style\":66},\"5\":{\"style\":66},\"6\":{\"style\":66},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":20},\"2\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"日期:\",\"style\":68},\"2\":{\"text\":\"${gongsi.tdata}\",\"style\":69},\"3\":{\"style\":66},\"4\":{\"style\":66,\"text\":\"制表人:\"},\"5\":{\"text\":\"${gongsi.gname}\",\"style\":66},\"6\":{\"style\":66},\"7\":{\"text\":\"\",\"merge\":[0,1],\"style\":70},\"8\":{\"style\":70},\"9\":{\"style\":58}},\"isDrag\":true},\"3\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"班次\",\"merge\":[1,0],\"style\":71},\"2\":{\"text\":\"发车时间\",\"merge\":[1,0],\"style\":71},\"3\":{\"text\":\"是否放空\",\"merge\":[1,0],\"style\":71},\"4\":{\"text\":\"路线\",\"merge\":[0,1],\"style\":71},\"5\":{\"style\":72},\"6\":{\"text\":\"核载座位数\",\"merge\":[1,0],\"style\":71},\"7\":{\"merge\":[1,0],\"style\":71,\"text\":\"检票数\"},\"8\":{\"merge\":[1,0],\"style\":71,\"text\":\"实载率(%)\"},\"9\":{\"style\":58}}},\"4\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":72},\"2\":{\"style\":71},\"3\":{\"style\":72},\"4\":{\"text\":\"从\",\"style\":71},\"5\":{\"text\":\"到\",\"style\":71},\"6\":{\"style\":72},\"7\":{\"style\":71},\"8\":{\"style\":72},\"9\":{\"style\":58}},\"height\":25},\"5\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":73,\"text\":\"#{jianpiao.bnum}\"},\"2\":{\"style\":73,\"text\":\"#{jianpiao.ftime}\"},\"3\":{\"style\":73,\"text\":\"#{jianpiao.sfkong}\"},\"4\":{\"style\":73,\"text\":\"#{jianpiao.kaishi}\"},\"5\":{\"style\":73,\"text\":\"#{jianpiao.jieshu}\"},\"6\":{\"style\":73,\"text\":\"#{jianpiao.hezairen}\"},\"7\":{\"style\":73,\"text\":\"#{jianpiao.jpnum}\"},\"8\":{\"style\":73,\"text\":\"#{jianpiao.shihelv}\"},\"9\":{\"style\":58}},\"height\":33},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11,\"text\":\"\"},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"8\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"9\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"10\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"11\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"12\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"13\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"14\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"len\":96,\"-1\":{\"cells\":{\"-1\":{\"text\":\"${gongsi.id}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":701,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"],\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":22,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"宋体\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"right\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":17},\"1\":{\"width\":118},\"2\":{\"width\":75},\"3\":{\"width\":54},\"4\":{\"width\":95},\"5\":{\"width\":109},\"6\":{\"width\":75},\"7\":{\"width\":75},\"8\":{\"width\":83},\"9\":{\"width\":30},\"len\":50},\"merges\":[\"E4:F4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"G4:G5\",\"H4:H5\",\"I4:I5\",\"D1:G1\",\"H3:I3\"]}', '', 'https://static.jeecg.com/designreport/images/25_1597233573577.png', 'jeecg', '2020-06-16 15:01:42', 'admin', '2021-02-03 12:11:37', 0, NULL, NULL, 1, 696, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('6059e405dd9c66a6d38e00841d2e40cc', '566777', '处方笺', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":9,\"sci\":3,\"eri\":9,\"eci\":11,\"width\":593,\"height\":25},\"printElWidth\":718,\"excel_config_id\":\"6059e405dd9c66a6d38e00841d2e40cc\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"3\":{\"style\":80,\"text\":\" \"}},\"height\":96},\"1\":{\"cells\":{\"1\":{\"style\":24,\"text\":\" \"},\"2\":{\"style\":25,\"text\":\" \"},\"3\":{\"style\":25,\"text\":\" \"},\"4\":{\"style\":25,\"text\":\" \"},\"5\":{\"style\":25,\"text\":\" \"},\"6\":{\"style\":25,\"text\":\" \"},\"7\":{\"style\":25,\"text\":\" \"},\"8\":{\"style\":25,\"text\":\" \"},\"9\":{\"style\":25,\"text\":\" \"},\"10\":{\"style\":25,\"text\":\" \"},\"11\":{\"style\":25,\"text\":\" \"},\"12\":{\"style\":26,\"text\":\" \"}},\"height\":18},\"2\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":27},\"2\":{\"merge\":[0,9],\"text\":\"智能医学院处方笺\",\"style\":38},\"3\":{\"style\":12,\"text\":\" \"},\"4\":{\"style\":12,\"text\":\" \"},\"5\":{\"style\":12,\"text\":\" \"},\"6\":{\"style\":12,\"text\":\" \"},\"7\":{\"style\":12,\"text\":\" \"},\"8\":{\"style\":12,\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"style\":12,\"text\":\" \"},\"11\":{\"style\":12,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"height\":124},\"3\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":46},\"2\":{\"merge\":[0,1],\"text\":\"姓名:\",\"style\":4},\"3\":{\"style\":4,\"text\":\" \"},\"4\":{\"text\":\"${yonghu.yphone}\"},\"5\":{\"text\":\"性别:\",\"style\":42},\"6\":{\"text\":\"${yonghu.ysex}\",\"style\":42},\"7\":{\"text\":\"年龄:\",\"style\":47},\"8\":{\"text\":\"${yonghu.yage}\"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \",\"style\":42},\"11\":{\"style\":69,\"text\":\" \",\"merge\":[0,1]},\"12\":{\"style\":43,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"isDrag\":true},\"4\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":74},\"2\":{\"style\":4,\"merge\":[0,1],\"text\":\"单位:\"},\"3\":{\"style\":4,\"text\":\" \"},\"4\":{\"text\":\"${yonghu.danwei}\"},\"5\":{\"text\":\"电话:\"},\"6\":{\"text\":\"${yonghu.yphone}\",\"merge\":[0,5]},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"15\":{\"text\":\"\"}},\"isDrag\":true,\"height\":29},\"5\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"merge\":[0,1],\"text\":\"初步诊断:\",\"style\":4},\"3\":{\"text\":\" \",\"style\":4},\"4\":{\"text\":\"${yonghu.yjieguo}\",\"merge\":[0,7]},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true,\"height\":34},\"6\":{\"cells\":{\"1\":{\"text\":\" RP:\",\"merge\":[0,2],\"style\":79},\"2\":{\"style\":11,\"text\":\" \"},\"3\":{\"style\":11,\"text\":\" \"},\"4\":{\"style\":39,\"text\":\" \"},\"5\":{\"style\":0,\"text\":\" \"},\"6\":{\"style\":0,\"text\":\" \"},\"7\":{\"style\":0,\"text\":\" \"},\"8\":{\"style\":0,\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"style\":0,\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"14\":{},\"16\":{}},\"height\":79},\"7\":{\"cells\":{\"1\":{\"text\":\".\",\"style\":48},\"2\":{\"text\":\"\",\"style\":1},\"3\":{\"text\":\"#{yaopin.name}\",\"merge\":[0,1]},\"5\":{},\"6\":{},\"7\":{\"text\":\"#{yaopin.percent}\",\"merge\":[0,1]},\"9\":{},\"10\":{},\"11\":{\"text\":\"\"},\"12\":{\"style\":28,\"text\":\" \"},\"14\":{}},\"isDrag\":true,\"height\":37},\"8\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"height\":27},\"9\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"医嘱:\",\"style\":76},\"3\":{\"text\":\"${yonghu.yizhu}\",\"style\":6,\"merge\":[0,8]},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"10\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"药品费\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"text\":\"${yonghu.yprice}\",\"style\":6},\"5\":{\"text\":\"中成药费\",\"style\":6,\"rendered\":\"\",\"merge\":[0,1]},\"7\":{\"style\":6,\"text\":\" \"},\"8\":{\"text\":\"治疗费\",\"merge\":[0,2],\"style\":6},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"style\":6,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"11\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"检查费\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"style\":6,\"text\":\" \"},\"5\":{\"text\":\"换药费\",\"style\":6,\"merge\":[0,1]},\"7\":{\"style\":6,\"text\":\" \"},\"8\":{\"merge\":[0,2],\"text\":\"诊疗费\",\"style\":6},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\"${yonghu.yzhenliao}\",\"style\":6},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"12\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"注射费\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"style\":6,\"merge\":[0,3],\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"merge\":[0,2],\"text\":\"其他\",\"style\":6},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"style\":6,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}}},\"13\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"合计\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"text\":\"${yonghu.ytotal}\",\"style\":6,\"merge\":[0,7]},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"14\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"height\":9},\"15\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"医师:\",\"style\":4,\"rendered\":\"\",\"merge\":[0,1]},\"4\":{\"text\":\"${yonghu.yishe}\",\"style\":80},\"5\":{\"style\":80,\"text\":\" \"},\"6\":{\"style\":80,\"text\":\" \"},\"7\":{\"style\":80,\"text\":\" \"},\"8\":{\"text\":\"日期:\",\"style\":4},\"9\":{\"text\":\"${yonghu.kdata}\",\"style\":80,\"merge\":[0,2]},\"12\":{\"style\":71,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"isDrag\":true,\"height\":43},\"16\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"style\":80,\"text\":\" \"},\"3\":{\"style\":80,\"text\":\" \"},\"4\":{\"style\":80,\"text\":\" \"},\"5\":{\"style\":80,\"text\":\" \"},\"6\":{\"style\":80,\"text\":\" \"},\"7\":{\"style\":80,\"text\":\" \"},\"8\":{\"style\":80,\"text\":\" \"},\"9\":{\"style\":80,\"text\":\" \"},\"10\":{\"style\":80,\"text\":\" \"},\"11\":{\"style\":80,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"height\":17},\"17\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":32},\"2\":{\"text\":\" \",\"style\":33},\"3\":{\"style\":33,\"text\":\" \"},\"4\":{\"text\":\" \",\"style\":33},\"5\":{\"text\":\" \",\"style\":33},\"6\":{\"text\":\" \",\"style\":33},\"7\":{\"text\":\" \",\"style\":33},\"8\":{\"text\":\" \",\"style\":33},\"9\":{\"text\":\" \",\"style\":33},\"10\":{\"text\":\" \",\"style\":33},\"11\":{\"text\":\" \",\"style\":33},\"12\":{\"text\":\" \",\"style\":34}}},\"18\":{\"cells\":{\"11\":{\"text\":\"\"}},\"isDrag\":true},\"len\":94,\"-1\":{\"cells\":{\"-1\":{\"text\":\"#{yaopin.key1}\"}},\"isDrag\":true},\"\":{\"cells\":{\"NaN\":{\"text\":\"\",\"rendered\":\"\"}}}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":709,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":12}},{\"font\":{\"size\":10}},{\"font\":{\"size\":12},\"align\":\"right\"},{\"font\":{\"size\":14}},{\"align\":\"right\"},{\"font\":{\"size\":10},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\"},{\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":12,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":15}},{\"align\":\"left\"},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":true}},{\"font\":{\"size\":12,\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"valign\":\"bottom\"},{\"font\":{\"size\":10},\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"align\":\"right\",\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"valign\":\"bottom\",\"align\":\"right\"},{\"font\":{\"size\":10},\"valign\":\"bottom\",\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":true},{\"font\":{\"size\":10},\"textwrap\":true},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false},{\"font\":{\"size\":10},\"textwrap\":false},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false,\"align\":\"right\"},{\"font\":{\"size\":10},\"textwrap\":false,\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false,\"align\":\"left\"},{\"font\":{\"size\":10},\"textwrap\":false,\"align\":\"left\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false,\"align\":\"center\"},{\"font\":{\"size\":10},\"textwrap\":false,\"align\":\"center\"},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":15},\"align\":\"right\"},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]},\"valign\":\"bottom\",\"align\":\"right\"},{\"font\":{\"size\":10},\"valign\":\"bottom\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]},\"textwrap\":false,\"align\":\"left\"},{\"font\":{\"size\":10},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"left\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"valign\":\"bottom\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"align\":\"left\"},{\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":15,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{},{\"font\":{\"size\":15,\"bold\":true},\"align\":\"center\"},{\"align\":\"right\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thick\",\"#000\"],\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}}],\"validations\":[],\"cols\":{\"0\":{\"width\":23},\"1\":{\"width\":14},\"2\":{\"width\":56},\"3\":{\"width\":40},\"4\":{\"width\":156},\"5\":{\"width\":41},\"6\":{\"width\":18},\"7\":{\"width\":92},\"8\":{\"width\":58},\"9\":{\"width\":20},\"10\":{\"width\":20},\"11\":{\"width\":148},\"12\":{\"width\":12},\"13\":{\"width\":11},\"len\":50},\"merges\":[\"C3:E3\",\"C7:E7\",\"H3:I3\",\"H7:I7\",\"C7:E7\",\"H7:I7\",\"I11:K11\",\"I12:K12\",\"I13:K13\",\"E13:H13\",\"C11:D11\",\"C12:D12\",\"C13:D13\",\"C14:D14\",\"L4:M4\",\"C3:L3\",\"B7:D7\",\"C4:D4\",\"C5:D5\",\"E14:L14\",\"G5:L5\",\"C6:D6\",\"E6:L6\",\"D8:E8\",\"H8:I8\",\"C16:D16\",\"J16:L16\",\"F11:G11\",\"F12:G12\",\"D10:L10\"]}', '', 'https://static.jeecg.com/designreport/images/处方_1607071731580.png', 'jeecg', '2020-07-10 17:12:16', 'admin', '2021-02-03 14:03:05', 0, NULL, NULL, 1, 849, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('6d6bdcb5e820c301ea32789e3ae43c44', '1223', '供电公司抢修单', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":14,\"sci\":8,\"eri\":14,\"eci\":8,\"width\":100,\"height\":67},\"printElWidth\":718,\"excel_config_id\":\"6d6bdcb5e820c301ea32789e3ae43c44\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{},\"height\":11},\"1\":{\"cells\":{\"1\":{\"text\":\"供电公司抢修竣工单\",\"merge\":[0,5],\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"style\":39},\"6\":{\"style\":39}},\"height\":56},\"2\":{\"cells\":{\"1\":{\"text\":\"填报单位:\",\"style\":26},\"2\":{\"text\":\"#{qiangxiu.danwei}\",\"style\":27},\"3\":{\"style\":27},\"4\":{\"text\":\"\",\"style\":27},\"5\":{\"text\":\"填报日期:\",\"style\":26},\"6\":{\"text\":\"#{qiangxiu.time}\",\"style\":27}}},\"3\":{\"cells\":{\"1\":{\"text\":\"填报名称:\",\"style\":26},\"2\":{\"text\":\"#{qiangxiu.ktime}\",\"style\":27},\"3\":{\"style\":27},\"4\":{\"style\":27},\"5\":{\"text\":\"项目编号:\",\"style\":26},\"6\":{\"text\":\"#{qiangxiu.wtime}\",\"style\":27}}},\"4\":{\"cells\":{\"1\":{\"style\":28},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":28},\"6\":{\"style\":28}},\"height\":10},\"5\":{\"cells\":{\"1\":{\"text\":\"项目批准核算\",\"style\":29},\"2\":{\"text\":\"#{qiangxiu.yusuan}\",\"style\":30,\"merge\":[0,4]}},\"height\":89},\"6\":{\"cells\":{\"1\":{\"text\":\"开工日期\",\"style\":32},\"2\":{\"style\":33,\"text\":\"#{qiangxiu.ktime}\",\"merge\":[0,1]},\"3\":{\"style\":28},\"4\":{\"style\":34,\"text\":\"完工日期\"},\"5\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.wtime}\"},\"6\":{\"style\":28}},\"height\":31},\"7\":{\"cells\":{\"1\":{\"text\":\"完工主要内容\",\"style\":32},\"2\":{\"style\":33,\"text\":\"#{qiangxiu.neirong}\",\"merge\":[0,4]}},\"height\":71},\"8\":{\"cells\":{\"1\":{\"text\":\"形成能力\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,4],\"text\":\"#{qiangxiu.nengli}\"},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":28},\"6\":{\"style\":28}},\"height\":49},\"9\":{\"cells\":{\"1\":{\"text\":\"目标效益验收意见\",\"style\":32},\"2\":{\"style\":35,\"text\":\"#{qiangxiu.yijian}\",\"rendered\":\"\",\"merge\":[0,4]}},\"height\":100},\"10\":{\"cells\":{\"1\":{\"style\":37,\"text\":\" \",\"merge\":[0,3]},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":37,\"text\":\"#{qiangxiu.time1}\",\"merge\":[0,1]},\"6\":{\"style\":28}}},\"11\":{\"cells\":{\"1\":{\"text\":\"实施质量验收评价\",\"style\":32},\"2\":{\"style\":35,\"text\":\"#{qiangxiu.pingjia}\",\"merge\":[0,4]}},\"height\":99},\"12\":{\"cells\":{\"1\":{\"style\":33,\"merge\":[0,3]},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.time1}\"},\"6\":{\"style\":28}}},\"13\":{\"cells\":{\"1\":{\"text\":\"验收总结\",\"style\":32},\"2\":{\"style\":35,\"text\":\"#{qiangxiu.zongjie}\",\"merge\":[0,4],\"rendered\":\"\"}},\"height\":80},\"14\":{\"cells\":{\"1\":{\"text\":\"责任单位意见\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,4],\"text\":\"#{qiangxiu.zongjie}\"}},\"height\":67},\"15\":{\"cells\":{\"1\":{\"text\":\"责任单位审核人\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.dshenhe}\"},\"3\":{\"style\":28},\"4\":{\"style\":34,\"text\":\"日期\"},\"5\":{\"style\":33,\"text\":\"#{qiangxiu.time3}\",\"merge\":[0,1]},\"6\":{\"style\":28}},\"height\":42},\"16\":{\"cells\":{\"1\":{\"text\":\"生技部审批意见\",\"style\":32},\"2\":{\"style\":33,\"text\":\"#{qiangxiu.dshenhe}\",\"merge\":[0,4]}},\"height\":107},\"17\":{\"cells\":{\"1\":{\"text\":\"生技部主任\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.zhuren}\"},\"3\":{\"style\":28},\"4\":{\"style\":34,\"text\":\"日期\"},\"5\":{\"style\":33,\"text\":\"#{qiangxiu.time4}\",\"merge\":[0,1]},\"6\":{\"style\":28}},\"height\":41},\"18\":{\"cells\":{\"1\":{\"style\":28},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":28},\"6\":{\"style\":28}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":699,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#9cc2e6\"},{\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\"},{\"bgcolor\":\"#ffffff\"},{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\"},{\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":false},{\"textwrap\":false},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"right\",\"color\":\"#7f7f7f\"},{\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"宋体\"}},{\"align\":\"right\",\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#ffffff\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\"}},{\"textwrap\":true,\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":false,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":23},\"1\":{\"width\":117},\"3\":{\"width\":108},\"4\":{\"width\":127},\"5\":{\"width\":76},\"6\":{\"width\":148},\"7\":{\"width\":13},\"len\":50},\"merges\":[\"C7:D7\",\"F7:G7\",\"B2:G2\",\"C9:G9\",\"B11:E11\",\"F11:G11\",\"B13:E13\",\"F13:G13\",\"C16:D16\",\"C18:D18\",\"F16:G16\",\"F18:G18\",\"C10:G10\",\"C8:G8\",\"C6:G6\",\"C12:G12\",\"C14:G14\",\"C15:G15\",\"C17:G17\"]}', '', 'https://static.jeecg.com/designreport/images/222_1607311944321.png', 'jeecg', '2020-07-20 19:37:54', 'admin', '2021-02-03 14:00:39', 0, NULL, NULL, 1, 180, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('7905022412733a0c68dc7b4ef8947489', '8996445', '介绍信', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"7905022412733a0c68dc7b4ef8947489\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{},\"12\":{}},\"height\":11},\"1\":{\"cells\":{},\"height\":24},\"2\":{\"cells\":{},\"isDrag\":true,\"height\":43},\"3\":{\"cells\":{\"0\":{\"text\":\"\",\"style\":46},\"1\":{\"merge\":[0,10],\"text\":\"介绍信\",\"style\":337}},\"height\":216},\"4\":{\"cells\":{\"1\":{\"text\":\"${jieshaoxin.name}\",\"style\":338,\"merge\":[0,3]},\"5\":{\"text\":\":\",\"style\":339}},\"isDrag\":true,\"height\":80},\"5\":{\"cells\":{\"1\":{\"text\":\"兹介绍我局\",\"style\":340,\"merge\":[0,5]},\"7\":{\"text\":\"${jieshaoxin.value}\",\"style\":341},\"8\":{\"text\":\"同志\",\"style\":339},\"9\":{\"text\":\"#{jieshaoxin.percent}\",\"style\":339},\"10\":{\"text\":\"人,前往你处\",\"style\":339,\"merge\":[0,1]}},\"isDrag\":true,\"height\":42},\"6\":{\"cells\":{\"1\":{\"text\":\"${jieshaoxin.shiqing}\",\"style\":342,\"merge\":[0,5]},\"15\":{\"text\":\"\"}},\"isDrag\":true,\"height\":48},\"7\":{\"cells\":{\"1\":{\"style\":343,\"text\":\"\"},\"2\":{\"style\":344,\"merge\":[0,5],\"text\":\"请予接洽并给予帮助。\"}},\"height\":56},\"8\":{\"cells\":{},\"height\":15},\"9\":{\"cells\":{},\"height\":11},\"10\":{\"cells\":{\"8\":{\"text\":\"\",\"style\":316,\"merge\":[0,3]}},\"height\":39},\"11\":{\"cells\":{\"8\":{\"merge\":[0,2],\"text\":\"单位盖章\",\"style\":347},\"11\":{\"merge\":[0,1],\"style\":316}},\"height\":84},\"12\":{\"cells\":{\"1\":{\"merge\":[0,2],\"text\":\"\",\"style\":317},\"4\":{\"merge\":[0,2],\"text\":\"\",\"style\":346},\"7\":{\"text\":\"(有效时间:至\",\"style\":317},\"8\":{\"text\":\"${jieshaoxin.gdata}\",\"style\":316,\"merge\":[0,2]},\"11\":{\"style\":348,\"text\":\"止)\"}},\"isDrag\":true,\"height\":30},\"13\":{\"cells\":{\"1\":{\"merge\":[12,11]}}},\"17\":{\"cells\":{},\"isDrag\":true},\"len\":89},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":688,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"left\"},{\"align\":\"left\",\"underline\":true},{\"underline\":true},{\"align\":\"center\",\"underline\":true},{\"align\":\"center\"},{\"align\":\"center\",\"underline\":false},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"bold\":false}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":10}},{\"font\":{\"size\":10,\"bold\":true}},{\"font\":{\"size\":10,\"bold\":true},\"align\":\"center\"},{\"font\":{\"size\":18,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18}},{\"font\":{\"size\":16,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"font\":{\"size\":12},\"valign\":\"bottom\"},{\"font\":{\"size\":12},\"valign\":\"middle\"},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"dashed\",\"#000\"]}},{\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":12,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"size\":14,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"}},{\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"}},{\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":10,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":10,\"name\":\"Lato\"},\"valign\":\"middle\",\"color\":\"#000100\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{},{\"font\":{\"size\":12,\"name\":\"Lato\",\"bold\":true},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"bold\":true},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12}},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"valign\":\"top\"},{\"valign\":\"top\",\"align\":\"center\"},{\"valign\":\"top\",\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"font\":{\"size\":14}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"right\",\"font\":{\"size\":9}},{\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"font\":{\"size\":9},\"align\":\"left\"},{\"align\":\"left\",\"font\":{\"bold\":true,\"size\":14}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":18},\"valign\":\"top\"},{\"align\":\"right\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"align\":\"center\"},{\"align\":\"left\",\"font\":{\"size\":10}},{\"align\":\"right\",\"font\":{\"size\":12},\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"align\":\"center\",\"valign\":\"bottom\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":22},\"valign\":\"top\"},{\"align\":\"right\",\"font\":{\"size\":14},\"valign\":\"bottom\"},{\"font\":{\"size\":14},\"valign\":\"bottom\"},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"align\":\"center\",\"valign\":\"bottom\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14},\"align\":\"center\"},{\"valign\":\"top\",\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14}}],\"validations\":[],\"cols\":{\"0\":{\"width\":23},\"1\":{\"width\":46},\"2\":{\"width\":24},\"3\":{\"width\":15},\"4\":{\"width\":37},\"5\":{\"width\":13},\"6\":{\"width\":83},\"7\":{\"width\":256},\"8\":{\"width\":42},\"9\":{\"width\":18},\"10\":{\"width\":77},\"11\":{\"width\":54},\"12\":{\"width\":28},\"13\":{\"width\":62},\"16\":{\"width\":55},\"len\":50},\"merges\":[\"C0:D0\",\"G11:H11\",\"G12:H12\",\"B5:E5\",\"B6:G6\",\"C8:H8\",\"I12:K12\",\"B4:L4\",\"K6:L6\",\"B13:D13\",\"E13:G13\",\"I11:L11\",\"L12:M12\",\"B14:M26\",\"I13:K13\",\"B7:G7\"]}', '', 'https://static.jeecg.com/designreport/images/介绍xin_1607072641405.png', 'jeecg', '2020-07-10 13:38:40', 'admin', '2021-04-01 03:15:11', 0, NULL, NULL, 1, 834, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('7c02c224a2db56d0350069650033f702', '895666', '核查评估表', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":5,\"sci\":18,\"eri\":5,\"eci\":18,\"width\":53,\"height\":46},\"printElWidth\":1399,\"excel_config_id\":\"7c02c224a2db56d0350069650033f702\",\"printElHeight\":790,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"XX县(市、区)YY低保第三方核查评估汇总表\",\"merge\":[0,21],\"style\":386},\"2\":{\"style\":386},\"3\":{\"style\":386},\"4\":{\"style\":386},\"5\":{\"style\":386},\"6\":{\"style\":386},\"7\":{\"style\":386},\"8\":{\"style\":386},\"9\":{\"style\":386},\"10\":{\"style\":386},\"11\":{\"style\":386},\"12\":{\"style\":386},\"13\":{\"style\":386},\"14\":{\"style\":386},\"15\":{\"style\":386},\"16\":{\"style\":386},\"17\":{\"style\":386},\"18\":{\"style\":386},\"19\":{\"style\":386},\"20\":{\"style\":386},\"21\":{\"style\":386},\"22\":{\"style\":386}},\"height\":70},\"1\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":403,\"text\":\" 北京市林翠社区\"},\"2\":{\"style\":398,\"text\":\" \"},\"3\":{\"style\":398,\"text\":\" \"},\"4\":{\"merge\":[0,2],\"text\":\"镇(乡、街道办事处)\",\"style\":399},\"5\":{\"style\":399},\"6\":{\"style\":399},\"7\":{\"style\":399,\"merge\":[0,7]},\"8\":{\"style\":400},\"9\":{\"style\":400},\"10\":{\"style\":400},\"11\":{\"style\":400},\"12\":{\"style\":400},\"13\":{\"style\":400},\"14\":{\"style\":400},\"15\":{\"merge\":[0,7],\"text\":\"单位:人、元、套、平方米\",\"style\":398},\"16\":{\"style\":401},\"17\":{\"style\":401},\"18\":{\"style\":401},\"19\":{\"style\":401},\"20\":{\"style\":401},\"21\":{\"style\":401},\"22\":{\"style\":401}}},\"2\":{\"cells\":{\"1\":{\"style\":114},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"height\":14},\"3\":{\"cells\":{\"1\":{\"style\":406,\"text\":\"村(社区)名称\",\"merge\":[1,0]},\"2\":{\"style\":407,\"text\":\"户主名称\",\"merge\":[1,0]},\"3\":{\"style\":407,\"text\":\"保障编号\",\"merge\":[1,0]},\"4\":{\"style\":408,\"text\":\"家庭人口\",\"merge\":[1,0]},\"5\":{\"style\":409,\"text\":\"家庭住址\",\"merge\":[1,0]},\"6\":{\"style\":409,\"text\":\"联系电话\",\"merge\":[1,0]},\"7\":{\"style\":408,\"text\":\"身份证号码\",\"merge\":[1,0]},\"8\":{\"style\":409,\"text\":\"原保障\",\"merge\":[0,2]},\"9\":{\"style\":377,\"text\":\" \"},\"10\":{\"style\":377,\"text\":\" \"},\"11\":{\"text\":\"核减后月人均收入\",\"style\":408,\"merge\":[1,0]},\"12\":{\"merge\":[0,5],\"text\":\"保障建议\",\"style\":410},\"13\":{\"style\":379,\"text\":\" \"},\"14\":{\"style\":379,\"text\":\" \"},\"15\":{\"style\":379,\"text\":\" \"},\"16\":{\"style\":379,\"text\":\" \"},\"17\":{\"style\":379,\"text\":\" \"},\"18\":{\"text\":\"是否新增对象\",\"style\":411,\"merge\":[1,0]},\"19\":{\"text\":\"建议取消原因\",\"style\":409,\"merge\":[0,3]},\"20\":{\"style\":377,\"text\":\" \"},\"21\":{\"style\":377,\"text\":\" \"},\"22\":{\"style\":377,\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"style\":381,\"text\":\" \"},\"2\":{\"style\":407,\"text\":\" \"},\"3\":{\"style\":382,\"text\":\" \"},\"4\":{\"style\":408,\"text\":\" \"},\"5\":{\"style\":377,\"text\":\" \"},\"6\":{\"style\":409,\"text\":\" \"},\"7\":{\"style\":383,\"text\":\" \"},\"8\":{\"text\":\"户数\",\"style\":412},\"9\":{\"style\":411,\"text\":\"人口\"},\"10\":{\"style\":413,\"text\":\"金额\"},\"11\":{\"style\":383,\"text\":\" \"},\"12\":{\"text\":\"保障类型\",\"style\":408},\"13\":{\"style\":413,\"text\":\"人口\"},\"14\":{\"style\":408,\"text\":\"差额补助\"},\"15\":{\"style\":408,\"text\":\"全额补助\"},\"16\":{\"style\":408,\"text\":\"增发补助\"},\"17\":{\"style\":408,\"text\":\"合计补助\"},\"18\":{\"style\":411,\"text\":\" \"},\"19\":{\"style\":408,\"text\":\"收入超标\"},\"20\":{\"style\":406,\"text\":\"机动车超标\"},\"21\":{\"style\":410,\"text\":\"死亡\"},\"22\":{\"style\":410,\"text\":\"其他\"}},\"height\":50},\"5\":{\"cells\":{\"1\":{\"text\":\"#{hecha.name}\",\"style\":414,\"rendered\":\"\"},\"2\":{\"text\":\"#{hecha.hname}\",\"style\":414},\"3\":{\"text\":\"#{hecha.num}\",\"style\":414},\"4\":{\"text\":\"#{hecha.knum}\",\"style\":414},\"5\":{\"text\":\"#{hecha.zhuzhi}\",\"style\":414},\"6\":{\"text\":\"#{hecha.phone}\",\"style\":414},\"7\":{\"text\":\"#{hecha.scard}\",\"style\":414},\"8\":{\"text\":\"#{hecha.yhnum}\",\"style\":414},\"9\":{\"text\":\"#{hecha.yren}\",\"style\":414},\"10\":{\"text\":\"#{hecha.yjine}\",\"style\":414},\"11\":{\"text\":\"#{hecha.yjine}\",\"style\":414},\"12\":{\"text\":\"#{hecha.type}\",\"style\":414},\"13\":{\"text\":\"#{hecha.rk}\",\"style\":414},\"14\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"15\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"16\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"17\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"18\":{\"text\":\"#{hecha.sf1}\",\"style\":414},\"19\":{\"text\":\"#{hecha.sf2}\",\"style\":414},\"20\":{\"text\":\"#{hecha.sf3}\",\"style\":414},\"21\":{\"text\":\"#{hecha.sf4}\",\"style\":414},\"22\":{\"text\":\"#{hecha.bz}\",\"style\":414}},\"isDrag\":true,\"height\":46},\"6\":{\"cells\":{\"1\":{\"style\":114},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"height\":46},\"7\":{\"cells\":{\"1\":{\"style\":114},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"height\":46},\"8\":{\"cells\":{\"1\":{\"text\":\"\"},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"isDrag\":true},\"len\":102},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1378,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":false},{\"textwrap\":false},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"middle\"},{\"textwrap\":true,\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":false,\"valign\":\"middle\"},{\"textwrap\":false,\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\"},{\"textwrap\":true,\"valign\":\"bottom\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"top\"},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":18}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Verdana\"}},{\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Verdana\"}},{\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Verdana\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"}},{\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":false,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"valign\":\"middle\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"valign\":\"middle\"},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"]},\"align\":\"right\"},{\"font\":{\"name\":\"Lato\"},\"align\":\"right\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"valign\":\"middle\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]},\"align\":\"center\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"size\":15,\"bold\":true,\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9}},{\"font\":{\"name\":\"Lato\",\"size\":9}},{\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"]},\"color\":\"#a5a5a5\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#a5a5a5\"},{\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#a5a5a5\"},{\"font\":{\"size\":9},\"color\":\"#a5a5a5\"},{\"align\":\"center\",\"font\":{\"size\":9},\"color\":\"#a5a5a5\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"]},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#7f7f7f\"},{\"font\":{\"size\":9},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"size\":9},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]},\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"align\":\"center\",\"font\":{\"size\":8}}],\"validations\":[],\"cols\":{\"0\":{\"width\":30},\"1\":{\"width\":68},\"2\":{\"width\":86},\"3\":{\"width\":93},\"4\":{\"width\":91},\"5\":{\"width\":156},\"6\":{\"width\":95},\"7\":{\"width\":85},\"8\":{\"width\":37},\"9\":{\"width\":30},\"10\":{\"width\":43},\"11\":{\"width\":66},\"12\":{\"width\":38},\"13\":{\"width\":41},\"14\":{\"width\":54},\"15\":{\"width\":49},\"16\":{\"width\":45},\"17\":{\"width\":49},\"18\":{\"width\":53},\"19\":{\"width\":40},\"20\":{\"width\":50},\"21\":{\"width\":40},\"22\":{\"width\":39},\"len\":50},\"merges\":[\"M4:R4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"E4:E5\",\"F4:F5\",\"G4:G5\",\"H4:H5\",\"I4:K4\",\"L4:L5\",\"S4:S5\",\"T4:W4\",\"E2:G2\",\"B2:D2\",\"B1:W1\",\"P2:W2\",\"H2:O2\"]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207113312_1607312171402.png', 'jeecg', '2020-07-14 16:41:42', 'admin', '2021-02-03 14:01:17', 0, NULL, NULL, 1, 263, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('907480464532770816', '20240117141013', '主子报表循环块', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[{\"sci\":0,\"sri\":0,\"eci\":8,\"eri\":36,\"index\":1,\"db\":\"aa\"}],\"area\":{\"sri\":9,\"sci\":11,\"eri\":9,\"eci\":11,\"width\":100,\"height\":25},\"excel_config_id\":\"907480464532770816\",\"printConfig\":{\"layout\":\"portrait\",\"paginationShow\":false,\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"paginationLocation\":\"middle\",\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":8,\"text\":\"订货商信息\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":57},\"1\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单编号:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,2],\"style\":42,\"text\":\"#{aa.order_code}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"2\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单地址:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.descc}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.order_date}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"3\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单姓名:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_by}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"到货日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_time}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":31},\"4\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"5\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"merge\":[0,6],\"style\":31,\"text\":\"订单详情\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1},\"6\":{\"loopBlock\":1},\"7\":{\"loopBlock\":1},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":51},\"6\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品编码\"},\"2\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品名称\"},\"3\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售时间\"},\"4\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售数据量\"},\"5\":{\"loopBlock\":1,\"style\":15,\"text\":\"定价\"},\"6\":{\"loopBlock\":1,\"style\":15,\"text\":\"优惠价\"},\"7\":{\"loopBlock\":1,\"style\":15,\"text\":\"付款金额\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":42},\"7\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"2\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"3\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"4\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.num}\"},\"5\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"style\":19,\"text\":\"#{bb.price}\"},\"6\":{\"loopBlock\":1,\"decimalPlaces\":\"1\",\"style\":19,\"text\":\"#{bb.price}\"},\"7\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.pro_type}\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"8\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"9\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"10\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":39,\"text\":\"备注:\"},\"2\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":34,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":25},\"11\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":41,\"text\":\"1、查看信息,在浏览器输入“?did=1”或“?did=2”\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":37},\"12\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":35,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"style\":36,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"13\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":37,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":38,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"14\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"15\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"16\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"17\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"18\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"19\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"20\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"21\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"22\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"23\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"24\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"25\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"26\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"27\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"28\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"29\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"30\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"31\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"32\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"33\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"34\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"35\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"36\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"len\":102},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":682,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"font\":{\"size\":18}},{\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"number\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"normal\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":18,\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]}},{\"valign\":\"bottom\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"bottom\",\"align\":\"left\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"bottom\":[\"thin\",\"#595959\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":39},\"1\":{\"width\":73},\"2\":{\"width\":89},\"3\":{\"width\":101},\"4\":{\"width\":80},\"8\":{\"width\":29},\"len\":100},\"merges\":[\"B1:H1\",\"C2:E2\",\"C3:D3\",\"F3:G3\",\"C4:D4\",\"F4:G4\",\"B6:H6\",\"B12:H12\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1617266678584.png', 'admin', '2024-01-17 14:10:13', 'admin', '2024-01-24 20:02:03', 0, NULL, NULL, 1, 82, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('919370186342354944', '20240103104736__3061', '横向总合计-横纵3*2*2副本3061', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"landscape\",\"printCallBackUrl\":\"\",\"paginationShow\":false,\"paginationLocation\":\"middle\"},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1071,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":60},\"1\":{\"width\":96},\"2\":{\"width\":115},\"len\":50},\"area\":{\"sri\":12,\"sci\":5,\"eri\":12,\"eci\":5,\"width\":100,\"height\":25},\"excel_config_id\":\"919370186342354944\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{},\"4\":{},\"5\":{}}},\"1\":{\"cells\":{\"0\":{},\"1\":{\"lineStart\":\"lefttop\",\"merge\":[3,1],\"style\":0,\"text\":\"地区|销售额|时间\",\"height\":100},\"3\":{\"merge\":[3,0],\"style\":0,\"text\":\"合计(销售)\",\"height\":100},\"4\":{\"merge\":[0,1],\"style\":1,\"text\":\"#{test_heng_sum.groupRight(year)}\",\"aggregate\":\"group\",\"direction\":\"right\",\"height\":25},\"5\":{},\"6\":{\"merge\":[3,0],\"style\":0,\"text\":\"合计(销售)\",\"height\":100},\"7\":{\"merge\":[3,0],\"style\":0,\"text\":\"合计(赠送)\",\"height\":100},\"8\":{\"merge\":[3,0],\"style\":1,\"text\":\"平均(销售)\",\"height\":100},\"9\":{\"merge\":[3,0],\"style\":1,\"text\":\"最大(销售)\",\"height\":100},\"10\":{\"merge\":[3,0],\"style\":1,\"text\":\"最小(销售)\",\"height\":100}}},\"2\":{\"cells\":{\"0\":{},\"4\":{\"merge\":[0,1],\"style\":1,\"text\":\"#{test_heng_sum.groupRight(quarter)}\",\"height\":25,\"aggregate\":\"group\",\"direction\":\"right\"},\"5\":{},\"8\":{},\"9\":{},\"10\":{}}},\"3\":{\"cells\":{\"0\":{},\"4\":{\"merge\":[0,1],\"style\":1,\"text\":\"#{test_heng_sum.groupRight(month)}\",\"height\":25,\"aggregate\":\"group\",\"direction\":\"right\"},\"5\":{},\"8\":{},\"9\":{},\"10\":{}}},\"4\":{\"cells\":{\"0\":{},\"4\":{\"style\":1,\"text\":\"销售\"},\"5\":{\"style\":1,\"text\":\"赠送\"},\"8\":{},\"9\":{},\"10\":{}}},\"5\":{\"cells\":{\"0\":{},\"1\":{\"style\":1,\"text\":\"#{test_heng_sum.group(region)}\",\"aggregate\":\"group\"},\"2\":{\"style\":1,\"text\":\"#{test_heng_sum.group(province)}\",\"aggregate\":\"group\"},\"3\":{\"style\":0,\"text\":\"=SUM(E6)\"},\"4\":{\"style\":0,\"text\":\"#{test_heng_sum.dynamic(sales)}\",\"aggregate\":\"dynamic\"},\"5\":{\"style\":0,\"text\":\"#{test_heng_sum.dynamic(gift)}\",\"aggregate\":\"dynamic\"},\"6\":{\"style\":0,\"text\":\"=SUM(E6)\"},\"7\":{\"style\":0,\"text\":\"=SUM(F6)\"},\"8\":{\"style\":0,\"text\":\"=AVERAGE(E6)\"},\"9\":{\"style\":0,\"text\":\"=MAX(F6)\"},\"10\":{\"style\":0,\"text\":\"=MIN(F6)\"}}},\"6\":{\"cells\":{\"0\":{},\"1\":{\"merge\":[0,1],\"style\":1,\"text\":\"合计\",\"height\":25},\"2\":{},\"3\":{\"style\":0,\"text\":\" \"},\"4\":{\"style\":0,\"text\":\"=SUM(E6)\"},\"5\":{\"style\":0,\"text\":\"=SUM(F6)\"},\"6\":{\"style\":0,\"text\":\" \"},\"7\":{\"style\":0,\"text\":\" \"},\"8\":{\"style\":0,\"text\":\" \"},\"9\":{\"style\":0,\"text\":\" \"},\"10\":{\"style\":0,\"text\":\" \"}}},\"7\":{\"cells\":{\"0\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{},\"23\":{},\"24\":{},\"25\":{},\"26\":{},\"27\":{},\"28\":{},\"29\":{}}},\"8\":{\"cells\":{\"0\":{}}},\"len\":167},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"groupField\":\"test_heng_sum.region\",\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\"},{\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#9cc2e6\"}],\"isGroup\":true,\"merges\":[\"B2:C5\",\"D2:D5\",\"E2:F2\",\"G2:G5\",\"H2:H5\",\"I2:I5\",\"J2:J5\",\"K2:K5\",\"E3:F3\",\"E4:F4\",\"B7:C7\"]}', NULL, NULL, 'admin', '2024-02-19 09:35:44', '', '2024-03-04 19:15:56', 0, NULL, NULL, 0, 53, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('924614453466595328', '20201214142804__5048', '条形码报表副本5048', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"layout\":\"portrait\",\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"hidden\":{\"rows\":[],\"cols\":[]},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\",\"sex1\",\"sex1\"],\"fillFormToolbar\":{\"show\":true,\"btnList\":[\"save\",\"subTable_add\",\"verify\",\"subTable_del\",\"print\",\"close\",\"first\",\"prev\",\"next\",\"paging\",\"total\",\"last\",\"exportPDF\",\"exportExcel\"]},\"freeze\":\"A1\",\"dataRectWidth\":704,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":16},\"1\":{\"width\":103},\"2\":{\"width\":156},\"3\":{\"width\":51},\"4\":{\"width\":96},\"5\":{\"width\":61},\"6\":{\"width\":106},\"7\":{\"width\":115},\"8\":{\"width\":135},\"len\":50},\"area\":false,\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"924614453466595328\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"1\":{\"merge\":[1,3],\"style\":39,\"text\":\"居民身份证申领登记表\"},\"5\":{\"rendered\":\"\",\"merge\":[0,2],\"display\":\"text\",\"text\":\"\"},\"-1\":{\"text\":\"${tm.tp}\"}},\"height\":27},\"1\":{\"cells\":{\"5\":{\"virtual\":\"ZiOFmILaRjdmVs6E\",\"rendered\":\"Mm55SPrx6ZG5ga8T\",\"display\":\"barcode\",\"merge\":[0,2],\"style\":2,\"text\":\"${tm.tm}\"}},\"height\":52},\"2\":{\"cells\":{\"1\":{\"merge\":[0,3],\"style\":36,\"text\":\"受理单位(盖章)珠海市公安局\"},\"5\":{\"style\":6,\"text\":\" \"},\"6\":{\"style\":6,\"text\":\" \"},\"7\":{\"style\":6,\"text\":\" \"}},\"height\":34},\"3\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"姓名\"},\"2\":{\"rendered\":\"\",\"style\":7,\"text\":\"${tm.name}\"},\"3\":{\"style\":16,\"text\":\"性别\"},\"4\":{\"isDict\":1,\"rendered\":\"\",\"dictCode\":\"sex1\",\"style\":7,\"text\":\"${tm.sex}\"},\"5\":{\"style\":16,\"text\":\"民族\"},\"6\":{\"style\":7,\"text\":\"${tm.nation}\"},\"7\":{\"rendered\":\"ftkUSZOje4A5gVO3\",\"merge\":[2,0],\"display\":\"img\",\"style\":7,\"text\":\"${tm.tp}\"}},\"isDrag\":true,\"height\":47},\"4\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"出生日期\"},\"2\":{\"merge\":[0,4],\"style\":32,\"text\":\"${tm.birth}\"}},\"isDrag\":true,\"height\":51},\"5\":{\"cells\":{\"1\":{\"style\":21,\"text\":\"常住户口所在地住址\"},\"2\":{\"merge\":[0,4],\"style\":7,\"text\":\"${tm.zhuzhi}\"}},\"isDrag\":true,\"height\":62},\"6\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"公民身份证\"},\"2\":{\"merge\":[0,5],\"style\":7,\"text\":\"${tm.card}\"}},\"isDrag\":true,\"height\":55},\"7\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"有限期限\"},\"2\":{\"merge\":[0,1],\"style\":34,\"text\":\"${tm.ydate}\"},\"4\":{\"style\":24,\"text\":\"签发机关\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.qfjg}\"}},\"isDrag\":true,\"height\":52},\"8\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"申领原因\"},\"2\":{\"merge\":[0,5],\"style\":7,\"text\":\"${tm.slyy}\"}},\"isDrag\":true,\"height\":55},\"9\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"受理时间\"},\"2\":{\"merge\":[0,1],\"style\":32,\"text\":\"${tm.sdate}\"},\"4\":{\"style\":24,\"text\":\"受理号\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.shao}\"}},\"isDrag\":true,\"height\":49},\"10\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"承办人\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\"${tm.cbr}\"},\"4\":{\"style\":24,\"text\":\"受理单位领导\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.sld}\"}},\"isDrag\":true,\"height\":42},\"11\":{\"cells\":{\"1\":{\"style\":21,\"text\":\"申请(监护)人签名\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\"${tm.sr}\"},\"4\":{\"style\":21,\"text\":\"申请(监护)人联系电话\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.jphone}\"}},\"isDrag\":true,\"height\":59},\"12\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"领证人签名\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\"${tm.lzr}\"},\"4\":{\"style\":24,\"text\":\"领证时间\"},\"5\":{\"merge\":[0,2],\"style\":32,\"text\":\"${tm.ldate}\"}},\"isDrag\":true,\"height\":57},\"13\":{\"cells\":{\"1\":{\"merge\":[0,1],\"style\":24,\"text\":\"是否通过邮政特快专递方式领取二代\"},\"3\":{\"merge\":[0,4],\"style\":7,\"text\":\"${tm.sk}\"}},\"isDrag\":true,\"height\":50},\"14\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"投递地址\"},\"2\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.dizhi}\"},\"5\":{\"style\":24,\"text\":\"收件人\"},\"6\":{\"merge\":[0,1],\"style\":7,\"text\":\" \"}},\"isDrag\":true,\"height\":53},\"15\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"邮政编码\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\" \"},\"4\":{\"style\":24,\"text\":\"备注\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\" \"}},\"isDrag\":true,\"height\":47},\"16\":{\"cells\":{\"1\":{\"merge\":[0,6],\"style\":31,\"text\":\"公安部治安管理局治\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\"},{\"textwrap\":true},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#3f3f3f\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#0c0c0c\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#7f7f7f\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#595959\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":8}},{\"align\":\"center\",\"font\":{\"size\":8}},{\"align\":\"right\",\"font\":{\"size\":8}},{\"align\":\"right\",\"font\":{\"size\":10}},{\"color\":\"#7f7f7f\",\"align\":\"right\",\"font\":{\"size\":10}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"date2\",\"font\":{\"name\":\"宋体\"}},{\"format\":\"date2\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"date\",\"font\":{\"name\":\"宋体\"}},{\"format\":\"date\"},{\"color\":\"#595959\",\"valign\":\"bottom\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"valign\":\"bottom\",\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[\"B1:E2\",\"F1:H1\",\"F2:H2\",\"B3:E3\",\"H4:H6\",\"C5:G5\",\"C6:G6\",\"C7:H7\",\"C8:D8\",\"F8:H8\",\"C9:H9\",\"C10:D10\",\"F10:H10\",\"C11:D11\",\"F11:H11\",\"C12:D12\",\"F12:H12\",\"C13:D13\",\"F13:H13\",\"B14:C14\",\"D14:H14\",\"C15:E15\",\"G15:H15\",\"C16:D16\",\"F16:H16\",\"B17:H17\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1608118350039.png', '', '2024-03-04 20:54:34', 'admin', '2025-05-08 19:32:54', 0, NULL, NULL, 0, 56, NULL, NULL, NULL, '1001', 1, NULL); -INSERT INTO `jimu_report` VALUES ('928540173805338624', '20240318105250', '电子收款收据', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"printConfig\":{\"layout\":\"portrait\",\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":686,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":21},\"1\":{\"width\":35},\"2\":{\"width\":45},\"3\":{\"width\":60},\"4\":{\"width\":128},\"5\":{\"width\":79},\"6\":{\"width\":67},\"7\":{\"width\":67},\"8\":{\"width\":84},\"10\":{\"width\":29},\"len\":100},\"area\":{\"sri\":24,\"sci\":11,\"eri\":24,\"eci\":11,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"excel_config_id\":\"928540173805338624\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{},\"height\":9},\"1\":{\"cells\":{\"2\":{\"rendered\":\"IKbjwc1lQUlSeJfd\",\"display\":\"qrcode\",\"merge\":[2,1],\"style\":0,\"text\":\"http://www.baidu.com\",\"config\":1,\"height\":69},\"3\":{}},\"height\":19},\"2\":{\"cells\":{\"2\":{},\"3\":{},\"4\":{\"merge\":[0,4],\"style\":80,\"text\":\"北京万达物业服务有限公司\",\"height\":25},\"9\":{\"virtual\":\"YfdiQDcuqTjlOG4f\",\"style\":67,\"text\":\" \"}}},\"3\":{\"cells\":{\"2\":{},\"3\":{},\"4\":{\"merge\":[0,4],\"style\":72,\"text\":\"电子收款收据\",\"height\":25}}},\"4\":{\"cells\":{\"2\":{},\"3\":{}},\"height\":16},\"5\":{\"cells\":{\"1\":{\"rendered\":\"\",\"merge\":[0,2],\"style\":41,\"text\":\"客户/业主\",\"config\":\"\",\"height\":25},\"4\":{\"merge\":[0,1],\"style\":43,\"text\":\"#{receipt.customName}\",\"height\":25},\"5\":{},\"6\":{\"merge\":[0,1],\"style\":44,\"text\":\"收款单号\",\"height\":25},\"8\":{\"merge\":[0,1],\"style\":45,\"text\":\"#{receipt.receiptNo}\",\"height\":25},\"9\":{}},\"height\":25},\"6\":{\"cells\":{\"1\":{\"rendered\":\"\",\"merge\":[0,2],\"style\":44,\"text\":\"实际交款人\",\"config\":\"\",\"height\":25},\"4\":{\"merge\":[0,1],\"style\":43,\"text\":\"#{receipt.actualPayer}\",\"height\":25},\"5\":{},\"6\":{\"rendered\":\"\",\"merge\":[0,1],\"style\":44,\"text\":\"结算方式\",\"config\":\"\",\"height\":25},\"8\":{\"merge\":[0,1],\"style\":45,\"text\":\"#{receipt.settlementType}\",\"height\":25},\"9\":{}},\"height\":25},\"7\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":44,\"text\":\"收款时间\",\"height\":25},\"4\":{\"merge\":[0,1],\"style\":43,\"text\":\"#{receipt.collectionTime}\",\"height\":25},\"5\":{},\"6\":{\"merge\":[0,1],\"style\":44,\"text\":\"原单号\",\"height\":25},\"8\":{\"merge\":[0,1],\"style\":45,\"text\":\"#{receipt.originalNumber}\",\"height\":25},\"9\":{}},\"height\":25},\"8\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":44,\"text\":\"收款组织\",\"height\":25},\"4\":{\"merge\":[0,5],\"style\":46,\"text\":\"#{receipt.organization}\",\"height\":25},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"11\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":25},\"9\":{\"cells\":{\"1\":{}}},\"10\":{\"cells\":{\"1\":{\"merge\":[0,1],\"style\":19,\"text\":\"行号\",\"height\":38},\"3\":{\"merge\":[0,1],\"style\":47,\"text\":\"房产名称\",\"height\":38},\"5\":{\"rendered\":\"\",\"merge\":[0,2],\"style\":47,\"text\":\"费用项目\",\"config\":\"\",\"height\":38},\"8\":{\"style\":47,\"text\":\"应交月份\"},\"9\":{\"style\":19,\"text\":\"金额\"}},\"height\":38},\"11\":{\"cells\":{\"1\":{\"merge\":[0,1],\"text\":\"=row()\",\"height\":34},\"3\":{\"merge\":[0,1],\"text\":\"#{receiptProject.propertyName}\",\"height\":34},\"5\":{\"merge\":[0,2],\"text\":\"#{receiptProject.expenseItem}\",\"height\":34},\"8\":{\"style\":0,\"text\":\"#{receiptProject.payableMonths}\"},\"9\":{\"style\":83,\"text\":\"#{receiptProject.price}\"},\"13\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":34},\"12\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":17,\"text\":\"款项合计\",\"height\":30},\"4\":{\"merge\":[0,5],\"style\":82,\"text\":\"人民币 =sum(J12) 元\",\"height\":30},\"11\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"},\"15\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":30},\"13\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":19,\"text\":\"缴费说明\",\"height\":30},\"4\":{\"merge\":[0,5],\"style\":23,\"text\":\"#{receipt.paymentDesc}\",\"height\":30},\"15\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":30},\"14\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":19,\"text\":\"检验密码\",\"height\":35},\"4\":{\"merge\":[0,5],\"style\":84,\"text\":\"#{receipt.verifyPassword}\",\"height\":35},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":35},\"15\":{\"cells\":{\"8\":{\"text\":\" \",\"virtual\":\"qWMWhe42wLnQXDUa\"}},\"height\":10},\"16\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":19,\"text\":\"收款经办\",\"height\":30},\"4\":{\"style\":20,\"text\":\"#{receipt.dealWith}\"},\"5\":{\"merge\":[0,1],\"style\":19,\"text\":\"公司签章\",\"height\":30},\"7\":{\"merge\":[0,2],\"style\":23,\"text\":\" \",\"height\":30}},\"height\":30},\"17\":{\"cells\":{\"8\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":10},\"18\":{\"cells\":{\"1\":{\"merge\":[0,1],\"style\":29,\"text\":\"加密说明:\",\"height\":25}}},\"19\":{\"cells\":{\"1\":{\"merge\":[0,8],\"style\":63,\"text\":\"1、本电子收据加密信息算法使用 SHA256\",\"height\":30},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":30},\"20\":{\"cells\":{\"1\":{\"merge\":[0,8],\"style\":65,\"text\":\"2、原始输入信息依次为:法人名称、收款组织、客户/业主、实际交款人、结算方式、收款单号、收款时间、款项合计,使用RSA私钥加密信息摘要生成“校验密码”\",\"height\":37},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":37},\"21\":{\"cells\":{\"1\":{\"merge\":[0,8],\"style\":65,\"text\":\"3、应公钥为MIGEMAOCCSqGSIb3DQEBAQUAMGNADCBiQKBgQCEf iYMBHNInswq1N/KLBy smaG68D+nlQk/RZ3QVSTmWo310WnSipYR3ksCNBksyGZceEneCIEuWBboPImYQUbH/ EHP3I3Ri 1E1 INjNI3GvQ7oXH/RLmHRGAgCz 4d9QcW7mGTHVvj/3o/gEvqyHgW6eG1lsl f6aEi7mi IRHxYtZrFQIDAQAB\",\"height\":57},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":57},\"23\":{\"cells\":{},\"height\":25},\"len\":200},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{\"1\":{\"colorDark\":\"#000000\",\"width\":69,\"text\":\"http://www.baidu.com\",\"colorLight\":\"#ffffff\",\"height\":69}},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"align\":\"center\"},{\"font\":{\"size\":7.5}},{\"font\":{\"size\":8}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":true}},{\"font\":{\"size\":12,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"],\"right\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"bgcolor\":\"#dae7d2\",\"align\":\"center\"},{\"bgcolor\":\"#dae7d2\"},{\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"bgcolor\":\"【QQYUN-8110】在线通讯录支持设置权限\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"bgcolor\":\"【QQYUN-8110】在线通讯录支持设置权限\",\"font\":{\"bold\":true}},{\"color\":\"【QQYUN-8110】在线通讯录支持设置权限\"},{\"color\":\"#0a0a0a\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":10.5,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":10.5,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"valign\":\"middle\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"],\"right\":[\"thin\",\"#1e8a1e\"]},\"valign\":\"middle\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"valign\":\"middle\"},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"valign\":\"middle\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"],\"right\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"sk-JsZB4Wi1HM2zJne40434CbCd071642Ab9910Ee1cA4CaE115\"},{\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11}},{\"border\":{\"top\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"size\":10}},{\"font\":{\"size\":10}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"size\":11}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11}},{\"valign\":\"bottom\"},{\"textwrap\":true},{\"textwrap\":true,\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"font\":{\"size\":14}},{\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":15,\"bold\":true}},{\"font\":{\"size\":15}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"宋体\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"楷体\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"楷体\"}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"仿宋\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"仿宋\"}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"华文行楷\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"华文行楷\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"textwrap\":true}],\"merges\":[\"C2:D4\",\"E3:I3\",\"E4:I4\",\"B6:D6\",\"E6:F6\",\"G6:H6\",\"I6:J6\",\"B7:D7\",\"E7:F7\",\"G7:H7\",\"I7:J7\",\"B8:D8\",\"E8:F8\",\"G8:H8\",\"I8:J8\",\"B9:D9\",\"E9:J9\",\"B11:C11\",\"D11:E11\",\"F11:H11\",\"B12:C12\",\"D12:E12\",\"F12:H12\",\"B13:D13\",\"E13:J13\",\"B14:D14\",\"E14:J14\",\"B15:D15\",\"E15:J15\",\"B17:D17\",\"F17:G17\",\"H17:J17\",\"B19:C19\",\"B20:J20\",\"B21:J21\",\"B22:J22\"],\"imgList\":[{\"row\":2,\"col\":9,\"colspan\":1,\"rowspan\":2,\"width\":\"96\",\"height\":\"47\",\"src\":\"https://jeecgdev.oss-cn-beijing.aliyuncs.com/jimureport/images/wanda_1710733731369.jpg\",\"layer_id\":\"YfdiQDcuqTjlOG4f\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[2,9]]},{\"row\":15,\"col\":8,\"colspan\":1,\"rowspan\":5,\"width\":\"82\",\"height\":\"77\",\"src\":\"https://jeecgdev.oss-cn-beijing.aliyuncs.com/jimureport/images/dzyz_1710741011435.png\",\"layer_id\":\"qWMWhe42wLnQXDUa\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[15,8]]}]}', NULL, NULL, 'admin', '2024-03-18 10:52:51', 'admin', '2024-03-20 10:16:40', 0, NULL, NULL, 1, 60, NULL, NULL, NULL, '1', 0, NULL); -INSERT INTO `jimu_report` VALUES ('938680635597357056', '20240412162853', '测试纵向分组报表111', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"printConfig\":{\"layout\":\"portrait\",\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1048,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":53},\"6\":{\"width\":114},\"7\":{\"width\":105},\"8\":{\"width\":276},\"len\":50},\"area\":{\"sri\":6,\"sci\":6,\"eri\":6,\"eci\":6,\"width\":114,\"height\":25},\"pyGroupEngine\":false,\"excel_config_id\":\"938680635597357056\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"2\":{\"cells\":{\"1\":{\"style\":1,\"text\":\"国家\"},\"2\":{\"style\":1,\"text\":\"城市\"},\"3\":{\"style\":1,\"text\":\"地区\"},\"4\":{\"style\":1,\"text\":\"公司\"},\"5\":{\"style\":1,\"text\":\"部门\"},\"6\":{\"text\":\"学历\",\"style\":1},\"7\":{\"text\":\"性别\",\"style\":1},\"8\":{\"style\":1,\"text\":\"年龄\"}}},\"3\":{\"cells\":{\"1\":{\"style\":0,\"text\":\"#{zongxdata.group(country)}\",\"aggregate\":\"group\"},\"2\":{\"style\":0,\"text\":\"#{zongxdata.group(city)}\",\"aggregate\":\"group\"},\"3\":{\"style\":0,\"text\":\"#{zongxdata.group(region)}\",\"aggregate\":\"group\"},\"4\":{\"style\":0,\"text\":\"#{zongxdata.group(org)}\",\"aggregate\":\"group\"},\"5\":{\"style\":0,\"aggregate\":\"group\",\"text\":\"#{zongxdata.group(department)}\"},\"6\":{\"style\":0,\"aggregate\":\"group\",\"subtotal\":\"-1\",\"funcname\":\"-1\",\"text\":\"#{zongxdata.group(education)}\"},\"7\":{\"style\":0,\"aggregate\":\"group\",\"text\":\"#{zongxdata.group(sex)}\",\"subtotal\":\"groupField\",\"funcname\":\"-1\"},\"8\":{\"style\":0,\"text\":\"#{zongxdata.age}\",\"aggregate\":\"group\",\"subtotal\":\"-1\",\"funcname\":\"SUM\",\"noCalculate\":false,\"filterEmptyValue\":false,\"filterNegative\":false,\"direction\":\"down\"}}},\"8\":{\"cells\":{}},\"9\":{\"cells\":{}},\"len\":101},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"groupField\":\"zongxdata.country\",\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#c5e0b3\"}],\"isGroup\":true,\"merges\":[]}', NULL, NULL, 'admin', '2024-04-12 16:28:54', 'admin', '2024-04-12 16:57:16', 0, NULL, NULL, 0, 48, NULL, NULL, NULL, '2', 0, NULL); -INSERT INTO `jimu_report` VALUES ('94b04a1ed7c17f8e96baa6d89fb90758', '3698522', '员工请假单', '', NULL, '984302991393210368', '{\"area\":false,\"printElWidth\":794,\"excel_config_id\":\"94b04a1ed7c17f8e96baa6d89fb90758\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"0\":{\"text\":\"员工请假单\",\"style\":100,\"merge\":[0,7]},\"1\":{\"style\":100},\"2\":{\"style\":100},\"3\":{\"style\":100},\"4\":{\"style\":100},\"5\":{\"style\":100},\"6\":{\"style\":100},\"7\":{\"style\":100}},\"height\":65},\"2\":{\"cells\":{\"0\":{\"text\":\"单位:北极星\",\"style\":101,\"merge\":[0,2]},\"1\":{\"style\":101},\"2\":{\"style\":101},\"3\":{\"style\":102},\"4\":{\"style\":102},\"5\":{\"style\":102},\"6\":{\"style\":102},\"7\":{\"style\":102}},\"height\":38},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":119},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"text\":\"工作岗位\",\"style\":120},\"3\":{\"style\":119,\"text\":\" \"},\"4\":{\"text\":\"工作时间\",\"style\":119},\"5\":{\"style\":119,\"text\":\" \"},\"6\":{\"text\":\"出生日期\",\"style\":119},\"7\":{\"style\":119,\"text\":\" \"}}},\"4\":{\"cells\":{\"0\":{\"text\":\"请选择假类型\",\"style\":121,\"merge\":[4,0]},\"1\":{\"text\":\"年休假\",\"style\":120},\"2\":{\"style\":120,\"text\":\"病、事假\"},\"3\":{\"style\":120,\"text\":\"探亲假\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"婚、丧假\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"生育假\"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":29},\"5\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"text\":\"1、公岭满1~9年(5天)\",\"style\":122},\"2\":{\"style\":119,\"text\":\"1、病假\"},\"3\":{\"style\":119,\"text\":\"1、未婚探父母(20天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"1、婚假(3天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"1、流产\"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":25},\"6\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":123,\"text\":\"2、公岭满10~19年(10天)\"},\"2\":{\"style\":119,\"text\":\"2、事假\"},\"3\":{\"style\":119,\"text\":\"2、已婚探父母(20天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"2、晚婚假(13天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"2、产假\"},\"7\":{\"style\":107,\"text\":\" \"}}},\"7\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":123,\"text\":\"3、公岭满20年(15天)\"},\"2\":{\"style\":119,\"text\":\" \"},\"3\":{\"style\":119,\"text\":\"3、探配偶(30天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"3、丧假(3天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"3、哺乳假\"},\"7\":{\"style\":107,\"text\":\" \"}}},\"8\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"style\":119,\"text\":\" \"},\"3\":{\"style\":119,\"text\":\"探亲地点:\",\"merge\":[0,2]},\"4\":{\"style\":107,\"text\":\" \"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"4、陪护假\"},\"7\":{\"style\":107,\"text\":\" \"},\"8\":{\"style\":15},\"9\":{\"style\":15},\"10\":{\"style\":15},\"11\":{\"style\":15},\"12\":{\"style\":15},\"13\":{\"style\":15},\"14\":{\"style\":15},\"15\":{\"style\":15},\"16\":{\"style\":15},\"17\":{\"style\":15},\"18\":{\"style\":15},\"19\":{\"style\":15},\"20\":{\"style\":15},\"21\":{\"style\":15},\"22\":{\"style\":15},\"23\":{\"style\":5},\"24\":{\"style\":5},\"25\":{\"style\":5}}},\"9\":{\"cells\":{\"0\":{\"style\":124,\"text\":\"请假时间\"},\"1\":{\"style\":125,\"merge\":[0,6],\"text\":\"2020年02-30 至2020年02-03-30\"},\"2\":{\"style\":115,\"text\":\" \"},\"3\":{\"style\":115,\"text\":\" \"},\"4\":{\"style\":115,\"text\":\" \"},\"5\":{\"style\":115,\"text\":\" \"},\"6\":{\"style\":115,\"text\":\" \"},\"7\":{\"style\":115,\"text\":\" \"}},\"height\":46},\"10\":{\"cells\":{\"0\":{\"style\":126,\"text\":\"审批人员及意见\"},\"1\":{\"merge\":[0,6],\"style\":127,\"text\":\"同意\"},\"2\":{\"style\":118,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"style\":118,\"text\":\" \"},\"5\":{\"style\":118,\"text\":\" \"},\"6\":{\"style\":118,\"text\":\" \"},\"7\":{\"style\":118,\"text\":\" \"}},\"height\":89},\"11\":{\"cells\":{\"0\":{\"text\":\"备注\",\"style\":119},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"text\":\"请假人签名\",\"style\":119},\"3\":{\"merge\":[0,4],\"style\":119,\"text\":\" \"},\"4\":{\"style\":107,\"text\":\" \"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":107,\"text\":\" \"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":90},\"12\":{\"cells\":{\"0\":{\"merge\":[0,7],\"style\":120,\"text\":\"请假审批表一式两份,考勤员与人力资源部门各存一份\"},\"1\":{\"style\":106,\"text\":\" \"},\"2\":{\"style\":106,\"text\":\" \"},\"3\":{\"style\":106,\"text\":\" \"},\"4\":{\"style\":106,\"text\":\" \"},\"5\":{\"style\":106,\"text\":\" \"},\"6\":{\"style\":106,\"text\":\" \"},\"7\":{\"style\":106,\"text\":\" \"}},\"height\":25},\"len\":101},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":789,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"textwrap\":true},{\"textwrap\":false},{\"textwrap\":true,\"valign\":\"middle\"},{\"textwrap\":false,\"valign\":\"middle\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\"},{},{\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\"},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\",\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\",\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#7f7f7f\"},{\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"middle\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"bottom\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":true},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":true},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":false},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":false},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":14,\"bold\":true}},{\"font\":{\"name\":\"宋体\"},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"宋体\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false}],\"validations\":[],\"cols\":{\"0\":{\"width\":35},\"1\":{\"width\":195},\"2\":{\"width\":77},\"3\":{\"width\":168},\"4\":{\"width\":62},\"6\":{\"width\":70},\"7\":{\"width\":82},\"len\":26},\"merges\":[\"D9:F9\",\"E5:F5\",\"E6:F6\",\"E7:F7\",\"E8:F8\",\"G5:H5\",\"G6:H6\",\"G7:H7\",\"G8:H8\",\"G9:H9\",\"B10:H10\",\"B11:H11\",\"D12:H12\",\"A13:H13\",\"A3:C3\",\"A2:H2\",\"A5:A9\"]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207135257_1607320433681.png', 'jeecg', '2020-07-10 18:29:39', 'admin', '2021-02-03 14:01:12', 0, NULL, NULL, 1, 145, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('961455b47c0b86dc961e90b5893bff05', '56780774', '阜阳检票数查询副本0774', '', NULL, '984302991393210368', '{\"area\":{\"sri\":8,\"sci\":6,\"eri\":8,\"eci\":6,\"width\":75,\"height\":25},\"printElWidth\":794,\"excel_config_id\":\"53c82a76f837d5661dceec7d93afafec\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"\",\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":67,\"merge\":[0,3],\"text\":\"阜阳火车站检票数\"},\"4\":{\"style\":67},\"5\":{\"style\":67},\"6\":{\"style\":67},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":63},\"1\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":66},\"4\":{\"style\":66},\"5\":{\"style\":66},\"6\":{\"style\":66},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":20},\"2\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"日期:\",\"style\":68},\"2\":{\"text\":\"${gongsi.tdata}\",\"style\":69},\"3\":{\"style\":66},\"4\":{\"style\":66,\"text\":\"制表人:\"},\"5\":{\"text\":\"${gongsi.gname}\",\"style\":66},\"6\":{\"style\":66},\"7\":{\"text\":\"\",\"merge\":[0,1],\"style\":70},\"8\":{\"style\":70},\"9\":{\"style\":58}},\"isDrag\":true},\"3\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"班次\",\"merge\":[1,0],\"style\":71},\"2\":{\"text\":\"发车时间\",\"merge\":[1,0],\"style\":71},\"3\":{\"text\":\"是否放空\",\"merge\":[1,0],\"style\":71},\"4\":{\"text\":\"路线\",\"merge\":[0,1],\"style\":71},\"5\":{\"style\":72},\"6\":{\"text\":\"核载座位数\",\"merge\":[1,0],\"style\":71},\"7\":{\"merge\":[1,0],\"style\":71,\"text\":\"检票数\"},\"8\":{\"merge\":[1,0],\"style\":71,\"text\":\"实载率(%)\"},\"9\":{\"style\":58}}},\"4\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":72},\"2\":{\"style\":71},\"3\":{\"style\":72},\"4\":{\"text\":\"从\",\"style\":71},\"5\":{\"text\":\"到\",\"style\":71},\"6\":{\"style\":72},\"7\":{\"style\":71},\"8\":{\"style\":72},\"9\":{\"style\":58}},\"height\":25},\"5\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":73,\"text\":\"#{jianpiao.bnum}\"},\"2\":{\"style\":73,\"text\":\"#{jianpiao.ftime}\"},\"3\":{\"style\":73,\"text\":\"#{jianpiao.sfkong}\"},\"4\":{\"style\":73,\"text\":\"#{jianpiao.kaishi}\"},\"5\":{\"style\":73,\"text\":\"#{jianpiao.jieshu}\"},\"6\":{\"style\":73,\"text\":\"#{jianpiao.hezairen}\"},\"7\":{\"style\":73,\"text\":\"#{jianpiao.jpnum}\"},\"8\":{\"style\":73,\"text\":\"#{jianpiao.shihelv}\"},\"9\":{\"style\":58}},\"height\":33},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11,\"text\":\"\"},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"8\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"9\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"10\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"11\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"12\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"13\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"14\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"len\":96,\"-1\":{\"cells\":{\"-1\":{\"text\":\"${gongsi.id}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":737,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"],\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":22,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"宋体\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"right\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":53},\"1\":{\"width\":118},\"2\":{\"width\":75},\"3\":{\"width\":54},\"4\":{\"width\":95},\"5\":{\"width\":109},\"6\":{\"width\":75},\"7\":{\"width\":75},\"8\":{\"width\":83},\"9\":{\"width\":30},\"len\":27},\"merges\":[\"E4:F4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"G4:G5\",\"H4:H5\",\"I4:I5\",\"D1:G1\",\"H3:I3\"]}', '', 'https://static.jeecg.com/designreport/images/25_1597233573577.png', 'admin', '2021-01-19 10:46:45', 'admin', '2021-02-03 13:58:22', 0, NULL, NULL, 0, 711, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('975549294469992448', '20240723101422', '简单表达式混合运算', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1097,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":81},\"1\":{\"width\":55},\"2\":{\"width\":144},\"3\":{\"width\":143},\"4\":{\"width\":112},\"5\":{\"width\":129},\"7\":{\"width\":333},\"len\":100},\"area\":false,\"pyGroupEngine\":false,\"excel_config_id\":\"975549294469992448\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"1\"},\"1\":{},\"2\":{\"text\":\"SUM(A1,A2)\"},\"3\":{\"text\":\"=SUM(A1,A2)\"},\"4\":{\"text\":\"SUM(A1:A10)\"},\"5\":{\"text\":\"=SUM(A1:A10)\"}}},\"1\":{\"cells\":{\"0\":{\"text\":\"2\"},\"1\":{},\"2\":{\"text\":\"SUM(A1,A2)*2\"},\"3\":{\"text\":\"=SUM(A1,A2)*2\"},\"4\":{\"text\":\"SUM(A1:A10)*2\"},\"5\":{\"text\":\"=SUM(A1:A10)*2\"},\"6\":{},\"7\":{\"text\":\"=2+SUM(A1,A2)*2 \"}}},\"2\":{\"cells\":{\"0\":{\"text\":\"3\"},\"2\":{\"text\":\"SUM(A1,A2)/2\"},\"3\":{\"text\":\"=SUM(A1,A2)/2\"},\"4\":{\"text\":\"SUM(A1:A10)/2\"},\"5\":{\"text\":\"=SUM(A1:A10)/2\"},\"7\":{\"text\":\"=A1*A2\"}}},\"3\":{\"cells\":{\"0\":{\"text\":\"4\"},\"2\":{\"text\":\"SUM(A1,A2)+2\"},\"3\":{\"text\":\"=SUM(A1,A2)+2\"},\"4\":{\"text\":\"SUM(A1:A10)+2\"},\"5\":{\"text\":\"=SUM(A1:A10)+2\"}}},\"4\":{\"cells\":{\"0\":{\"text\":\"5\"},\"2\":{\"text\":\"SUM(A1,A2)-2\"},\"3\":{\"text\":\"=SUM(A1,A2)-2\"},\"4\":{\"text\":\"SUM(A1:A10)-2\"},\"5\":{\"text\":\"=SUM(A1:A10)-2\"},\"7\":{}}},\"5\":{\"cells\":{\"0\":{\"text\":\"6\"}}},\"6\":{\"cells\":{\"0\":{\"text\":\"7\"},\"2\":{\"text\":\"MAX(A1,A2)\"},\"3\":{\"text\":\"=MAX(A1,A2)\"},\"4\":{\"text\":\"MAX(A1:A10)\"},\"5\":{\"text\":\"=MAX(A1:A10)\"}}},\"7\":{\"cells\":{\"0\":{\"text\":\"8\"},\"2\":{\"text\":\"MAX(A1,A2)*2\"},\"3\":{\"text\":\"=MAX(A1,A2)*2\"},\"4\":{\"text\":\"MAX(A1:A10)*2\"},\"5\":{\"text\":\"=MAX(A1:A10)*2\"}}},\"8\":{\"cells\":{\"0\":{\"text\":\"9\"},\"2\":{\"text\":\"MAX(A1,A2)/2\"},\"3\":{\"text\":\"=MAX(A1,A2)/2\"},\"4\":{\"text\":\"MAX(A1:A10)/2\"},\"5\":{\"text\":\"=MAX(A1:A10)/2\"}}},\"9\":{\"cells\":{\"0\":{\"text\":\"10\"},\"2\":{\"text\":\"MAX(A1,A2)+2\"},\"3\":{\"text\":\"=MAX(A1,A2)+2\"},\"4\":{\"text\":\"MAX(A1:A10)+2\"},\"5\":{\"text\":\"=MAX(A1:A10)+2\"}}},\"10\":{\"cells\":{\"0\":{},\"2\":{\"text\":\"MAX(A1,A2)-2\"},\"3\":{\"text\":\"=MAX(A1,A2)-2\"},\"4\":{\"text\":\"MAX(A1:A10)-2\"},\"5\":{\"text\":\"=MAX(A1:A10)-2\"}}},\"11\":{\"cells\":{\"0\":{}}},\"12\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)\"},\"3\":{\"text\":\"=MIN(A1,A2)\"},\"4\":{\"text\":\"MIN(A1:A10)\"},\"5\":{\"text\":\"=MIN(A1:A10)\"}}},\"13\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)*2\"},\"3\":{\"text\":\"=MIN(A1,A2)*2\"},\"4\":{\"text\":\"MIN(A1:A10)*2\"},\"5\":{\"text\":\"=MIN(A1:A10)*2\"}}},\"14\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)/2\"},\"3\":{\"text\":\"=MIN(A1,A2)/2\"},\"4\":{\"text\":\"MIN(A1:A10)/2\"},\"5\":{\"text\":\"=MIN(A1:A10)/2\"}}},\"15\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)+2\"},\"3\":{\"text\":\"=MIN(A1,A2)+2\"},\"4\":{\"text\":\"MIN(A1:A10)+2\"},\"5\":{\"text\":\"=MIN(A1:A10)+2\"}}},\"16\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)-2\"},\"3\":{\"text\":\"=MIN(A1,A2)-2\"},\"4\":{\"text\":\"MIN(A1:A10)-2\"},\"5\":{\"text\":\"=MIN(A1:A10)-2\"}}},\"18\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)\"},\"4\":{\"text\":\"AVERAGE(A1:A10)\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)\"}}},\"19\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)*2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)*2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)*2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)*2\"}}},\"20\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)/2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)/2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)/2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)/2\"}}},\"21\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)+2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)+2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)+2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)+2\"}}},\"22\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)-2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)-2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)-2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)-2\"}}},\"24\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)\"}}},\"25\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)*2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)*2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)*2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)*2\"}}},\"26\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)/2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)/2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)/2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)/2\"}}},\"27\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)+2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)+2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)+2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)+2\"}}},\"28\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)-2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)-2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)-2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)-2\"}}},\"len\":200},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-07-23 10:14:22', 'admin', '2024-07-24 19:17:39', 0, NULL, NULL, 0, 75, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('989065112487022592', '20240823093133__1750', '在线填报-员工信息登记', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":698,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":76},\"1\":{\"width\":114},\"2\":{\"width\":87},\"3\":{\"width\":99},\"4\":{\"width\":65},\"5\":{\"width\":126},\"6\":{\"width\":131},\"len\":100},\"area\":{\"sri\":10,\"sci\":9,\"eri\":10,\"eci\":9,\"width\":100,\"height\":121},\"pyGroupEngine\":false,\"submitHandlers\":[{\"type\":\"api\",\"code\":\"api\",\"name\":\"api\",\"isMain\":true,\"isEdit\":true,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/submit/handle\"}],\"excel_config_id\":\"989065112487022592\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[1,6],\"height\":90,\"text\":\"员工信息登记表\",\"style\":6}},\"height\":45},\"1\":{\"cells\":{},\"height\":45},\"2\":{\"cells\":{\"0\":{\"text\":\"编号\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"no\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"年龄\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"age\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"precision\":0,\"isLimitMinNum\":false,\"minNum\":0,\"isLimitMaxNum\":false,\"maxNum\":100,\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"age\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"填写时间\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"DatePicker-time\",\"component\":\"DatePicker\",\"field\":\"create_time\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"dateFormat\":\"yyyy-MM-dd HH:mm:ss\",\"defaultValue\":\"\"},\"style\":7,\"text\":\" \"},\"6\":{\"merge\":[3,0],\"height\":180,\"fillForm\":{\"componentFlag\":\"JUploadImage\",\"component\":\"JUploadImage\",\"field\":\"photo\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"maxUploadNum\":1,\"h_align\":\"center\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"text\":\" \",\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"name\",\"placeholder\":\"\",\"required\":true,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"name\"},{\"dbTable\":\"test_form_submit1\",\"dbField\":\"name\"}],\"label\":\"A5\",\"labelText\":\"姓名\",\"pattern\":\"\",\"patternErrorTip\":\"\"}},\"2\":{\"text\":\"性别\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"JRadio\",\"component\":\"JRadio\",\"field\":\"sex\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"男\",\"value\":\"1\"},{\"label\":\"女\",\"value\":\"2\"}],\"apiUrl\":\"\",\"dictCode\":\"sex1\",\"dictName\":\"性别\"},\"style\":8,\"text\":\" \"},\"4\":{\"text\":\"出生日期\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"DatePicker-date\",\"component\":\"DatePicker\",\"field\":\"brithday\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dateFormat\":\"yyyy-MM-dd\",\"dateShowType\":\"date\"},\"style\":7,\"text\":\" \"},\"8\":{}},\"height\":45},\"4\":{\"cells\":{\"0\":{\"text\":\"民族\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"nation\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"minzu\",\"dictName\":\"民族\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"政治面貌\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"politics\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"politics\"}],\"dataSource\":\"api\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/submit/dict/political\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"籍贯\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JAreaLinkage\",\"component\":\"JAreaLinkage\",\"field\":\"native_place\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"native_place\"}],\"areaType\":\"region\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"5\":{\"cells\":{\"0\":{\"text\":\"身高(cm)\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"height\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"height\"}],\"precision\":2,\"isLimitMinNum\":false,\"minNum\":50,\"isLimitMaxNum\":false,\"maxNum\":200},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"体重\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"weight\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"weight\"}],\"precision\":2,\"isLimitMinNum\":false,\"minNum\":30,\"isLimitMaxNum\":false,\"maxNum\":300},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"健康状况\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"health\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"static\",\"options\":[{\"label\":\"健康\",\"value\":\"1\"},{\"label\":\"不健康\",\"value\":\"2\"}],\"apiUrl\":\"\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"6\":{\"cells\":{\"0\":{\"text\":\"身份证号\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"idcard\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"pattern\":\"^\\\\d{17}[\\\\dX]$\",\"patternErrorTip\":\"请输入身份证号\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"id_card\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"学历\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"people\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"xueli_sf\",\"dictName\":\"学历\",\"multiple\":true},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"7\":{\"cells\":{\"0\":{\"text\":\"联系地址\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"addr\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"address\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"手机号\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"phone\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"phone\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"8\":{\"cells\":{\"0\":{\"text\":\"毕业证书\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"JUploadFile\",\"component\":\"JUploadFile\",\"field\":\"ca\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"maxUploadNum\":1,\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"ca\"}]},\"style\":9,\"text\":\" \"},\"4\":{\"text\":\"幸运色\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"ColorPicker\",\"component\":\"ColorPicker\",\"field\":\"lucky_color\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"alpha\":false},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"9\":{\"cells\":{\"0\":{\"text\":\"教育经历\",\"merge\":[0,6],\"height\":45,\"style\":8}},\"height\":45},\"10\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":121,\"fillForm\":{\"componentFlag\":\"input-textarea\",\"component\":\"Input\",\"field\":\"education\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"education\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":121},\"11\":{\"cells\":{\"0\":{\"text\":\"工作经历\",\"merge\":[0,6],\"height\":45,\"style\":8}},\"height\":45},\"12\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":150,\"fillForm\":{\"componentFlag\":\"input-textarea\",\"component\":\"Input\",\"field\":\"work_exp\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"work_exp\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":150},\"13\":{\"cells\":{\"0\":{\"text\":\"爱好\",\"style\":7},\"1\":{\"merge\":[0,5],\"height\":45,\"fillForm\":{\"componentFlag\":\"JCheckbox\",\"component\":\"JCheckbox\",\"field\":\"fruity\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"fruity\"}],\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"aihao\",\"dictName\":\"爱好\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"14\":{\"cells\":{\"0\":{\"text\":\"所属部门\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"JDepartment\",\"component\":\"JDepartment\",\"field\":\"dept\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"dept\"}],\"multiple\":true,\"apiUrl\":\"http://192.168.1.69:8086/jmreport/test/getDepartmentList\"},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"薪资\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JMoney\",\"component\":\"JMoney\",\"field\":\"pay\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"precision\":0,\"addon\":\"prepend\",\"moenyUnit\":\"¥\"},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"15\":{\"cells\":{\"0\":{\"text\":\"角色\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"JRole\",\"component\":\"JRole\",\"field\":\"role\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getRoleList\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"role\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\"工位\"},\"5\":{\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"station\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"dataSource\":\"static\",\"options\":[{\"label\":\"101\",\"value\":\"1\"},{\"label\":\"102\",\"value\":\"2\"},{\"label\":\"103\",\"value\":\"3\"},{\"label\":\"104\",\"value\":\"4\"}],\"apiUrl\":\"\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":true}}},\"height\":45},\"16\":{\"cells\":{\"0\":{\"text\":\"直属领导\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"JUser\",\"component\":\"JUser\",\"field\":\"leader\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getUserList\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"leader\"}]},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\"是否启用\"},\"5\":{\"style\":10,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"JSwitch\",\"component\":\"JSwitch\",\"field\":\"status\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"status\"}],\"label\":\"\",\"labelText\":\"\",\"switchOpen\":\"Y\",\"switchClose\":\"N\",\"h_align\":\"center\"}},\"6\":{}},\"height\":45},\"17\":{\"cells\":{\"0\":{\"style\":7,\"text\":\"负责部门\"},\"1\":{\"fillForm\":{\"componentFlag\":\"JSelectTree\",\"component\":\"JSelectTree\",\"field\":\"responsible\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":true,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getDepartmentList\"},\"style\":7,\"text\":\" \",\"merge\":[0,2],\"height\":45},\"4\":{\"style\":7,\"text\":\"上班时间\"},\"5\":{\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"TimePicker\",\"component\":\"TimePicker\",\"field\":\"key_1724408224853_326455\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"isRangTime\":false,\"timeType\":\"time\"}}},\"height\":45},\"20\":{\"cells\":{\"6\":{}}},\"len\":201},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"valign\":\"middle\"},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"valign\":\"middle\"},{\"align\":\"right\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[\"A1:G2\",\"G3:G6\",\"B7:D7\",\"F7:G7\",\"B8:D8\",\"F8:G8\",\"B9:D9\",\"F9:G9\",\"A10:G10\",\"A11:G11\",\"A12:G12\",\"A13:G13\",\"B14:G14\",\"B15:D15\",\"F15:G15\",\"B16:D16\",\"F16:G16\",\"B17:D17\",\"F17:G17\",\"B18:D18\",\"F18:G18\"]}', NULL, NULL, 'admin', '2024-08-29 17:18:29', 'admin', '2024-08-30 10:24:03', 0, NULL, NULL, 1, 2, NULL, NULL, NULL, '1', 9, 1); -INSERT INTO `jimu_report` VALUES ('9dbadaee8720767efe3164a7d018c870', '45566', '发票打印', '', NULL, '984302991393210368', '{\"area\":{\"sri\":8,\"sci\":4,\"eri\":8,\"eci\":4,\"width\":100,\"height\":25},\"printElWidth\":794,\"excel_config_id\":\"9dbadaee8720767efe3164a7d018c870\",\"printElHeight\":500,\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"1\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"2\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"3\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"4\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"5\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"6\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"7\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"8\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"}}},\"2\":{\"cells\":{},\"height\":11},\"3\":{\"cells\":{\"2\":{\"text\":\"\"},\"5\":{\"text\":\"\"}},\"height\":18},\"4\":{\"cells\":{\"2\":{\"text\":\"182123434\",\"style\":0},\"5\":{\"text\":\"12345678\"}},\"height\":15},\"5\":{\"cells\":{\"2\":{\"text\":\"\"}}},\"7\":{\"cells\":{}},\"8\":{\"cells\":{\"1\":{\"text\":\"餐饮\"},\"2\":{\"text\":\" A11\"},\"3\":{\"text\":\" 333 3\"},\"4\":{\"text\":\" 3 4\"},\"5\":{\"text\":\" 1\"},\"6\":{\"text\":\"3333\"}}},\"9\":{\"cells\":{\"1\":{\"text\":\"测试\"},\"2\":{\"text\":\" mmm\"},\"3\":{\"text\":\" 33 5\"}}},\"10\":{\"cells\":{},\"height\":22},\"11\":{\"cells\":{\"2\":{\"text\":\" \"},\"3\":{\"text\":\"343434\"},\"6\":{\"text\":\"3434\"}},\"height\":45},\"12\":{\"cells\":{\"4\":{\"text\":\" 刮开中奖\"}},\"height\":12},\"13\":{\"cells\":{\"2\":{\"text\":\"\"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\"备注\"}},\"height\":31},\"14\":{\"cells\":{\"1\":{\"text\":\" 张三\"},\"3\":{\"text\":\"完成\"},\"4\":{\"text\":\" 李思\"}},\"height\":41},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":847,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":8}}],\"validations\":[],\"cols\":{\"0\":{\"width\":93},\"1\":{\"width\":74},\"2\":{\"width\":80},\"len\":26},\"merges\":[],\"imgList\":[{\"row\":0,\"col\":0,\"width\":\"832\",\"height\":\"480\",\"src\":\"https://static.jeecg.com/designreport/images/套打_1609313052910.png\",\"isBackend\":true,\"commonBackend\":true,\"layer_id\":\"RTA6TUIKs1pmgVOM\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8]]}]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207113651_1607312223499.png', 'jeecg', '2020-07-20 18:55:59', 'admin', '2021-02-03 13:38:49', 0, NULL, NULL, 0, 1126, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('a250846887abe01217aab173d3006489', '56663', '不动产打印', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"a250846887abe01217aab173d3006489\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":true,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"1\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"2\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"3\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"4\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"5\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"6\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"7\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"8\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"9\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"}},\"isDrag\":true,\"height\":45},\"1\":{\"cells\":{},\"height\":23},\"2\":{\"cells\":{\"0\":{\"text\":\"\",\"style\":0},\"1\":{\"text\":\" ${budong.yname}\",\"style\":21,\"merge\":[0,2]}},\"isDrag\":true,\"height\":34},\"3\":{\"cells\":{\"1\":{\"text\":\" ${budong.chanquan}\",\"style\":0,\"merge\":[0,2]},\"5\":{\"text\":\"${budong.beizhu}\",\"merge\":[5,3]}},\"isDrag\":true,\"height\":39},\"4\":{\"cells\":{\"1\":{\"text\":\" ${budong.zhuzhi}\",\"style\":39,\"merge\":[0,2]}},\"isDrag\":true,\"height\":33},\"5\":{\"cells\":{\"1\":{\"text\":\" ${budong.danyuan}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":53},\"6\":{\"cells\":{\"1\":{\"text\":\" ${budong.type}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":47},\"7\":{\"cells\":{\"1\":{\"text\":\" ${budong.xtype}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":38},\"8\":{\"cells\":{\"1\":{\"text\":\" ${budong.suoyou}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":31},\"9\":{\"cells\":{\"1\":{\"text\":\" ${budong.mianji}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":45},\"10\":{\"cells\":{\"1\":{\"text\":\" ${budong.riqi}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":26},\"11\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":0,\"merge\":[0,2]}},\"height\":35},\"12\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":0},\"2\":{\"text\":\"${budong.chanquan}\",\"style\":0,\"merge\":[4,1]}},\"isDrag\":true},\"13\":{\"cells\":{}},\"14\":{\"cells\":{}},\"15\":{\"cells\":{}},\"16\":{\"cells\":{},\"height\":5},\"17\":{\"cells\":{\"2\":{\"text\":\"\",\"style\":0}},\"isDrag\":true,\"height\":33},\"18\":{\"cells\":{\"2\":{\"style\":0,\"text\":\"\"}}},\"len\":100,\"-1\":{\"cells\":{\"0\":{\"text\":\"#{budong.zhuzhi}\"},\"-1\":{\"text\":\"#{budong.suoyou}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1024,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"italic\":true}},{\"font\":{\"italic\":true,\"bold\":true}},{\"font\":{\"italic\":true,\"bold\":false}},{\"font\":{\"italic\":false,\"bold\":false}},{\"font\":{\"italic\":false,\"bold\":true}},{\"align\":\"left\"},{\"align\":\"center\"},{\"align\":\"right\"},{\"align\":\"left\",\"valign\":\"top\"},{\"align\":\"left\",\"valign\":\"top\",\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"left\",\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"align\":\"center\",\"valign\":\"bottom\"},{\"textwrap\":true},{\"font\":{\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"top\"},{\"valign\":\"top\"},{\"textwrap\":true,\"font\":{\"bold\":true}},{\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"bold\":true}},{\"align\":\"left\",\"valign\":\"bottom\",\"font\":{\"bold\":true}},{\"align\":\"left\",\"valign\":\"bottom\",\"font\":{\"bold\":true,\"size\":8}},{\"font\":{\"bold\":true,\"size\":8},\"valign\":\"bottom\"},{\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"bold\":true,\"size\":8}},{\"align\":\"left\",\"valign\":\"middle\",\"font\":{\"bold\":true}},{\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"middle\"},{\"valign\":\"middle\"},{\"font\":{\"italic\":true,\"bold\":true},\"valign\":\"middle\"},{\"valign\":\"middle\",\"font\":{\"italic\":true}},{\"valign\":\"middle\",\"font\":{\"italic\":false}},{\"font\":{\"italic\":false,\"bold\":false},\"valign\":\"middle\"},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"bold\":true,\"size\":8}},{\"font\":{\"bold\":true,\"size\":8},\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\",\"font\":{\"bold\":true,\"size\":8}},{\"align\":\"right\",\"valign\":\"middle\",\"font\":{\"bold\":true,\"size\":8}},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"middle\",\"align\":\"center\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"middle\",\"align\":\"left\"},{\"align\":\"right\",\"valign\":\"bottom\"},{\"align\":\"right\",\"valign\":\"bottom\",\"font\":{\"bold\":true,\"size\":8}},{\"align\":\"center\",\"valign\":\"middle\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":107},\"1\":{\"width\":54},\"2\":{\"width\":135},\"3\":{\"width\":180},\"6\":{\"width\":123},\"8\":{\"width\":25},\"len\":50},\"merges\":[\"B1:B2\",\"B12:D12\",\"B9:D9\",\"B7:D7\",\"B6:D6\",\"B5:D5\",\"B3:D3\",\"B11:D11\",\"B8:D8\",\"B10:D10\",\"C13:D17\",\"C1:C2\",\"B4:D4\",\"F4:I9\",\"D1:D2\"],\"imgList\":[{\"row\":0,\"col\":0,\"width\":\"950\",\"height\":\"683\",\"src\":\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/38_1610456500965_1617247643815.jpg\",\"isBackend\":true,\"commonBackend\":true,\"layer_id\":\"BJ9o6oelCr85EpT2\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9]]}]}', '', 'https://static.jeecg.com/designreport/images/24_1597233568822.png', 'jeecg', '2020-07-09 10:48:22', 'admin', '2021-04-01 03:27:28', 0, NULL, NULL, 1, 1416, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('a9f068972508920cd4aab831814f0c04', '23445', '逮捕证', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"a9f068972508920cd4aab831814f0c04\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"2\":{\"text\":\"\",\"merge\":[0,9],\"style\":324},\"12\":{}},\"isDrag\":true,\"height\":55},\"1\":{\"cells\":{\"1\":{\"style\":410,\"merge\":[0,13],\"text\":\"兰州市经济侦查大队\"},\"15\":{\"style\":324,\"text\":\" \"}},\"height\":128},\"2\":{\"cells\":{\"1\":{\"style\":411,\"merge\":[0,13],\"text\":\"逮捕令\"},\"15\":{\"style\":324,\"text\":\" \"}},\"height\":41},\"3\":{\"cells\":{\"1\":{\"style\":412,\"merge\":[0,12],\"text\":\"第123459663号\"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":60},\"4\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"text\":\" 根据《中华人民共和国刑事诉讼法》第七十八条之规定,\",\"style\":341,\"merge\":[0,11]},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":43},\"5\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":341,\"text\":\"经\",\"merge\":[0,1]},\"4\":{\"text\":\"${pdaibu.pname}\",\"style\":342,\"merge\":[0,9]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":47},\"6\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":344,\"text\":\" \",\"merge\":[0,2]},\"5\":{\"merge\":[0,3],\"text\":\"批准,兹由我局对涉嫌\",\"style\":338},\"9\":{\"text\":\"${pdaibu.shiqing}\",\"style\":347,\"merge\":[0,4]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":49},\"7\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":341,\"text\":\"的\"},\"3\":{\"text\":\"${pdaibu.fname}\",\"style\":345,\"merge\":[0,1]},\"5\":{\"text\":\"(性别\",\"style\":343},\"6\":{\"text\":\"${pdaibu.fsex}\",\"style\":347,\"merge\":[0,1]},\"8\":{\"style\":346,\"text\":\"出生日期\"},\"9\":{\"text\":\"${pdaibu.cdata}\",\"style\":345,\"merge\":[0,4]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":51},\"8\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"text\":\"${pdaibu.zhuzhi}\",\"style\":345,\"merge\":[0,7]},\"10\":{\"style\":341,\"text\":\"执行逮捕,送兰州\",\"merge\":[0,3]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":51},\"9\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":341,\"merge\":[0,6],\"text\":\"市经济侦查大队羁押。\"},\"9\":{\"style\":341,\"text\":\" \"},\"10\":{\"style\":341,\"merge\":[5,1],\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":57},\"10\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"4\":{\"style\":338,\"virtual\":\"DId4FGTLnP3vfp4y\",\"text\":\" \"},\"5\":{\"style\":338,\"virtual\":\"DId4FGTLnP3vfp4y\",\"text\":\" \"},\"6\":{\"style\":338,\"virtual\":\"DId4FGTLnP3vfp4y\",\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":61},\"11\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"6\":{\"style\":376,\"merge\":[0,2],\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":83},\"12\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"merge\":[0,6],\"style\":338,\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":14},\"13\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":351,\"merge\":[0,5],\"text\":\" \"},\"8\":{\"style\":380,\"text\":\"公安局印\"},\"9\":{\"text\":\" \",\"virtual\":\"XefZfpEcdS3wI6Ae\"},\"10\":{\"text\":\" \",\"virtual\":\"XefZfpEcdS3wI6Ae\"},\"11\":{\"text\":\" \",\"virtual\":\"XefZfpEcdS3wI6Ae\"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":89},\"14\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":21},\"15\":{\"cells\":{\"1\":{\"style\":415,\"text\":\" \"},\"2\":{\"style\":416,\"text\":\" \"},\"3\":{\"style\":417,\"text\":\" \"},\"4\":{\"style\":417,\"text\":\" \"},\"5\":{\"style\":417,\"text\":\" \"},\"6\":{\"text\":\"${pdaibu.gdata}\",\"style\":421,\"merge\":[0,6]},\"13\":{\"style\":417,\"text\":\" \"},\"14\":{\"style\":419,\"text\":\" \"}},\"isDrag\":true,\"height\":168},\"len\":88,\"-1\":{\"cells\":{\"1\":{\"text\":\"#{daibu.fdata}\"},\"-1\":{\"text\":\"#{pdaibu.shiqing}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":709,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"left\"},{\"align\":\"left\",\"underline\":true},{\"underline\":true},{\"align\":\"center\",\"underline\":true},{\"align\":\"center\"},{\"align\":\"center\",\"underline\":false},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"bold\":false}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":10}},{\"font\":{\"size\":10,\"bold\":true}},{\"font\":{\"size\":10,\"bold\":true},\"align\":\"center\"},{\"font\":{\"size\":18,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18}},{\"font\":{\"size\":16,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"font\":{\"size\":12},\"valign\":\"bottom\"},{\"font\":{\"size\":12},\"valign\":\"middle\"},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"dashed\",\"#000\"]}},{\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":12,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"size\":14,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"}},{\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"}},{\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":10,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\",\"align\":\"right\"},{\"align\":\"right\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"left\",\"valign\":\"top\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"align\":\"right\"},{\"font\":{\"size\":12,\"name\":\"Lato\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"align\":\"right\"},{\"font\":{\"size\":12,\"name\":\"Lato\",\"bold\":true},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":12}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"valign\":\"top\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"Lato\",\"size\":14},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":14},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"name\":\"Lato\",\"size\":14},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"align\":\"left\",\"valign\":\"top\",\"font\":{\"size\":14}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"name\":\"Lato\",\"size\":14},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14}},{\"font\":{\"size\":14},\"align\":\"center\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12},\"align\":\"center\"},{\"align\":\"left\",\"valign\":\"middle\",\"font\":{\"size\":14}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":24}},{\"font\":{\"size\":24}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":22}},{\"font\":{\"size\":22}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18}},{\"font\":{\"size\":18}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":true}},{\"font\":{\"size\":18,\"bold\":true}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":true},\"align\":\"center\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\"},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\"},{\"font\":{\"size\":14,\"bold\":true}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\"},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"valign\":\"bottom\",\"align\":\"right\"},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14},\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"border\":{\"left\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"font\":{\"size\":12},\"align\":\"center\",\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"align\":\"right\",\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"font\":{\"size\":12},\"align\":\"right\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":18},\"1\":{\"width\":21},\"2\":{\"width\":27},\"3\":{\"width\":6},\"4\":{\"width\":87},\"5\":{\"width\":51},\"6\":{\"width\":51},\"7\":{\"width\":1},\"8\":{\"width\":86},\"9\":{\"width\":163},\"10\":{\"width\":1},\"11\":{\"width\":60},\"12\":{\"width\":45},\"13\":{\"width\":49},\"14\":{\"width\":23},\"15\":{\"width\":20},\"len\":50},\"merges\":[\"D8:E8\",\"C6:D6\",\"C10:I10\",\"G8:H8\",\"C9:J9\",\"C1:L1\",\"K10:L15\",\"C13:I13\",\"C14:H14\",\"F7:I7\",\"G12:I12\",\"G16:M16\",\"B4:N4\",\"C5:N5\",\"E6:N6\",\"J7:N7\",\"C7:E7\",\"K9:N9\",\"B2:O2\",\"B3:O3\",\"J8:N8\"],\"imgList\":[{\"row\":13,\"col\":9,\"width\":\"168\",\"height\":\"158\",\"src\":\"https://static.jeecg.com/designreport/images/QQ截图20210105214919_1610075317075.png\",\"layer_id\":\"XefZfpEcdS3wI6Ae\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[13,9],[13,10],[13,11]]}]}', '', 'https://static.jeecg.com/designreport/images/逮捕令_1607070625878.png', 'jeecg', '2020-07-10 13:38:40', 'admin', '2021-04-05 18:47:36', 0, NULL, NULL, 1, 2513, NULL, NULL, NULL, NULL, 0, NULL); -INSERT INTO `jimu_report` VALUES ('f6ee801e8bdc28ba9d63f95dc65ccd79', '4556633', '采购单', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"f6ee801e8bdc28ba9d63f95dc65ccd79\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"采购单\",\"style\":21,\"merge\":[0,6]}},\"height\":89},\"1\":{\"cells\":{\"1\":{\"text\":\"产品名称\",\"style\":23},\"2\":{\"text\":\"产品数量\",\"style\":23},\"3\":{\"text\":\"单价\",\"style\":23},\"4\":{\"text\":\"库存量\",\"style\":23},\"5\":{\"text\":\"库存总值\",\"style\":23},\"6\":{\"text\":\"订购量\",\"style\":23},\"7\":{\"text\":\"二次订购量\",\"style\":23}},\"height\":45},\"2\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"#{caigou.cname}\"},\"2\":{\"style\":24,\"text\":\"#{caigou.cnum}\"},\"3\":{\"style\":24,\"text\":\"#{caigou.cprice}\"},\"4\":{\"style\":24,\"text\":\"#{caigou.ctotal}\"},\"5\":{\"style\":24,\"text\":\"#{caigou.tp}\"},\"6\":{\"style\":24,\"text\":\"#{caigou.dtotal}\"},\"7\":{\"style\":24,\"text\":\"#{caigou.ztotal}\"}},\"height\":26},\"5\":{\"cells\":{\"1\":{\"text\":\"\"}},\"isDrag\":true},\"6\":{\"cells\":{\"1\":{\"text\":\"\"}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"text\":\"\"},\"2\":{\"text\":\"\"}},\"isDrag\":true},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":682,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"size\":18}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#9cc2e6\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":43},\"1\":{\"width\":114},\"2\":{\"width\":109},\"3\":{\"width\":78},\"4\":{\"width\":77},\"5\":{\"width\":84},\"6\":{\"width\":82},\"7\":{\"width\":95},\"len\":50},\"merges\":[\"B1:H1\"]}', '', 'https://static.jeecg.com/designreport/images/caigou_1607310279439.png', 'jeecg', '2020-07-28 16:54:44', 'admin', '2021-04-01 03:09:41', 0, NULL, NULL, 1, 1252, NULL, NULL, NULL, NULL, 0, NULL); +INSERT INTO `jimu_report` VALUES ('1080630641874206720', '20240117141013__7486', '主子报表循环块副本7486', NULL, NULL, '0', '{\"loopBlockList\":[{\"sci\":0,\"sri\":0,\"eci\":8,\"eri\":36,\"index\":1,\"db\":\"aa\"}],\"area\":{\"sri\":9,\"sci\":11,\"eri\":9,\"eci\":11,\"width\":100,\"height\":25},\"excel_config_id\":\"907480464532770816\",\"printConfig\":{\"layout\":\"portrait\",\"paginationShow\":false,\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"paginationLocation\":\"middle\",\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":8,\"text\":\"订货商信息\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":57},\"1\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单编号:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,2],\"style\":42,\"text\":\"#{aa.order_code}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"2\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单地址:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.descc}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.order_date}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"3\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单姓名:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_by}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"到货日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_time}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":31},\"4\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"5\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"merge\":[0,6],\"style\":31,\"text\":\"订单详情\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1},\"6\":{\"loopBlock\":1},\"7\":{\"loopBlock\":1},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":51},\"6\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品编码\"},\"2\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品名称\"},\"3\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售时间\"},\"4\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售数据量\"},\"5\":{\"loopBlock\":1,\"style\":15,\"text\":\"定价\"},\"6\":{\"loopBlock\":1,\"style\":15,\"text\":\"优惠价\"},\"7\":{\"loopBlock\":1,\"style\":15,\"text\":\"付款金额\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":42},\"7\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"2\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"3\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"4\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.num}\"},\"5\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"style\":19,\"text\":\"#{bb.price}\"},\"6\":{\"loopBlock\":1,\"decimalPlaces\":\"1\",\"style\":19,\"text\":\"#{bb.price}\"},\"7\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.pro_type}\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"8\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"9\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"10\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":39,\"text\":\"备注:\"},\"2\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":34,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":25},\"11\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":41,\"text\":\"1、查看信息,在浏览器输入“?did=1”或“?did=2”\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":37},\"12\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":35,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"style\":36,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"13\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":37,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":38,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"14\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"15\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"16\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"17\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"18\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"19\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"20\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"21\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"22\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"23\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"24\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"25\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"26\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"27\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"28\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"29\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"30\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"31\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"32\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"33\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"34\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"35\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"36\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"len\":102},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":682,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"font\":{\"size\":18}},{\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"number\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"normal\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":18,\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]}},{\"valign\":\"bottom\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"bottom\",\"align\":\"left\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"bottom\":[\"thin\",\"#595959\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":39},\"1\":{\"width\":73},\"2\":{\"width\":89},\"3\":{\"width\":101},\"4\":{\"width\":80},\"8\":{\"width\":29},\"len\":100},\"merges\":[\"B1:H1\",\"C2:E2\",\"C3:D3\",\"F3:G3\",\"C4:D4\",\"F4:G4\",\"B6:H6\",\"B12:H12\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1617266678584.png', 'admin', '2025-05-09 09:27:12', NULL, NULL, 0, NULL, NULL, 0, 4, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1110348597759606784', '20250730093712', '测试报表0730', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[],\"conditions\":{\"rows\":{},\"cols\":{}}},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"dicts\":[],\"fillFormToolbar\":{\"show\":true,\"btnList\":[\"save\",\"subTable_add\",\"verify\",\"subTable_del\",\"print\",\"close\",\"first\",\"prev\",\"next\",\"paging\",\"total\",\"last\",\"exportPDF\",\"exportExcel\",\"exportWord\"]},\"freeze\":\"A1\",\"dataRectWidth\":300,\"autofilter\":{},\"validations\":[],\"cols\":{\"len\":50},\"area\":{\"sri\":5,\"sci\":1,\"eri\":5,\"eci\":1,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"1110348597759606784\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"2\":{\"cells\":{\"1\":{\"text\":\"日期\"},\"2\":{\"text\":\"访问次数\"}}},\"3\":{\"cells\":{\"1\":{\"text\":\"#{syslog.visit_date}\"},\"2\":{\"text\":\"#{syslog.visit_count}\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2025-07-30 09:37:13', 'admin', '2025-07-30 10:12:01', 0, NULL, NULL, 0, 5, NULL, NULL, NULL, '0', 0, 0, NULL); +INSERT INTO `jimu_report` VALUES ('1314846205892759552', '20201010163252', 'XXX有限公司员工登记表', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":10,\"sci\":11,\"eri\":10,\"eci\":11,\"width\":85,\"height\":38},\"excel_config_id\":\"1314846205892759552\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[0,8]},\"9\":{}},\"height\":22},\"1\":{\"cells\":{\"1\":{\"style\":87,\"text\":\" \"},\"2\":{\"style\":87,\"text\":\" \"},\"3\":{\"style\":87,\"text\":\" \"},\"4\":{\"style\":87,\"text\":\" \"},\"5\":{\"style\":87,\"text\":\" \"},\"6\":{\"style\":87,\"text\":\" \"},\"7\":{\"style\":87,\"text\":\" \"},\"8\":{\"style\":87,\"text\":\" \"}},\"height\":24},\"2\":{\"cells\":{\"0\":{\"text\":\"所在部门\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.department}\",\"style\":23,\"merge\":[0,2]},\"4\":{\"text\":\"职务\",\"style\":93},\"5\":{\"text\":\"${yuangongjiben.post}\",\"style\":23},\"6\":{\"text\":\"填写日期\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.data}\",\"style\":23,\"merge\":[0,1]}},\"isDrag\":true,\"height\":36},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.name}\",\"style\":23},\"2\":{\"text\":\"性别\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.sex}\",\"style\":23},\"4\":{\"text\":\"出生日期\",\"style\":93},\"5\":{\"text\":\"${yuangongjiben.birth}\",\"style\":23},\"6\":{\"text\":\"政治面貌\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.political}\",\"style\":130,\"merge\":[0,1]}},\"isDrag\":true,\"height\":33},\"4\":{\"cells\":{\"0\":{\"text\":\"机关\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.office}\",\"style\":23},\"2\":{\"style\":93,\"text\":\"民族\"},\"3\":{\"text\":\"${yuangongjiben.nation}\",\"style\":23},\"4\":{\"style\":93,\"text\":\"健康状况\"},\"5\":{\"text\":\"${yuangongjiben.health}\",\"style\":23},\"6\":{\"style\":93,\"text\":\"户籍类型\",\"virtual\":\"1KT8bnqRT4bi8Z7b\"},\"7\":{\"text\":\"${yuangongjiben.register}\",\"style\":26,\"virtual\":\"1KT8bnqRT4bi8Z7b\"},\"8\":{\"merge\":[3,0],\"height\":104,\"style\":35,\"text\":\" \",\"virtual\":\"cvkWDQVZhfJPgcS4\"}},\"isDrag\":true,\"height\":31},\"5\":{\"cells\":{\"0\":{\"text\":\"最高学历\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.education}\",\"style\":23},\"2\":{\"text\":\"所学专业\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.major}\",\"style\":23,\"merge\":[0,2]},\"6\":{\"text\":\"毕业时间\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.gdata}\",\"style\":23}},\"isDrag\":true,\"height\":35},\"6\":{\"cells\":{\"0\":{\"text\":\"电子邮箱\",\"style\":93},\"1\":{\"text\":\"${yuangongjiben.mailbox}\",\"style\":23},\"2\":{\"text\":\"手机号\",\"style\":93},\"3\":{\"text\":\"${yuangongjiben.telphone}\",\"style\":23,\"merge\":[0,2]},\"6\":{\"text\":\"家庭电话\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.homephone}\",\"style\":23}},\"isDrag\":true,\"height\":38},\"7\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"第一次参加工作时间\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.pworktime}\",\"style\":133,\"merge\":[0,2]},\"5\":{\"style\":93,\"text\":\"入职时间\"},\"6\":{\"text\":\"${yuangongjiben.entrytime}\",\"style\":24,\"merge\":[0,1]}},\"isDrag\":true,\"height\":27},\"8\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"毕业院校\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.school}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"style\":93,\"text\":\"身份证号\"},\"6\":{\"text\":\"${yuangongjiben.idcard}\",\"style\":24,\"merge\":[0,2]}},\"isDrag\":true,\"height\":34},\"9\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"入党(团)时间、地点\",\"style\":94},\"2\":{\"text\":\"${yuangongjiben.entrytime}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"text\":\"婚姻状况\",\"style\":93},\"6\":{\"text\":\"${yuangongjiben.marital}\",\"style\":23},\"7\":{\"text\":\"有无子女\",\"style\":93},\"8\":{\"text\":\"${yuangongjiben.children}\",\"style\":23}},\"isDrag\":true,\"height\":33},\"10\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"户口所在街道名称\",\"style\":93},\"2\":{\"text\":\"${yuangongjiben.hukoustreet}\",\"style\":24,\"merge\":[0,2]},\"5\":{\"merge\":[0,1],\"text\":\"户口所在地邮编\",\"style\":93},\"7\":{\"text\":\"${yuangongjiben.hukounum}\",\"style\":23,\"merge\":[0,1]}},\"isDrag\":true,\"height\":38},\"11\":{\"cells\":{\"0\":{\"text\":\"户口所在地地址\",\"style\":96,\"merge\":[2,1]},\"2\":{\"text\":\"${yuangongjiben.hukoudi}\",\"style\":26,\"merge\":[2,6]}},\"isDrag\":true},\"12\":{\"cells\":{}},\"13\":{\"cells\":{\"11\":{\"text\":\"\"}},\"isDrag\":true},\"14\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"现居住地址\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.currentdi}\",\"style\":26,\"merge\":[0,2]},\"5\":{\"style\":98,\"merge\":[0,1],\"text\":\"现居住地址邮编\"},\"7\":{\"text\":\"${yuangongjiben.currentnum}\",\"style\":26,\"merge\":[0,1]}},\"isDrag\":true,\"height\":33},\"15\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"是否参加社保\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.socialsecurity}\",\"style\":27,\"merge\":[0,1]},\"4\":{\"text\":\"有无公积金\",\"style\":98},\"5\":{\"text\":\"${yuangongjiben.providentfund}\",\"style\":27,\"merge\":[0,1]},\"7\":{\"text\":\"兴趣爱好\",\"style\":98},\"8\":{\"text\":\"${yuangongjiben.hobby}\",\"style\":27}},\"isDrag\":true,\"height\":34},\"16\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"参加社保类型\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.sbtype}\",\"style\":116,\"merge\":[0,6]}},\"isDrag\":true,\"height\":30},\"17\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"个人档案存放地\",\"style\":98},\"2\":{\"text\":\"${yuangongjiben.archivesdi}\",\"style\":116,\"merge\":[0,6]}},\"isDrag\":true,\"height\":33},\"18\":{\"cells\":{\"0\":{\"text\":\" \",\"style\":7},\"1\":{\"text\":\" \",\"style\":7},\"2\":{\"text\":\" \",\"style\":7},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7}}},\"19\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"学历、经历(从高中开始写)\",\"style\":99},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"20\":{\"cells\":{\"0\":{\"text\":\"由_年_月\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"至_年_月\",\"style\":38},\"4\":{\"merge\":[0,1],\"text\":\"就读学校\",\"style\":38},\"6\":{\"merge\":[0,1],\"text\":\"专业\",\"style\":38},\"8\":{\"text\":\"担任职务\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"21\":{\"cells\":{\"0\":{\"style\":90,\"merge\":[0,1],\"text\":\"#{xueli.kdate}\"},\"2\":{\"style\":90,\"text\":\"#{xueli.jdate}\",\"merge\":[0,1]},\"4\":{\"style\":90,\"text\":\"#{xueli.jstudent}\",\"merge\":[0,1]},\"6\":{\"style\":90,\"text\":\"#{xueli.zhuanye}\",\"merge\":[0,1]},\"8\":{\"style\":90,\"text\":\"#{xueli.zhiwu}\"},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"22\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"23\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"工作经历\",\"style\":124},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":27},\"24\":{\"cells\":{\"0\":{\"text\":\"由_年_月\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"至_年_月\",\"style\":38},\"4\":{\"text\":\"工作单位及职称\",\"style\":38,\"merge\":[0,1]},\"6\":{\"merge\":[0,1],\"text\":\"证明人\",\"style\":38},\"8\":{\"text\":\"联系方式\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"25\":{\"cells\":{\"0\":{\"text\":\"#{uu.kdate}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{uu.jdate}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{uu.jstudent}\",\"style\":90,\"merge\":[0,1]},\"6\":{\"text\":\"#{uu.zmname}\",\"style\":90,\"merge\":[0,1]},\"8\":{\"text\":\"#{uu.zmphone}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"26\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"27\":{\"cells\":{\"0\":{\"merge\":[0,4],\"text\":\"职称/资格、证书\",\"style\":125},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":46},\"28\":{\"cells\":{\"0\":{\"text\":\"发证时间\",\"merge\":[0,1],\"style\":36},\"2\":{\"merge\":[0,1],\"text\":\"职称名称\",\"style\":38},\"4\":{\"text\":\"级别\",\"style\":38,\"merge\":[0,1]},\"6\":{\"text\":\"发证单位\",\"style\":38,\"merge\":[0,1]},\"8\":{\"text\":\"备注\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"29\":{\"cells\":{\"0\":{\"text\":\"#{zhengshu.fdate}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{zhengshu.zcname}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{zhengshu.jibie}\",\"style\":90,\"merge\":[0,1]},\"6\":{\"text\":\"#{zhengshu.danwei}\",\"style\":90,\"merge\":[0,1]},\"8\":{\"text\":\"#{zhengshu.beizhu}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"30\":{\"cells\":{\"0\":{\"style\":7,\"text\":\" \"},\"1\":{\"style\":7,\"text\":\" \"},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}}},\"31\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"家庭成员\",\"style\":125},\"2\":{\"style\":7,\"text\":\" \"},\"3\":{\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\" \"},\"5\":{\"style\":7,\"text\":\" \"},\"6\":{\"style\":7,\"text\":\" \"},\"7\":{\"style\":7,\"text\":\" \"},\"8\":{\"style\":7,\"text\":\" \"},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":42},\"32\":{\"cells\":{\"0\":{\"merge\":[0,1],\"text\":\"姓名\",\"style\":38},\"2\":{\"merge\":[0,1],\"text\":\"关系\",\"style\":38},\"4\":{\"text\":\"年龄\",\"style\":38},\"5\":{\"text\":\"工作单位\",\"style\":38,\"merge\":[0,1]},\"7\":{\"text\":\"政治面貌\",\"style\":38},\"8\":{\"text\":\"联系方式\",\"style\":38},\"9\":{\"style\":112,\"text\":\" \"}}},\"33\":{\"cells\":{\"0\":{\"text\":\"#{jtcy.name}\",\"style\":90,\"merge\":[0,1]},\"2\":{\"text\":\"#{jtcy.guanxi}\",\"style\":90,\"merge\":[0,1]},\"4\":{\"text\":\"#{jtcy.age}\",\"style\":90},\"5\":{\"text\":\"#{jtcy.danwei}\",\"style\":90,\"merge\":[0,1]},\"7\":{\"text\":\"#{jtcy.zzmm}\",\"style\":90},\"8\":{\"text\":\"#{jtcy.phone}\",\"style\":90},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"34\":{\"cells\":{\"0\":{\"text\":\" \",\"style\":7},\"1\":{\"text\":\" \",\"style\":7},\"2\":{\"text\":\" \",\"style\":7},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7},\"9\":{\"style\":112,\"text\":\" \"}}},\"35\":{\"cells\":{\"0\":{\"merge\":[0,2],\"text\":\"所获奖励\",\"style\":125},\"3\":{\"text\":\" \",\"style\":7},\"4\":{\"text\":\" \",\"style\":7},\"5\":{\"text\":\" \",\"style\":7},\"6\":{\"text\":\" \",\"style\":7},\"7\":{\"text\":\" \",\"style\":7},\"8\":{\"text\":\" \",\"style\":7},\"9\":{\"style\":112,\"text\":\" \"}},\"height\":47},\"36\":{\"cells\":{\"0\":{\"text\":\"时间\",\"style\":90,\"merge\":[0,2]},\"3\":{\"style\":90,\"text\":\"地点\",\"merge\":[0,2]},\"6\":{\"style\":90,\"text\":\"所获得的奖励名称\",\"merge\":[0,2]},\"9\":{\"style\":112,\"text\":\" \"}}},\"37\":{\"cells\":{\"0\":{\"text\":\"#{jiangli.date}\",\"style\":90,\"merge\":[0,2]},\"3\":{\"text\":\"#{jiangli.didian}\",\"style\":90,\"merge\":[0,2]},\"6\":{\"text\":\"#{jiangli.mingcheng}\",\"style\":90,\"merge\":[0,2]},\"9\":{\"style\":112,\"text\":\" \"}},\"isDrag\":true},\"len\":98},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":703,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"仿宋\"}},{\"font\":{\"name\":\"仿宋\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":12}},{\"font\":{\"name\":\"宋体\",\"size\":12}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":8}},{\"font\":{\"name\":\"宋体\",\"size\":8}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10}},{\"font\":{\"name\":\"宋体\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"隶书\",\"size\":10}},{\"font\":{\"name\":\"隶书\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"华文中宋\",\"size\":10}},{\"font\":{\"name\":\"华文中宋\",\"size\":10}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10}},{\"textwrap\":true},{\"textwrap\":true,\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":10}},{\"font\":{\"bold\":true,\"size\":10},\"align\":\"center\"},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\",\"size\":8}},{\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true,\"name\":\"宋体\"},\"border\":{\"top\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"top\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"left\",\"valign\":\"bottom\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"format\":\"datetime\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"format\":\"datetime\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"format\":\"normal\"},{\"font\":{\"name\":\"宋体\",\"size\":10},\"format\":\"normal\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":73},\"1\":{\"width\":71},\"2\":{\"width\":69},\"3\":{\"width\":89},\"4\":{\"width\":64},\"5\":{\"width\":47},\"6\":{\"width\":68},\"7\":{\"width\":100},\"8\":{\"width\":103},\"9\":{\"width\":19},\"10\":{\"width\":146},\"11\":{\"width\":85},\"len\":50},\"merges\":[\"H3:I3\",\"B3:D3\",\"A2:I2\",\"D6:F6\",\"D7:F7\",\"A8:B8\",\"G8:H8\",\"A9:B9\",\"A10:B10\",\"C10:E10\",\"C8:E8\",\"C9:E9\",\"A11:B11\",\"C11:E11\",\"F11:G11\",\"H11:I11\",\"C12:I14\",\"A15:B15\",\"C15:E15\",\"F15:G15\",\"H15:I15\",\"A16:B16\",\"A17:B17\",\"A18:B18\",\"C17:I17\",\"C18:I18\",\"A20:E20\",\"A21:B21\",\"C21:D21\",\"E21:F21\",\"G21:H21\",\"A22:B22\",\"A24:E24\",\"A25:B25\",\"C25:D25\",\"G25:H25\",\"A26:B26\",\"A28:E28\",\"A29:B29\",\"C29:D29\",\"A30:B30\",\"A32:B32\",\"A33:B33\",\"C33:D33\",\"A34:B34\",\"C34:D34\",\"A36:C36\",\"C16:D16\",\"F16:G16\",\"QAAAAAACI1:JAAAAAABJ38\",\"A1:I1\",\"H4:I4\",\"G9:I9\",\"G22:H22\",\"E22:F22\",\"C22:D22\",\"C26:D26\",\"G26:H26\",\"C30:D30\",\"G30:H30\",\"E30:F30\",\"D37:F37\",\"D38:F38\",\"A38:C38\",\"A37:C37\",\"G37:I37\",\"G38:I38\",\"E29:F29\",\"G29:H29\",\"E25:F25\",\"E26:F26\",\"F33:G33\",\"F34:G34\",\"A12:B14\",\"I5:I8\"],\"imgList\":[{\"row\":4,\"col\":8,\"width\":\"101\",\"height\":\"128\",\"src\":\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/QQ截图20210115102648_1610694177544_1617244906979.png\",\"layer_id\":\"cvkWDQVZhfJPgcS4\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[4,8]]}]}', NULL, 'https://static.jeecg.com/designreport/images/1122_1607312336469.png', 'admin', '2020-10-10 16:32:53', 'admin', '2021-04-01 02:42:07', 0, NULL, NULL, 1, 609, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1316944968992034816', '20201016113231', '员工信息登记', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1316944968992034816\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"0\":{\"text\":\"员工信息登记表\",\"merge\":[0,6],\"style\":28},\"1\":{\"style\":21,\"text\":\" \"},\"2\":{\"style\":21,\"text\":\" \"},\"3\":{\"style\":21,\"text\":\" \"},\"4\":{\"style\":21,\"text\":\" \"},\"5\":{\"style\":21,\"text\":\" \"},\"6\":{\"style\":21,\"text\":\" \"}},\"height\":46},\"2\":{\"cells\":{\"0\":{\"text\":\"编号:\",\"style\":29},\"1\":{\"text\":\"${employee.num}\",\"style\":30,\"merge\":[0,3]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\"填写日期:\",\"style\":29},\"6\":{\"text\":\"${employee.create_time}\",\"style\":36}},\"isDrag\":true,\"height\":44},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名:\",\"style\":29},\"1\":{\"text\":\"${employee.name}\",\"style\":30},\"2\":{\"text\":\"性别:\",\"style\":29},\"3\":{\"text\":\"${employee.sex}\",\"style\":30},\"4\":{\"text\":\"出生年月:\",\"style\":29},\"5\":{\"text\":\"${employee.birthday}\",\"style\":36},\"6\":{\"style\":3,\"text\":\" \",\"merge\":[4,0],\"virtual\":\"Ym8ny6lYTdutY5tT\"}},\"isDrag\":true,\"height\":42},\"4\":{\"cells\":{\"0\":{\"text\":\"民族:\",\"style\":29},\"1\":{\"text\":\"${employee.nation}\",\"style\":30},\"2\":{\"text\":\"政治面貌:\",\"style\":29},\"3\":{\"text\":\"${employee.political}\",\"style\":30},\"4\":{\"text\":\"籍贯:\",\"style\":29},\"5\":{\"text\":\"${employee.native_place}\",\"style\":30}},\"isDrag\":true,\"height\":38},\"5\":{\"cells\":{\"0\":{\"text\":\"身高(cm):\",\"style\":29},\"1\":{\"text\":\"${employee.height}\",\"style\":30},\"2\":{\"text\":\"体重(kg):\",\"style\":29},\"3\":{\"text\":\"${employee.weight}\",\"style\":30},\"4\":{\"text\":\"健康状况:\",\"style\":29},\"5\":{\"text\":\"${employee.health}\",\"style\":30}},\"isDrag\":true,\"height\":38},\"6\":{\"cells\":{\"0\":{\"text\":\"身份证号:\",\"style\":29},\"1\":{\"text\":\"${employee.id_card}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"学历:\",\"style\":29},\"5\":{\"text\":\"${employee.education}\",\"style\":30}},\"isDrag\":true,\"height\":40},\"7\":{\"cells\":{\"0\":{\"text\":\"毕业学校:\",\"style\":29},\"1\":{\"text\":\"${employee.school}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"专业:\",\"style\":29},\"5\":{\"text\":\"${employee.major}\",\"style\":30}},\"isDrag\":true,\"height\":44},\"8\":{\"cells\":{\"0\":{\"text\":\"联系地址:\",\"style\":29},\"1\":{\"text\":\"${employee.address}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"邮编:\",\"style\":29},\"5\":{\"text\":\"${employee.zip_code}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":45},\"9\":{\"cells\":{\"0\":{\"text\":\"Email:\",\"style\":29},\"1\":{\"text\":\"${employee.email}\",\"style\":30,\"merge\":[0,2]},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\"手机号:\",\"style\":29},\"5\":{\"text\":\"${employee.phone}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":40},\"10\":{\"cells\":{\"0\":{\"text\":\"外语语种:\",\"style\":29},\"1\":{\"text\":\"${employee.foreign_language}\",\"style\":30},\"2\":{\"text\":\"外语水平:\",\"style\":29},\"3\":{\"text\":\"${employee.foreign_language_level}\",\"style\":30},\"4\":{\"text\":\"计算机水平:\",\"style\":29},\"5\":{\"text\":\"${employee.computer_level}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":41},\"11\":{\"cells\":{\"0\":{\"text\":\"毕业时间:\",\"style\":29},\"1\":{\"text\":\"${employee.graduation_time}\",\"style\":34},\"2\":{\"text\":\"到职时间:\",\"style\":29},\"3\":{\"text\":\"${employee.arrival_time}\",\"style\":34},\"4\":{\"text\":\"职称:\",\"style\":29},\"5\":{\"text\":\"${employee.positional_titles}\",\"style\":30,\"merge\":[0,1]},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":42},\"12\":{\"cells\":{\"0\":{\"text\":\"教育经历:\",\"style\":32},\"1\":{\"text\":\"\",\"style\":35,\"merge\":[0,5]},\"2\":{\"text\":\" \",\"style\":40},\"3\":{\"text\":\" \",\"style\":40},\"4\":{\"text\":\" \",\"style\":40},\"5\":{\"text\":\" \",\"style\":40},\"6\":{\"text\":\" \",\"style\":40}},\"isDrag\":true,\"height\":39},\"13\":{\"cells\":{\"0\":{\"text\":\"${employee.education_experience}\",\"style\":33,\"merge\":[0,6]},\"1\":{\"style\":27,\"text\":\" \"},\"2\":{\"style\":27,\"text\":\" \"},\"3\":{\"style\":27,\"text\":\" \"},\"4\":{\"style\":27,\"text\":\" \"},\"5\":{\"style\":27,\"text\":\" \"},\"6\":{\"style\":27,\"text\":\" \"}},\"isDrag\":true,\"height\":70},\"14\":{\"cells\":{\"0\":{\"text\":\"工作经历:\",\"style\":32},\"1\":{\"merge\":[0,5],\"style\":30,\"text\":\" \"},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\" \",\"style\":24},\"6\":{\"text\":\" \",\"style\":24}},\"height\":43},\"15\":{\"cells\":{\"0\":{\"text\":\"${employee.work_experience}\",\"style\":30,\"merge\":[0,6]},\"1\":{\"text\":\" \",\"style\":24},\"2\":{\"text\":\" \",\"style\":24},\"3\":{\"text\":\" \",\"style\":24},\"4\":{\"text\":\" \",\"style\":24},\"5\":{\"text\":\" \",\"style\":24},\"6\":{\"text\":\" \",\"style\":24}},\"isDrag\":true,\"height\":61},\"17\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":37}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\"],\"freeze\":\"A1\",\"dataRectWidth\":712,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date\"},{\"format\":\"date2\"},{\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"time\"},{\"font\":{\"name\":\"宋体\"},\"format\":\"normal\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":79},\"1\":{\"width\":92},\"2\":{\"width\":76},\"3\":{\"width\":106},\"5\":{\"width\":123},\"6\":{\"width\":136},\"len\":50},\"merges\":[\"A2:G2\",\"B3:E3\",\"B7:D7\",\"B8:D8\",\"B9:D9\",\"B10:D10\",\"F9:G9\",\"F10:G10\",\"F11:G11\",\"F12:G12\",\"B13:G13\",\"A14:G14\",\"B15:G15\",\"A16:G16\",\"G4:G8\"],\"imgList\":[{\"row\":3,\"col\":6,\"width\":\"135\",\"height\":\"192\",\"src\":\"https://static.jeecg.com/designreport/images/QQ截图20210108095848_1610071294294.png\",\"layer_id\":\"Ym8ny6lYTdutY5tT\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[3,6]]}]}', NULL, 'https://static.jeecg.com/designreport/images/1133_1607312428261.png', 'admin', '2020-10-16 11:32:32', 'admin', '2021-02-03 13:59:35', 0, NULL, NULL, 1, 1413, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1331503965770223616', '20201125155042', '房屋销售综合展示大屏', NULL, NULL, '984302961118724096', '{\"loopBlockList\":[],\"chartList\":[{\"row\":1,\"col\":1,\"width\":\"338\",\"height\":\"378\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"缤纷南郡\\\",\\\"中航华府\\\",\\\"3中家属楼\\\",\\\"幸福家园\\\",\\\"水晶国际\\\",\\\"绿城小区\\\",\\\"缤纷南郡二期\\\",\\\"国奥家园\\\",\\\"西西胡同\\\",\\\"融创学府\\\",\\\"蓝湾国际\\\",\\\"广发小区\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":60,\\\"left\\\":71,\\\"bottom\\\":39,\\\"right\\\":29},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[2,2,2,3,4,3,3,5,2,7,4,8],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#67994B\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"各楼盘成交量排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/bg1_1606961907450_1617248229528.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331511745851731969\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengjiao\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"5ggWQtDUvSopC4iL\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,1],[1,2],[1,3]]},{\"row\":1,\"col\":12,\"width\":\"327\",\"height\":\"152\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":34,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"高层\\\",\\\"小高层\\\",\\\"写字楼\\\",\\\"厂房\\\",\\\"公寓\\\",\\\"别墅\\\",\\\"厂房\\\",\\\"四合院\\\",\\\"loft\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":50,\\\"left\\\":30,\\\"bottom\\\":44,\\\"right\\\":24},\\\"series\\\":[{\\\"areaStyle\\\":null,\\\"data\\\":[20,25,10,5,9,1,5,1,20],\\\"showSymbol\\\":true,\\\"lineStyle\\\":{\\\"width\\\":2},\\\"symbolSize\\\":5,\\\"isArea\\\":false,\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#D04672\\\"},\\\"step\\\":false,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"line\\\",\\\"smooth\\\":true}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"房形分析\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1607938818911.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331922734933987329\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"fangyuan\",\"chartType\":\"line.smooth\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"nk6I2RCefm9scS1k\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,12],[1,13],[1,14],[1,15]]},{\"row\":7,\"col\":12,\"width\":\"324\",\"height\":\"215\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"1室\\\",\\\"2室\\\",\\\"3室\\\",\\\"4室\\\",\\\"5室\\\"],\\\"top\\\":\\\"bottom\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"right\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"1室\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(53,165,180,1)\\\"}},{\\\"name\\\":\\\"2室\\\",\\\"value\\\":30,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(60,140,198,1)\\\"}},{\\\"name\\\":\\\"3室\\\",\\\"value\\\":20,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(93,144,81,1)\\\"}},{\\\"name\\\":\\\"4室\\\",\\\"value\\\":5,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(191,146,68,1)\\\"}},{\\\"name\\\":\\\"5室\\\",\\\"value\\\":3,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"160\\\",\\\"120\\\"],\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":\\\"8\\\",\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"40%\\\",\\\"50%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同户型销售\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608536502813.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331919172472524801\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"huxingxiaoshou\",\"chartType\":\"pie.doughnut\",\"isTiming\":true,\"intervalTime\":\"5\",\"id\":\"MCJP8uqwe57YoCvF\"},\"layer_id\":\"MCJP8uqwe57YoCvF\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,12],[7,13],[7,14],[7,15]]},{\"row\":7,\"col\":4,\"width\":\"662\",\"height\":\"222\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"1月\\\",\\\"2月\\\",\\\"3月\\\",\\\"4月\\\",\\\"5月\\\",\\\"6月\\\",\\\"7月\\\",\\\"8月\\\",\\\"9月\\\",\\\"10月\\\",\\\"11月\\\",\\\"12月\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#A98E8E\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"成交量\\\",\\\"成交价\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#FBF8F8\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"grid\\\":{\\\"top\\\":58,\\\"left\\\":30,\\\"bottom\\\":43,\\\"right\\\":32},\\\"series\\\":[{\\\"barWidth\\\":15,\\\"stack\\\":\\\"1\\\",\\\"data\\\":[10,7,5,5,7,9,3,6,5,8,6,6],\\\"name\\\":\\\"成交量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#37A5B1\\\",\\\"barBorderRadius\\\":13},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":7,\\\"typeData\\\":[{\\\"name\\\":\\\"成交量\\\",\\\"type\\\":\\\"\\\",\\\"_index\\\":0,\\\"_rowKey\\\":136,\\\"stack\\\":\\\"1\\\"},{\\\"name\\\":\\\"成交价\\\",\\\"type\\\":\\\"\\\",\\\"stack\\\":\\\"1\\\",\\\"_index\\\":1,\\\"_rowKey\\\":139}]},{\\\"barWidth\\\":15,\\\"stack\\\":\\\"1\\\",\\\"data\\\":[5,5,12,5,5,5,5,10,5,5,5,5],\\\"name\\\":\\\"成交价\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#2E72A7\\\",\\\"barBorderRadius\\\":13},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":7,\\\"typeData\\\":[{\\\"name\\\":\\\"成交量\\\",\\\"type\\\":\\\"\\\",\\\"_index\\\":0,\\\"_rowKey\\\":136,\\\"stack\\\":\\\"1\\\"},{\\\"name\\\":\\\"成交价\\\",\\\"type\\\":\\\"\\\",\\\"stack\\\":\\\"1\\\",\\\"_index\\\":1,\\\"_rowKey\\\":139}]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"成交量和成交价趋势\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/QQ截图20201207201434_1607343287788.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331872643531526146\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengjiao1\",\"chartType\":\"bar.stack\",\"chartId\":\"\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"Nf6Xud4fZqEfvQw4\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,4],[7,5],[7,6],[7,7],[7,8],[7,9],[7,10],[7,11]]},{\"row\":16,\"col\":12,\"width\":\"326\",\"height\":\"200\",\"config\":\"{\\\"radar\\\":[{\\\"indicator\\\":[{\\\"name\\\":\\\"房产证\\\",\\\"max\\\":520},{\\\"name\\\":\\\"购房发票\\\",\\\"max\\\":310},{\\\"name\\\":\\\"购房合同\\\",\\\"max\\\":380},{\\\"name\\\":\\\"预售合同\\\",\\\"max\\\":450},{\\\"name\\\":\\\"抵押合同\\\",\\\"max\\\":600},{\\\"name\\\":\\\"预收合同\\\",\\\"max\\\":350}],\\\"shape\\\":\\\"polygon\\\",\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"gray\\\",\\\"opacity\\\":0.5}},\\\"center\\\":[\\\"50%\\\",\\\"50%\\\"],\\\"name\\\":{\\\"formatter\\\":\\\"【{value}】\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#72ACD1\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"gray\\\",\\\"opacity\\\":0.5}}}],\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"售后产权\\\",\\\"单位产权\\\",\\\"个人产权\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"type\\\":\\\"radar\\\",\\\"data\\\":[{\\\"name\\\":\\\"售后产权\\\",\\\"value\\\":[43,100,280,350,500,250],\\\"areaStyle\\\":{\\\"color\\\":\\\"#3F9AFB\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"#2D8CF0\\\"}},{\\\"name\\\":\\\"单位产权\\\",\\\"value\\\":[190,50,140,280,310,150],\\\"areaStyle\\\":{\\\"color\\\":\\\"#A6F65C\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"#55FE4D\\\"}},{\\\"name\\\":\\\"个人产权\\\",\\\"value\\\":[420,210,160,0,120,130],\\\"areaStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\",\\\"opacity\\\":1},\\\"lineStyle\\\":{\\\"color\\\":\\\"rgba(188,69,117,1)\\\"}}]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同产权、证件成交量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#ffffff\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608274537110.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331916030221602818\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"btchanquan\",\"chartType\":\"radar.basic\",\"isTiming\":true,\"intervalTime\":\"10\",\"id\":\"IWoBtyiRxjkEbkfD\"},\"layer_id\":\"IWoBtyiRxjkEbkfD\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,12],[16,13],[16,14],[16,15]]},{\"row\":16,\"col\":1,\"width\":\"337\",\"height\":\"205\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"马小姐\\\",\\\"孙小姐\\\",\\\"王先生\\\",\\\"李先生\\\",\\\"赵小姐\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":55,\\\"left\\\":70,\\\"bottom\\\":40,\\\"right\\\":24},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[20,15,12,10,7],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#37A5B1\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"销售量成交排行榜\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1606961907450.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331514838211407873\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"cjpaihang\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\"},\"layer_id\":\"Cror94F1kmbP71ip\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,1],[16,2],[16,3]]},{\"row\":16,\"col\":4,\"width\":\"334\",\"height\":\"206\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"马小姐\\\",\\\"孙小姐\\\",\\\"王先生\\\",\\\"李先生\\\",\\\"赵小姐\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"房子\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":55,\\\"left\\\":56,\\\"bottom\\\":38,\\\"right\\\":30},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[20,15,12,10,7],\\\"name\\\":\\\"房子\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#2E72A7\\\",\\\"barBorderRadius\\\":7},\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[]}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"padding\\\":[5,20,5,20],\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"text\\\":\\\"销售员成交金额\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"14\\\",\\\"fontWeight\\\":\\\"normal\\\"},\\\"top\\\":10},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1606961918589.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331514838211407873\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"cjpaihang\",\"chartType\":\"bar.multi.horizontal\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartId\":\"\"},\"layer_id\":\"pBOwp0Q0g4iuJCVm\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,4],[16,5],[16,6],[16,7]]},{\"row\":16,\"col\":8,\"width\":\"324\",\"height\":\"206\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"简装\\\",\\\"中装\\\",\\\"精装\\\",\\\"豪装\\\",\\\"毛坯\\\"],\\\"top\\\":\\\"bottom\\\",\\\"orient\\\":\\\"vertical\\\",\\\"left\\\":\\\"left\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"简装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(52,158,172,1)\\\"}},{\\\"name\\\":\\\"中装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(56,131,185,1)\\\"}},{\\\"name\\\":\\\"精装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(103,153,75,1)\\\"}},{\\\"name\\\":\\\"豪装\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(230,165,55,1)\\\"}},{\\\"name\\\":\\\"毛坯\\\",\\\"value\\\":10,\\\"itemStyle\\\":{\\\"color\\\":\\\"\\\"}}],\\\"isRadius\\\":false,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"center\\\":[\\\"180\\\",\\\"100\\\"],\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":\\\"52%\\\",\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":10,\\\"text\\\":\\\"不同装修类型销售销量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#ffffff\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]},\\\"backgroundColor\\\":{\\\"src\\\":\\\"https://static.jeecg.com/designreport/images/bg1_1608535503498.png\\\"}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1331878107552010242\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"zhuangxiu\",\"chartType\":\"pie.simple\",\"isTiming\":true,\"intervalTime\":\"5\",\"id\":\"rQgkcYfLy4x0EP6h\"},\"layer_id\":\"rQgkcYfLy4x0EP6h\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[16,8],[16,9],[16,10],[16,11]]}],\"area\":{\"sri\":16,\"sci\":1,\"eri\":23,\"eci\":3,\"width\":340,\"height\":200},\"excel_config_id\":\"1331503965770223616\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\"},\"1\":{\"style\":60,\"merge\":[0,13],\"text\":\"房屋销售综合展示大屏\"}},\"height\":113},\"1\":{\"cells\":{\"1\":{\"merge\":[14,2],\"style\":43,\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"2\":{\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"3\":{\"text\":\" \",\"virtual\":\"5ggWQtDUvSopC4iL\"},\"4\":{\"style\":53,\"text\":\"成交量:\",\"merge\":[2,0],\"virtual\":\"5ggWQtDUvSopC4iL\"},\"5\":{\"text\":\"#{qingkuang.cjl}\",\"style\":64,\"merge\":[2,0]},\"7\":{\"style\":53,\"text\":\"成交金额:\",\"merge\":[2,0]},\"8\":{\"text\":\"#{qingkuang.cjje}\",\"style\":68,\"merge\":[2,0]},\"10\":{\"style\":53,\"text\":\"销售面积:\",\"merge\":[2,0]},\"11\":{\"text\":\"#{qingkuang.xsmj}\",\"style\":64,\"merge\":[2,0]},\"12\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"13\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"14\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"},\"15\":{\"text\":\" \",\"virtual\":\"nk6I2RCefm9scS1k\"}},\"isDrag\":true},\"2\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"3\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"4\":{\"cells\":{\"4\":{\"style\":58,\"text\":\"成交均价:\",\"merge\":[2,0]},\"5\":{\"text\":\"#{qingkuang.cjjj}\",\"style\":65,\"merge\":[2,0]},\"7\":{\"style\":58,\"text\":\"售房佣金:\",\"merge\":[2,0]},\"8\":{\"text\":\"#{qingkuang.sfyj}\",\"style\":65,\"merge\":[2,0]},\"10\":{\"style\":58,\"text\":\"预定客户:\",\"merge\":[2,0]},\"11\":{\"text\":\"#{qingkuang.ydkh}\",\"style\":65,\"merge\":[2,0]},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}},\"isDrag\":true,\"height\":25},\"5\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"6\":{\"cells\":{\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"7\":{\"cells\":{\"4\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"5\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"6\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"7\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"8\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"9\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"10\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"11\":{\"text\":\" \",\"virtual\":\"Nf6Xud4fZqEfvQw4\"},\"12\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"13\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"14\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"},\"15\":{\"text\":\" \",\"virtual\":\"MCJP8uqwe57YoCvF\"}}},\"8\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"9\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"10\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"11\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"12\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"13\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"14\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"15\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"16\":{\"cells\":{\"1\":{\"style\":43,\"text\":\" \",\"merge\":[7,2],\"virtual\":\"Cror94F1kmbP71ip\"},\"2\":{\"text\":\" \",\"virtual\":\"Cror94F1kmbP71ip\"},\"3\":{\"text\":\" \",\"virtual\":\"Cror94F1kmbP71ip\"},\"4\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"5\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"6\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"7\":{\"text\":\" \",\"virtual\":\"pBOwp0Q0g4iuJCVm\"},\"8\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"9\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"10\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"11\":{\"text\":\" \",\"virtual\":\"rQgkcYfLy4x0EP6h\"},\"12\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"13\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"14\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"},\"15\":{\"text\":\" \",\"virtual\":\"IWoBtyiRxjkEbkfD\"}}},\"17\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"18\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"19\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"20\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"21\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"22\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"23\":{\"cells\":{\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"24\":{\"cells\":{\"1\":{\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"text\":\" \"},\"13\":{\"text\":\" \"},\"14\":{\"text\":\" \"}}},\"len\":98},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1546,\"displayConfig\":{},\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/bg_1606961893275.png\",\"repeat\":\"repeat\",\"width\":\"\",\"height\":\"\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":18}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":18}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16}},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":16}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\"},{\"font\":{\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":14}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11}},{\"align\":\"right\",\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":11}},{\"align\":\"center\",\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true}},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":16},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":22},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"Microsoft YaHei\",\"size\":22},\"align\":\"center\",\"color\":\"#000100\"},{\"color\":\"#000100\",\"font\":{\"size\":22}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\"},{},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":true,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":11,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":11},\"color\":\"#ffffff\",\"border\":{\"right\":[\"thin\",\"#eee\"]}},{\"align\":\"right\",\"font\":{\"size\":16,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":15,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"right\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"font\":{\"bold\":true,\"name\":\"宋体\",\"size\":22},\"align\":\"center\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":22,\"name\":\"宋体\"}},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\",\"valign\":\"top\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"bgcolor\":\"#ffff01\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffffff\",\"bgcolor\":\"\"},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"color\":\"#ffff01\",\"bgcolor\":\"\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":117},\"3\":{\"width\":140},\"4\":{\"width\":136},\"5\":{\"width\":79},\"6\":{\"width\":1},\"7\":{\"width\":123},\"8\":{\"width\":102},\"9\":{\"width\":24},\"11\":{\"width\":100},\"14\":{\"width\":124},\"len\":50},\"merges\":[\"B2:D16\",\"E8:L16\",\"B17:D24\",\"E17:H24\",\"E2:E4\",\"F2:F4\",\"E5:E7\",\"F5:F7\",\"H2:H4\",\"H5:H7\",\"I5:I7\",\"I2:I4\",\"K2:K4\",\"L2:L4\",\"K5:K7\",\"L5:L7\",\"M17:O24\",\"B1:O1\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201125161646_1606705892603.png', 'admin', '2020-11-25 15:50:43', 'admin', '2021-04-01 03:37:15', 0, NULL, NULL, 1, 712, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1334378897302753280', '20201203140834', '区域销售表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1334378897302753280\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"区域销售表\",\"merge\":[0,22],\"style\":10},\"2\":{\"style\":10},\"3\":{\"style\":10},\"4\":{\"style\":10},\"5\":{\"style\":10},\"6\":{\"style\":10},\"7\":{\"style\":10},\"8\":{\"style\":10},\"9\":{\"style\":10},\"10\":{\"style\":10},\"11\":{\"style\":10},\"12\":{\"style\":10},\"13\":{\"style\":10},\"14\":{\"style\":10},\"15\":{\"style\":10},\"16\":{\"style\":10},\"17\":{\"style\":10},\"18\":{\"style\":10},\"19\":{\"style\":10},\"20\":{\"style\":10},\"21\":{\"style\":10},\"22\":{\"style\":10},\"23\":{\"style\":10}},\"height\":72},\"1\":{\"cells\":{\"0\":{\"style\":64},\"1\":{\"text\":\"区域\",\"merge\":[1,0],\"style\":65},\"2\":{\"text\":\"省份\",\"merge\":[1,0],\"style\":65},\"3\":{\"text\":\"1月\",\"merge\":[0,2],\"style\":65},\"4\":{\"style\":66,\"text\":\" \"},\"5\":{\"style\":66,\"text\":\" \"},\"6\":{\"text\":\"2月\",\"merge\":[0,2],\"style\":65},\"7\":{\"style\":66,\"text\":\" \"},\"8\":{\"style\":66,\"text\":\" \"},\"9\":{\"text\":\"3月\",\"merge\":[0,2],\"style\":65},\"10\":{\"style\":66,\"text\":\" \"},\"11\":{\"style\":66,\"text\":\" \"},\"12\":{\"text\":\"4月\",\"merge\":[0,2],\"style\":65},\"13\":{\"style\":66,\"text\":\" \"},\"14\":{\"style\":66,\"text\":\" \"},\"15\":{\"text\":\"5月\",\"merge\":[0,2],\"style\":65},\"16\":{\"style\":66,\"text\":\" \"},\"17\":{\"style\":66,\"text\":\" \"},\"18\":{\"text\":\"6月\",\"merge\":[0,2],\"style\":65},\"19\":{\"style\":66,\"text\":\" \"},\"20\":{\"style\":66,\"text\":\" \"},\"21\":{\"text\":\"总合计\",\"merge\":[0,2],\"style\":65},\"22\":{\"style\":66,\"text\":\" \"},\"23\":{\"style\":66,\"text\":\" \"},\"24\":{\"style\":64},\"25\":{\"style\":64}},\"height\":22},\"2\":{\"cells\":{\"0\":{\"style\":64},\"1\":{\"style\":66,\"text\":\" \"},\"2\":{\"style\":65,\"text\":\" \"},\"3\":{\"text\":\"销售额\",\"style\":65},\"4\":{\"text\":\"搭赠\",\"style\":65},\"5\":{\"text\":\"比例\",\"style\":65},\"6\":{\"text\":\"销售额\",\"style\":65},\"7\":{\"text\":\"搭赠\",\"style\":65},\"8\":{\"text\":\"比例\",\"style\":65},\"9\":{\"text\":\"销售额\",\"style\":65},\"10\":{\"text\":\"搭赠\",\"style\":65},\"11\":{\"text\":\"比例\",\"style\":65},\"12\":{\"text\":\"销售额\",\"style\":65},\"13\":{\"text\":\"搭赠\",\"style\":65},\"14\":{\"text\":\"比例\",\"style\":65},\"15\":{\"text\":\"销售额\",\"style\":65},\"16\":{\"text\":\"搭赠\",\"style\":65},\"17\":{\"text\":\"比例\",\"style\":65},\"18\":{\"text\":\"销售额\",\"style\":65},\"19\":{\"text\":\"搭赠\",\"style\":65},\"20\":{\"text\":\"比例\",\"style\":65},\"21\":{\"text\":\"销售额\",\"style\":65},\"22\":{\"text\":\"搭赠\",\"style\":65},\"23\":{\"text\":\"比例\",\"style\":65},\"24\":{\"style\":64},\"25\":{\"style\":64}},\"height\":24},\"3\":{\"cells\":{\"0\":{\"style\":67},\"1\":{\"text\":\"#{quyuxiaoshou.group(region)}\",\"style\":52,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{quyuxiaoshou.province}\",\"style\":53},\"3\":{\"text\":\"#{quyuxiaoshou.sales_1}\",\"style\":17},\"4\":{\"text\":\"#{quyuxiaoshou.gift_1}\",\"style\":17},\"5\":{\"text\":\"#{quyuxiaoshou.proportion_1}\",\"style\":17},\"6\":{\"text\":\"#{quyuxiaoshou.sales_2}\",\"style\":17},\"7\":{\"text\":\"#{quyuxiaoshou.gift_2}\",\"style\":17},\"8\":{\"text\":\"#{quyuxiaoshou.proportion_2}\",\"style\":17},\"9\":{\"text\":\"#{quyuxiaoshou.sales_3}\",\"style\":17},\"10\":{\"text\":\"#{quyuxiaoshou.gift_3}\",\"style\":17},\"11\":{\"text\":\"#{quyuxiaoshou.proportion_3}\",\"style\":17},\"12\":{\"text\":\"#{quyuxiaoshou.sales_4}\",\"style\":17},\"13\":{\"text\":\"#{quyuxiaoshou.gift_4}\",\"style\":17},\"14\":{\"text\":\"#{quyuxiaoshou.proportion_4}\",\"style\":17},\"15\":{\"text\":\"#{quyuxiaoshou.sales_5}\",\"style\":17},\"16\":{\"text\":\"#{quyuxiaoshou.gift_5}\",\"style\":17},\"17\":{\"text\":\"#{quyuxiaoshou.proportion_5}\",\"style\":15},\"18\":{\"text\":\"#{quyuxiaoshou.sales_6}\",\"style\":15},\"19\":{\"text\":\"#{quyuxiaoshou.gift_6}\",\"style\":15},\"20\":{\"text\":\"#{quyuxiaoshou.proportion_6}\",\"style\":15},\"21\":{\"text\":\"#{quyuxiaoshou.sales_z}\",\"style\":15},\"22\":{\"text\":\"#{quyuxiaoshou.gift_z}\",\"style\":15},\"23\":{\"text\":\"#{quyuxiaoshou.proportion_z}\",\"style\":15},\"24\":{\"style\":67},\"25\":{\"style\":67}},\"isDrag\":true,\"height\":56},\"4\":{\"cells\":{\"0\":{\"style\":64},\"1\":{\"style\":39,\"text\":\"总计\",\"merge\":[0,1]},\"3\":{\"style\":68,\"text\":\"=SUM(D4)\"},\"4\":{\"style\":69,\"text\":\"=SUM(E4)\"},\"5\":{\"style\":70,\"text\":\"=SUM(F4)\"},\"6\":{\"style\":69,\"text\":\"=SUM(G4)\"},\"7\":{\"style\":69,\"text\":\"=SUM(H4)\"},\"8\":{\"style\":70,\"text\":\"=SUM(I4)\"},\"9\":{\"style\":69,\"text\":\"=SUM(J4)\"},\"10\":{\"style\":69,\"text\":\"=SUM(K4)\"},\"11\":{\"style\":70,\"text\":\"=SUM(L4)\"},\"12\":{\"style\":69,\"text\":\"=SUM(M4)\"},\"13\":{\"style\":69,\"text\":\"=SUM(N4)\"},\"14\":{\"style\":70,\"text\":\"=SUM(O4)\"},\"15\":{\"style\":69,\"text\":\"=SUM(P4)\"},\"16\":{\"style\":69,\"text\":\"=SUM(Q4)\"},\"17\":{\"style\":70,\"text\":\"=SUM(R4)\"},\"18\":{\"style\":69,\"text\":\"=SUM(S4)\"},\"19\":{\"style\":69,\"text\":\"=SUM(T4)\"},\"20\":{\"style\":70,\"text\":\"=SUM(U4)\"},\"21\":{\"style\":69,\"text\":\"=SUM(V4)\"},\"22\":{\"style\":69,\"text\":\"=SUM(W4)\"},\"23\":{\"style\":69,\"text\":\"=SUM(X4)\"},\"24\":{\"style\":64},\"25\":{\"style\":64}},\"height\":38},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"quyuxiaoshou.region\",\"freeze\":\"A1\",\"dataRectWidth\":1554,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"隶书\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"华文中宋\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Arial\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"number\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10,\"name\":\"宋体\"}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":10,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10,\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10,\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":10,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":20},\"1\":{\"width\":84},\"2\":{\"width\":81},\"3\":{\"width\":75},\"4\":{\"width\":63},\"5\":{\"width\":59},\"6\":{\"width\":70},\"7\":{\"width\":57},\"8\":{\"width\":60},\"9\":{\"width\":75},\"10\":{\"width\":66},\"11\":{\"width\":64},\"12\":{\"width\":70},\"13\":{\"width\":61},\"14\":{\"width\":61},\"15\":{\"width\":70},\"16\":{\"width\":58},\"17\":{\"width\":63},\"18\":{\"width\":60},\"19\":{\"width\":63},\"20\":{\"width\":59},\"21\":{\"width\":73},\"22\":{\"width\":69},\"23\":{\"width\":73},\"len\":50},\"merges\":[\"B2:B3\",\"C2:C3\",\"D2:F2\",\"G2:I2\",\"J2:L2\",\"M2:O2\",\"P2:R2\",\"S2:U2\",\"V2:X2\",\"B1:X1\",\"B5:C5\"]}', NULL, 'https://static.jeecg.com/designreport/images/quyu_1607069899537.png', 'admin', '2020-12-03 14:08:34', 'admin', '2021-02-03 13:59:12', 0, NULL, NULL, 1, 450, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1334420681185566722', '202012031408346166', '学校经费一览表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":7,\"sci\":1,\"eri\":7,\"eci\":2,\"width\":216,\"height\":25},\"printElWidth\":718,\"excel_config_id\":\"1334420681185566722\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"学校经费一览表\",\"merge\":[0,22],\"style\":10},\"2\":{\"style\":10},\"3\":{\"style\":10},\"4\":{\"style\":10},\"5\":{\"style\":10},\"6\":{\"style\":10},\"7\":{\"style\":10},\"8\":{\"style\":10},\"9\":{\"style\":10},\"10\":{\"style\":10},\"11\":{\"style\":10},\"12\":{\"style\":10},\"13\":{\"style\":10},\"14\":{\"style\":10},\"15\":{\"style\":10},\"16\":{\"style\":10},\"17\":{\"style\":10},\"18\":{\"style\":10},\"19\":{\"style\":10},\"20\":{\"style\":10},\"21\":{\"style\":10},\"22\":{\"style\":10},\"23\":{\"style\":10}},\"height\":72},\"1\":{\"cells\":{\"1\":{\"text\":\"学校类别\",\"style\":221,\"merge\":[4,0]},\"2\":{\"merge\":[4,0],\"style\":222,\"text\":\"学校名称\"},\"3\":{\"text\":\"财政教育经费投入(万元)\",\"merge\":[0,8],\"style\":84},\"4\":{\"style\":40,\"text\":\" \"},\"5\":{\"style\":40,\"text\":\" \"},\"6\":{\"style\":40,\"text\":\" \"},\"7\":{\"style\":40,\"text\":\" \"},\"8\":{\"style\":40,\"text\":\" \"},\"9\":{\"style\":40,\"text\":\" \"},\"10\":{\"style\":40,\"text\":\" \"},\"11\":{\"style\":40,\"text\":\" \"},\"12\":{\"text\":\"其他投入\",\"merge\":[0,7],\"style\":84},\"13\":{\"text\":\" \",\"style\":40},\"14\":{\"text\":\" \",\"style\":40},\"15\":{\"text\":\" \",\"style\":40},\"16\":{\"text\":\" \",\"style\":40},\"17\":{\"text\":\" \",\"style\":40},\"18\":{\"text\":\" \",\"style\":40},\"19\":{\"text\":\" \",\"style\":40},\"20\":{\"style\":84,\"text\":\"补充资料\",\"merge\":[0,4]},\"21\":{\"text\":\" \",\"style\":40},\"22\":{\"text\":\" \",\"style\":40},\"23\":{\"text\":\" \",\"style\":40},\"24\":{\"text\":\" \",\"style\":40}},\"height\":28},\"2\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"text\":\"总计\",\"style\":117,\"merge\":[3,0]},\"4\":{\"text\":\"教育事业费\",\"style\":117,\"merge\":[0,6]},\"5\":{\"style\":118,\"text\":\" \"},\"6\":{\"style\":118,\"text\":\" \"},\"7\":{\"style\":118,\"text\":\" \"},\"8\":{\"style\":118,\"text\":\" \"},\"9\":{\"style\":118,\"text\":\" \"},\"10\":{\"style\":118,\"text\":\" \"},\"11\":{\"text\":\"基础拨款\",\"style\":117,\"merge\":[3,0]},\"12\":{\"text\":\"村投入\",\"style\":117,\"merge\":[0,4]},\"13\":{\"text\":\" \",\"style\":223},\"14\":{\"text\":\" \",\"style\":223},\"15\":{\"text\":\" \",\"style\":223},\"16\":{\"text\":\" \",\"style\":223},\"17\":{\"text\":\"社会捐款\",\"style\":117,\"merge\":[0,2]},\"18\":{\"text\":\" \",\"style\":223},\"19\":{\"text\":\" \",\"style\":223},\"20\":{\"style\":126,\"merge\":[0,4],\"text\":\"信息化建设\"},\"21\":{\"style\":122,\"text\":\" \"},\"22\":{\"style\":122,\"text\":\" \"},\"23\":{\"style\":122,\"text\":\" \"},\"24\":{\"style\":122,\"text\":\" \"}},\"height\":24},\"3\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"merge\":[0,1],\"text\":\"合计\",\"style\":121},\"5\":{\"style\":122,\"text\":\" \"},\"6\":{\"merge\":[2,0],\"text\":\"人员经费\",\"style\":121},\"7\":{\"merge\":[2,0],\"text\":\"日常公用费用\",\"style\":123},\"8\":{\"merge\":[0,2],\"text\":\"项目经费\",\"style\":121},\"9\":{\"style\":122,\"text\":\" \"},\"10\":{\"style\":122,\"text\":\" \"},\"11\":{\"style\":118,\"text\":\" \"},\"12\":{\"merge\":[2,0],\"text\":\"合计\",\"style\":121},\"13\":{\"merge\":[0,3],\"text\":\"其中\",\"style\":121},\"14\":{\"text\":\" \",\"style\":223},\"15\":{\"text\":\" \",\"style\":223},\"16\":{\"text\":\" \",\"style\":223},\"17\":{\"merge\":[2,0],\"text\":\"合计\",\"style\":121},\"18\":{\"merge\":[0,1],\"text\":\"其中\",\"style\":121},\"19\":{\"style\":122,\"text\":\" \"},\"20\":{\"merge\":[2,0],\"text\":\"本年投入金额(万元)\",\"style\":230},\"21\":{\"merge\":[0,1],\"text\":\"电脑数(台数)\",\"style\":121},\"22\":{\"style\":122,\"text\":\" \"},\"23\":{\"merge\":[0,1],\"text\":\"校园网数(个)\",\"style\":121},\"24\":{\"style\":122,\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"merge\":[1,0],\"text\":\"金额\",\"style\":126},\"5\":{\"merge\":[1,0],\"text\":\"比上年增长(%)\",\"style\":127},\"6\":{\"style\":122,\"text\":\" \"},\"7\":{\"style\":123,\"text\":\" \"},\"8\":{\"merge\":[1,0],\"text\":\"合计\",\"style\":121},\"9\":{\"merge\":[0,1],\"text\":\"其中\",\"style\":121},\"10\":{\"style\":122,\"text\":\" \"},\"11\":{\"style\":118,\"text\":\" \"},\"12\":{\"style\":121,\"text\":\" \"},\"13\":{\"merge\":[1,0],\"text\":\"人员经费\",\"style\":131},\"14\":{\"merge\":[1,0],\"text\":\"日常公用费用\",\"style\":131},\"15\":{\"merge\":[1,0],\"text\":\"项目经费\",\"style\":131},\"16\":{\"merge\":[1,0],\"text\":\"基建投入\",\"style\":131},\"17\":{\"style\":121,\"text\":\" \"},\"18\":{\"merge\":[1,0],\"text\":\"项目经费\",\"style\":131},\"19\":{\"merge\":[1,0],\"text\":\"基础投入\",\"style\":131},\"20\":{\"style\":231,\"text\":\" \"},\"21\":{\"merge\":[1,0],\"text\":\"合计\",\"style\":121},\"22\":{\"merge\":[1,0],\"text\":\"本年购置数\",\"style\":121},\"23\":{\"style\":121,\"merge\":[1,0],\"text\":\"合计\"},\"24\":{\"merge\":[1,0],\"text\":\"本年建成数\",\"style\":121}}},\"5\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":40},\"2\":{\"style\":222,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"style\":126,\"text\":\" \"},\"5\":{\"style\":129,\"text\":\" \"},\"6\":{\"style\":121,\"text\":\" \"},\"7\":{\"style\":130,\"text\":\" \"},\"8\":{\"style\":121,\"text\":\" \"},\"9\":{\"text\":\"标准化建设\",\"style\":131},\"10\":{\"text\":\"信息化建设\",\"style\":121},\"11\":{\"style\":118,\"text\":\" \"},\"12\":{\"style\":121,\"text\":\" \"},\"13\":{\"text\":\" \",\"style\":223},\"14\":{\"style\":131,\"text\":\" \"},\"15\":{\"text\":\" \",\"style\":223},\"16\":{\"style\":131,\"text\":\" \"},\"17\":{\"style\":121,\"text\":\" \"},\"18\":{\"text\":\" \",\"style\":223},\"19\":{\"style\":131,\"text\":\" \"},\"20\":{\"style\":231,\"text\":\" \"},\"21\":{\"style\":121,\"text\":\" \"},\"22\":{\"style\":122,\"text\":\" \"},\"23\":{\"style\":131,\"text\":\" \"},\"24\":{\"style\":122,\"text\":\" \"}}},\"6\":{\"cells\":{\"0\":{\"style\":236},\"1\":{\"text\":\"#{laiyuan.group(class)}\",\"style\":233,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{laiyuan.school}\",\"style\":234},\"3\":{\"style\":15,\"text\":\"=SUM(E7,I7)\"},\"4\":{\"style\":15,\"text\":\"=SUM(G7,H7)\"},\"5\":{\"text\":\"#{laiyuan.lv}\",\"style\":12},\"6\":{\"text\":\"#{laiyuan.renyuan_jy}\",\"style\":12},\"7\":{\"text\":\"#{laiyuan.richang_jy}\",\"style\":12},\"8\":{\"style\":12,\"text\":\"=SUM(J7,K7)\"},\"9\":{\"text\":\"#{laiyuan.biaozhun_jy}\",\"style\":12},\"10\":{\"text\":\"#{laiyuan.xinxi_jy}\",\"style\":12},\"11\":{\"text\":\"#{laiyuan.jichubokuan_jy}\",\"style\":12},\"12\":{\"style\":12,\"text\":\"=SUM(N7,O7)\"},\"13\":{\"text\":\"#{laiyuan.renyuan_ct}\",\"style\":12},\"14\":{\"text\":\"#{laiyuan.richang_ct}\",\"style\":12},\"15\":{\"text\":\"#{laiyuan.xiangmu_ct}\",\"style\":12},\"16\":{\"text\":\"#{laiyuan.jichubokuan_ct}\",\"style\":12},\"17\":{\"style\":12,\"text\":\"=SUM(S7,T7)\"},\"18\":{\"text\":\"#{laiyuan.xiangmu_sh}\",\"style\":12},\"19\":{\"text\":\"#{laiyuan.jichubokuan_sh}\",\"style\":12},\"20\":{\"style\":12,\"text\":\"=SUM(V7,X7)\"},\"21\":{\"style\":12,\"text\":\"#{laiyuan.diannao}\"},\"22\":{\"text\":\"#{laiyuan.diannao}\",\"style\":12},\"23\":{\"style\":12,\"text\":\"#{laiyuan.xiaoyuanwang}\"},\"24\":{\"text\":\"#{laiyuan.xiaoyuanwang}\",\"style\":12},\"25\":{\"style\":236}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"text\":\"总计\",\"style\":226,\"rendered\":\"\",\"merge\":[0,1]},\"3\":{\"style\":228,\"text\":\"=SUM(D7)\"},\"4\":{\"style\":228,\"text\":\"=SUM(E7)\"},\"5\":{\"style\":228,\"text\":\"\"},\"6\":{\"style\":228,\"text\":\"=SUM(G7)\"},\"7\":{\"style\":228,\"text\":\"=SUM(H7)\"},\"8\":{\"style\":228,\"text\":\"=SUM(I7)\"},\"9\":{\"style\":228,\"text\":\"=SUM(J7)\"},\"10\":{\"style\":228,\"text\":\"=SUM(K7)\"},\"11\":{\"style\":228,\"text\":\"=SUM(L7)\"},\"12\":{\"style\":228,\"text\":\"=SUM(M7)\"},\"13\":{\"style\":229,\"text\":\"=SUM(N7)\"},\"14\":{\"style\":229,\"text\":\"=SUM(O7)\"},\"15\":{\"style\":229,\"text\":\"=SUM(P7)\"},\"16\":{\"style\":229,\"text\":\"=SUM(Q7)\"},\"17\":{\"style\":229,\"text\":\"=SUM(R7)\"},\"18\":{\"style\":229,\"text\":\"=SUM(S7)\"},\"19\":{\"style\":229,\"text\":\"=SUM(T7)\"},\"20\":{\"style\":229,\"text\":\"=SUM(U7)\"},\"21\":{\"style\":229,\"text\":\"=SUM(V8)\"},\"22\":{\"style\":229,\"text\":\"=SUM(W7)\"},\"23\":{\"style\":232,\"text\":\"=SUM(X7)\"},\"24\":{\"style\":229,\"text\":\"=SUM(Y7)\"}}},\"9\":{\"cells\":{\"4\":{\"lineStart\":\"leftbottom\",\"text\":\"\"}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"laiyuan.class\",\"freeze\":\"A1\",\"dataRectWidth\":1738,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#02a274\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"bfbfbf\"],\"top\":[\"thin\",\"bfbfbf\"],\"left\":[\"thin\",\"bfbfbf\"],\"right\":[\"thin\",\"bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"隶书\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":true,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":true,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"华文中宋\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Arial\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"number\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"font\":{\"bold\":false,\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"color\":\"#262626\",\"bgcolor\":\"#aedac8\"},{\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"bgcolor\":\"#aedac8\"},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9}},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#ffffff\"},{\"textwrap\":true},{\"textwrap\":true,\"font\":{\"size\":9}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#02a274\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"color\":\"#000100\"},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#02a274\",\"color\":\"#000100\"},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\"},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"color\":\"#000100\",\"bgcolor\":\"\"},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\"},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#756f6f\"],\"top\":[\"thin\",\"#756f6f\"],\"left\":[\"thin\",\"#756f6f\"],\"right\":[\"thin\",\"#756f6f\"]}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"color\":\"#000100\",\"font\":{\"size\":10}},{\"color\":\"#000100\",\"bgcolor\":\"\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"size\":10},\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":10}},{\"bgcolor\":\"\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\"},{\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"color\":\"#000100\",\"bgcolor\":\"\",\"align\":\"center\"},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"color\":\"#000100\",\"bgcolor\":\"\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"color\":\"#000100\",\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"#\"},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"font\":{\"size\":10},\"align\":\"center\",\"bgcolor\":\"#\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"bgcolor\":\"#\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":10}},{\"color\":\"#000100\",\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":10},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":10},\"align\":\"center\",\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"align\":\"center\",\"bgcolor\":\"#ddefe8\"},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10},\"bgcolor\":\"#ddefe8\"},{\"color\":\"#000100\",\"bgcolor\":\"#fffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#fffff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fffff\"},{\"textwrap\":true,\"bgcolor\":\"#fffff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fffff\"},{\"color\":\"#000100\",\"bgcolor\":\"#ffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#ffff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffff\"},{\"textwrap\":true,\"bgcolor\":\"#ffff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffff\"},{\"color\":\"#000100\",\"bgcolor\":\"#fff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#fff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fff\"},{\"textwrap\":true,\"bgcolor\":\"#fff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#fff\"},{\"color\":\"#000100\",\"bgcolor\":\"#ff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#ff\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ff\"},{\"textwrap\":true,\"bgcolor\":\"#ff\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ff\"},{\"color\":\"#000100\",\"bgcolor\":\"#f\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#f\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f\"},{\"textwrap\":true,\"bgcolor\":\"#f\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f\"},{\"color\":\"#000100\",\"bgcolor\":\"#\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"textwrap\":true,\"bgcolor\":\"#\"},{\"color\":\"#000100\",\"bgcolor\":\"#ddefe8\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"bgcolor\":\"#ddefe8\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"color\":\"#000100\",\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\"},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\"},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"textwrap\":true,\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\",\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"textwrap\":true,\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":9},\"bgcolor\":\"#ddefe8\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"textwrap\":true,\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\"},{\"bgcolor\":\"#aedac8\"},{\"bgcolor\":\"#fffff\"},{\"bgcolor\":\"#ffff\"},{\"bgcolor\":\"#fff\"},{\"bgcolor\":\"#ff\"},{\"bgcolor\":\"#f\"},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Arial\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"bold\":false,\"size\":9}},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":9},\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"aedac8\"},{\"align\":\"center\",\"bgcolor\":\"aedac8\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#ffffff\",\"font\":{\"size\":9}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":9}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"##aedac8\"},{\"bgcolor\":\"##aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8},\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":9}},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8}},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8},\"align\":\"left\"},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":8},\"align\":\"left\",\"valign\":\"middle\"},{\"align\":\"center\",\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"bold\":false,\"size\":10}},{\"bgcolor\":\"#02a274\",\"font\":{\"size\":10},\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"color\":\"#000100\",\"font\":{\"size\":10}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10},\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10}},{\"textwrap\":true,\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10}},{\"bgcolor\":\"#aedac8\",\"font\":{\"size\":10},\"align\":\"left\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"font\":{\"size\":9},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":8}}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":20},\"1\":{\"width\":84},\"2\":{\"width\":132},\"3\":{\"width\":75},\"4\":{\"width\":63},\"5\":{\"width\":59},\"6\":{\"width\":70},\"7\":{\"width\":61},\"8\":{\"width\":60},\"9\":{\"width\":75},\"10\":{\"width\":75},\"11\":{\"width\":64},\"12\":{\"width\":70},\"13\":{\"width\":63},\"14\":{\"width\":86},\"15\":{\"width\":64},\"16\":{\"width\":58},\"17\":{\"width\":63},\"18\":{\"width\":60},\"19\":{\"width\":63},\"20\":{\"width\":59},\"21\":{\"width\":73},\"22\":{\"width\":82},\"23\":{\"width\":73},\"24\":{\"width\":86},\"len\":50},\"merges\":[\"B1:X1\",\"D3:D6\",\"E5:E6\",\"F5:F6\",\"E4:F4\",\"G4:G6\",\"H4:H6\",\"I5:I6\",\"J5:K5\",\"I4:K4\",\"E3:K3\",\"L3:L6\",\"D2:L2\",\"M4:M6\",\"N5:N6\",\"O5:O6\",\"P5:P6\",\"Q5:Q6\",\"N4:Q4\",\"M3:Q3\",\"R4:R6\",\"R3:T3\",\"S4:T4\",\"S5:S6\",\"T5:T6\",\"U4:U6\",\"V4:W4\",\"V5:V6\",\"W5:W6\",\"X4:Y4\",\"X5:X6\",\"Y5:Y6\",\"U3:Y3\",\"M2:T2\",\"U2:Y2\",\"B2:B6\",\"C2:C6\",\"B8:C8\"]}', NULL, 'https://static.jeecg.com/designreport/images/jingfei_1607069843358.png', 'admin', '2020-12-03 16:54:17', 'admin', '2021-02-03 13:59:08', 0, NULL, NULL, 1, 443, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1334457419857793024', '20201203192154', '超市各地区销售额', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":1,\"sci\":26,\"eri\":4,\"eci\":28,\"width\":300,\"height\":100},\"excel_config_id\":\"1334457419857793024\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"各地区商品销售额一栏表\",\"merge\":[0,18],\"style\":13}},\"height\":82},\"1\":{\"cells\":{\"1\":{\"text\":\"地区/类别/时间\",\"merge\":[1,1],\"style\":46},\"3\":{\"text\":\"2020年\",\"style\":46,\"merge\":[0,12]},\"16\":{\"text\":\"2019年\",\"style\":46,\"merge\":[0,9]}}},\"2\":{\"cells\":{\"3\":{\"text\":\"12月\",\"style\":46},\"4\":{\"text\":\"11月\",\"style\":46},\"5\":{\"text\":\"10月\",\"style\":46},\"6\":{\"text\":\"9月\",\"style\":46},\"7\":{\"text\":\"8月\",\"style\":46},\"8\":{\"text\":\"7月\",\"style\":46},\"9\":{\"text\":\"6月\",\"style\":46},\"10\":{\"text\":\"5月\",\"style\":46},\"11\":{\"text\":\"4月\",\"style\":46},\"12\":{\"text\":\"3月\",\"style\":46},\"13\":{\"text\":\"2月\",\"style\":46},\"14\":{\"text\":\"1月\",\"style\":46},\"15\":{\"text\":\"本年小计\",\"style\":46},\"16\":{\"text\":\"12月\",\"style\":46},\"17\":{\"text\":\"11月\",\"style\":46},\"18\":{\"text\":\"10月\",\"style\":46},\"19\":{\"text\":\"9月\",\"style\":46},\"20\":{\"text\":\"8月\",\"style\":46},\"21\":{\"text\":\"7月\",\"style\":46},\"22\":{\"text\":\"6月\",\"style\":46},\"23\":{\"text\":\"5月\",\"style\":46},\"24\":{\"text\":\"4月\",\"style\":46},\"25\":{\"text\":\"本年小计\",\"style\":46}}},\"3\":{\"cells\":{\"1\":{\"text\":\"#{xiaoshou.group(diqu)}\",\"style\":51,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{xiaoshou.class}\",\"style\":51},\"3\":{\"text\":\"#{xiaoshou.sales_11}\",\"style\":20},\"4\":{\"text\":\"#{xiaoshou.sales_12}\",\"style\":20},\"5\":{\"text\":\"#{xiaoshou.sales_13}\",\"style\":20},\"6\":{\"text\":\"#{xiaoshou.sales_14}\",\"style\":20},\"7\":{\"text\":\"#{xiaoshou.sales_15}\",\"style\":20},\"8\":{\"text\":\"#{xiaoshou.sales_16}\",\"style\":20},\"9\":{\"text\":\"#{xiaoshou.sales_17}\",\"style\":20},\"10\":{\"text\":\"#{xiaoshou.sales_18}\",\"style\":20},\"11\":{\"text\":\"#{xiaoshou.sales_19}\",\"style\":20},\"12\":{\"text\":\"#{xiaoshou.sales_20}\",\"style\":20},\"13\":{\"text\":\"#{xiaoshou.sales_21}\",\"style\":20},\"14\":{\"text\":\"#{xiaoshou.sales_22}\",\"style\":20},\"15\":{\"style\":48,\"text\":\"=SUM(D4:O4)\"},\"16\":{\"text\":\"#{xiaoshou.sales_31}\",\"style\":20},\"17\":{\"text\":\"#{xiaoshou.sales_32}\",\"style\":20},\"18\":{\"text\":\"#{xiaoshou.sales_33}\",\"style\":20},\"19\":{\"text\":\"#{xiaoshou.sales_34}\",\"style\":20},\"20\":{\"text\":\"#{xiaoshou.sales_35}\",\"style\":20},\"21\":{\"text\":\"#{xiaoshou.sales_36}\",\"style\":20},\"22\":{\"text\":\"#{xiaoshou.sales_37}\",\"style\":20},\"23\":{\"text\":\"#{xiaoshou.sales_38}\",\"style\":20},\"24\":{\"text\":\"#{xiaoshou.sales_39}\",\"style\":20},\"25\":{\"style\":48,\"text\":\"=SUM(Q4:Y4)\"}},\"isDrag\":true},\"4\":{\"cells\":{\"1\":{\"text\":\"合计\",\"style\":52,\"rendered\":\"\",\"merge\":[0,1]},\"3\":{\"text\":\"=SUM(D4)\",\"style\":55},\"4\":{\"text\":\"=SUM(E4)\",\"style\":55},\"5\":{\"text\":\"=SUM(F4)\",\"style\":55},\"6\":{\"text\":\"=SUM(G4)\",\"style\":55},\"7\":{\"text\":\"=SUM(H4)\",\"style\":55},\"8\":{\"text\":\"=SUM(I4)\",\"style\":55},\"9\":{\"text\":\"=SUM(J4)\",\"style\":55},\"10\":{\"text\":\"=SUM(K4)\",\"style\":55},\"11\":{\"text\":\"=SUM(L4)\",\"style\":55},\"12\":{\"text\":\"=SUM(M4)\",\"style\":55},\"13\":{\"text\":\"=SUM(N4)\",\"style\":55},\"14\":{\"text\":\"=SUM(O4)\",\"style\":55},\"15\":{\"text\":\"=SUM(P4)\",\"style\":55},\"16\":{\"text\":\"=SUM(Q4)\",\"style\":55},\"17\":{\"text\":\"=SUM(R4)\",\"style\":55},\"18\":{\"text\":\"=SUM(S4)\",\"style\":55},\"19\":{\"text\":\"=SUM(T4)\",\"style\":55},\"20\":{\"text\":\"=SUM(U4)\",\"style\":55},\"21\":{\"text\":\"=SUM(V4)\",\"style\":55},\"22\":{\"text\":\"=SUM(W4)\",\"style\":55},\"23\":{\"text\":\"=SUM(X4)\",\"style\":55},\"24\":{\"text\":\"=SUM(Y4)\",\"style\":55},\"25\":{\"text\":\"=SUM(Z4)\",\"style\":55}},\"isDrag\":true},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"xiaoshou.diqu\",\"freeze\":\"A1\",\"dataRectWidth\":2464,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"bgcolor\":\"#\"},{\"bgcolor\":\"#d7f2f9\"},{\"bgcolor\":\"#d7f2f9\",\"align\":\"center\"},{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"bgcolor\":\"#d7f2f9\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"2896ea\"],\"top\":[\"thin\",\"2896ea\"],\"left\":[\"thin\",\"2896ea\"],\"right\":[\"thin\",\"2896ea\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"2896ea\"],\"top\":[\"thin\",\"2896ea\"],\"left\":[\"thin\",\"2896ea\"],\"right\":[\"thin\",\"2896ea\"]}},{\"border\":{\"bottom\":[\"thin\",\"2896ea\"],\"top\":[\"thin\",\"2896ea\"],\"left\":[\"thin\",\"2896ea\"],\"right\":[\"thin\",\"2896ea\"]}},{\"bgcolor\":\"#d7f2f9\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":16},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#2896ea\"],\"top\":[\"thin\",\"#2896ea\"],\"left\":[\"thin\",\"#2896ea\"],\"right\":[\"thin\",\"#2896ea\"]}},{\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#9cc2e6\"],\"top\":[\"thin\",\"#9cc2e6\"],\"left\":[\"thin\",\"#9cc2e6\"],\"right\":[\"thin\",\"#9cc2e6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#9cc2e6\"],\"top\":[\"thin\",\"#9cc2e6\"],\"left\":[\"thin\",\"#9cc2e6\"],\"right\":[\"thin\",\"#9cc2e6\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#9cc2e6\"],\"top\":[\"thin\",\"#9cc2e6\"],\"left\":[\"thin\",\"#9cc2e6\"],\"right\":[\"thin\",\"#9cc2e6\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#e7e5e6\"],\"top\":[\"thin\",\"#e7e5e6\"],\"left\":[\"thin\",\"#e7e5e6\"],\"right\":[\"thin\",\"#e7e5e6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#e7e5e6\"],\"top\":[\"thin\",\"#e7e5e6\"],\"left\":[\"thin\",\"#e7e5e6\"],\"right\":[\"thin\",\"#e7e5e6\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#e7e5e6\"],\"top\":[\"thin\",\"#e7e5e6\"],\"left\":[\"thin\",\"#e7e5e6\"],\"right\":[\"thin\",\"#e7e5e6\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d0cecf\"],\"top\":[\"thin\",\"#d0cecf\"],\"left\":[\"thin\",\"#d0cecf\"],\"right\":[\"thin\",\"#d0cecf\"]},\"color\":\"#ffffff\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#afabac\"],\"top\":[\"thin\",\"#afabac\"],\"left\":[\"thin\",\"#afabac\"],\"right\":[\"thin\",\"#afabac\"]},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#afabac\"],\"top\":[\"thin\",\"#afabac\"],\"left\":[\"thin\",\"#afabac\"],\"right\":[\"thin\",\"#afabac\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#afabac\"],\"top\":[\"thin\",\"#afabac\"],\"left\":[\"thin\",\"#afabac\"],\"right\":[\"thin\",\"#afabac\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#f2f2f2\"],\"top\":[\"thin\",\"#f2f2f2\"],\"left\":[\"thin\",\"#f2f2f2\"],\"right\":[\"thin\",\"#f2f2f2\"]},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#f2f2f2\"],\"top\":[\"thin\",\"#f2f2f2\"],\"left\":[\"thin\",\"#f2f2f2\"],\"right\":[\"thin\",\"#f2f2f2\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#f2f2f2\"],\"top\":[\"thin\",\"#f2f2f2\"],\"left\":[\"thin\",\"#f2f2f2\"],\"right\":[\"thin\",\"#f2f2f2\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\"},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"bgcolor\":\"#d7f2f9\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\",\"bgcolor\":\"#deeaf6\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":8},\"align\":\"center\",\"format\":\"number\",\"bgcolor\":\"#bdd7ee\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":10},\"align\":\"center\",\"bgcolor\":\"#d7f2f9\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#d7f2f9\"},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\"},{\"bgcolor\":\"#bdd7ee\"},{\"bgcolor\":\"#bdd7ee\",\"format\":\"number\"},{\"bgcolor\":\"#bdd7ee\",\"format\":\"number\",\"align\":\"center\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":21},\"1\":{\"width\":63},\"2\":{\"width\":85},\"3\":{\"width\":95},\"4\":{\"width\":83},\"5\":{\"width\":81},\"6\":{\"width\":88},\"7\":{\"width\":89},\"8\":{\"width\":87},\"9\":{\"width\":95},\"10\":{\"width\":92},\"11\":{\"width\":95},\"12\":{\"width\":96},\"13\":{\"width\":98},\"14\":{\"width\":98},\"15\":{\"width\":78},\"16\":{\"width\":110},\"17\":{\"width\":111},\"18\":{\"width\":102},\"19\":{\"width\":102},\"20\":{\"width\":114},\"21\":{\"width\":111},\"22\":{\"width\":113},\"23\":{\"width\":107},\"24\":{\"width\":115},\"25\":{\"width\":135},\"len\":49},\"merges\":[\"D2:P2\",\"B2:C3\",\"Q2:Z2\",\"B1:T1\",\"B5:C5\"]}', NULL, 'https://static.jeecg.com/designreport/images/chaoshi_1607069609875.png', 'admin', '2020-12-03 19:21:55', 'admin', '2021-04-05 18:47:20', 0, NULL, NULL, 1, 376, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1334696790477377536', '20201204111149', '学校收入一览表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":{\"sri\":1,\"sci\":24,\"eri\":5,\"eci\":24,\"width\":100,\"height\":138},\"excel_config_id\":\"1334696790477377536\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"学校收入一览表\",\"merge\":[0,13],\"style\":25}},\"height\":71},\"1\":{\"cells\":{\"1\":{\"text\":\"校园信息\",\"merge\":[1,2],\"style\":40},\"4\":{\"text\":\"学生信息\",\"merge\":[1,2],\"style\":40},\"7\":{\"merge\":[1,5],\"style\":42,\"text\":\"收款信息\"},\"13\":{\"merge\":[0,10],\"text\":\"确认收入信息\",\"style\":43}},\"height\":23},\"2\":{\"cells\":{\"13\":{\"merge\":[0,3],\"text\":\"2020.09\",\"style\":46},\"17\":{\"merge\":[0,3],\"text\":\"2020.10\",\"style\":46},\"21\":{\"text\":\"合计\",\"style\":46,\"merge\":[0,2]}},\"height\":40},\"3\":{\"cells\":{\"1\":{\"text\":\"所属城际\",\"style\":50},\"2\":{\"text\":\"所属校园\",\"style\":50},\"3\":{\"text\":\"NC帐套\",\"style\":50},\"4\":{\"text\":\"学号\",\"style\":50},\"5\":{\"text\":\"姓名\",\"style\":50},\"6\":{\"text\":\"性质\",\"style\":50},\"7\":{\"text\":\"缴费金额\",\"style\":50},\"8\":{\"text\":\"缴费时间\",\"style\":50},\"9\":{\"text\":\"缴费性质\",\"style\":50},\"10\":{\"text\":\"缴费所属期间\",\"style\":50},\"11\":{\"text\":\"缴费月份数\",\"style\":50},\"12\":{\"text\":\"缴费方式\",\"style\":50},\"13\":{\"text\":\"全部\",\"style\":50},\"14\":{\"text\":\"学费\",\"style\":50},\"15\":{\"text\":\"餐费\",\"style\":50},\"16\":{\"text\":\"校车费\",\"style\":50},\"17\":{\"text\":\"全部\",\"style\":50},\"18\":{\"text\":\"学费\",\"style\":50},\"19\":{\"text\":\"餐费\",\"style\":50},\"20\":{\"text\":\"校车费\",\"style\":50},\"21\":{\"text\":\"全部\",\"style\":50},\"22\":{\"text\":\"学费\",\"style\":50},\"23\":{\"text\":\"餐费\",\"style\":50}}},\"4\":{\"cells\":{\"1\":{\"text\":\"#{shouru.group(city)}\",\"style\":45,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{shouru.group(school)}\",\"style\":45,\"aggregate\":\"group\"},\"3\":{\"text\":\"#{shouru.group(ncnum)}\",\"style\":35,\"aggregate\":\"group\"},\"4\":{\"text\":\"#{shouru.num}\",\"style\":35},\"5\":{\"text\":\"#{shouru.name}\",\"style\":35},\"6\":{\"text\":\"#{shouru.class}\",\"style\":35},\"7\":{\"text\":\"#{shouru.pay}\",\"style\":35},\"8\":{\"text\":\"#{shouru.paytime}\",\"style\":35},\"9\":{\"text\":\"#{shouru.payclass}\",\"style\":35},\"10\":{\"text\":\"#{shouru.pay1}\",\"style\":35},\"11\":{\"text\":\"#{shouru.paymoth}\",\"style\":35},\"12\":{\"text\":\"#{shouru.pay2}\",\"style\":35},\"13\":{\"style\":33,\"text\":\"=SUM(O5:Q5)\"},\"14\":{\"text\":\"#{shouru.tuition_09}\",\"style\":35},\"15\":{\"text\":\"#{shouru.meals_09}\",\"style\":35},\"16\":{\"text\":\"#{shouru.busfee_09}\",\"style\":35},\"17\":{\"style\":33,\"text\":\"=SUM(S5:U5)\"},\"18\":{\"text\":\"#{shouru.tuition_10}\",\"style\":35},\"19\":{\"text\":\"#{shouru.meals_10}\",\"style\":35},\"20\":{\"text\":\"#{shouru.busfee_10}\",\"style\":35},\"21\":{\"style\":33,\"text\":\"=SUM(W5,X5)\"},\"22\":{\"style\":35,\"text\":\"=SUM(O5,S5)\"},\"23\":{\"style\":35,\"text\":\"=SUM(P5,T5)\"}},\"isDrag\":true,\"height\":25},\"5\":{\"cells\":{\"1\":{\"style\":66,\"text\":\"合计\"},\"2\":{\"text\":\" \",\"style\":66},\"3\":{\"style\":66,\"text\":\" \"},\"4\":{\"style\":66,\"text\":\" \"},\"5\":{\"style\":66,\"text\":\" \"},\"6\":{\"style\":66,\"text\":\" \"},\"7\":{\"style\":66,\"text\":\" \"},\"8\":{\"style\":66,\"text\":\" \"},\"9\":{\"style\":66,\"text\":\" \"},\"10\":{\"style\":66,\"text\":\" \"},\"11\":{\"style\":66,\"text\":\" \"},\"12\":{\"style\":66,\"text\":\" \"},\"13\":{\"style\":66,\"text\":\" \"},\"14\":{\"style\":66,\"text\":\" \"},\"15\":{\"style\":66,\"text\":\" \"},\"16\":{\"style\":66,\"text\":\" \"},\"17\":{\"style\":66,\"text\":\" \"},\"18\":{\"text\":\" \",\"style\":66},\"19\":{\"style\":66,\"text\":\" \"},\"20\":{\"style\":66,\"text\":\" \"},\"21\":{\"style\":15,\"text\":\"=SUM(V5)\"},\"22\":{\"style\":15,\"text\":\"=SUM(W5)\"},\"23\":{\"style\":15,\"text\":\"=SUM(X5)\"}}},\"9\":{\"cells\":{}},\"11\":{\"cells\":{}},\"len\":101},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"shouru.city\",\"freeze\":\"A1\",\"dataRectWidth\":1881,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\"},{\"bgcolor\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\"},{\"bgcolor\":\"\"},{\"bgcolor\":\"#309fc6\"},{\"align\":\"center\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#dff2f9\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"¥b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#b2ddec\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#dff2f9\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":9}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#ffffff\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":8},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":10}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":10}},{\"font\":{\"size\":12}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":10.5}},{\"align\":\"center\",\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":10.5},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"center\",\"font\":{\"size\":10.5}},{\"align\":\"center\",\"bgcolor\":\"#d7f2f9\",\"font\":{\"size\":10.5},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":10.5}},{\"align\":\"left\",\"bgcolor\":\"#b2ddec\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"align\":\"left\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":37},\"1\":{\"width\":79},\"2\":{\"width\":87},\"3\":{\"width\":79},\"4\":{\"width\":92},\"5\":{\"width\":90},\"6\":{\"width\":77},\"7\":{\"width\":83},\"8\":{\"width\":89},\"9\":{\"width\":79},\"10\":{\"width\":89},\"11\":{\"width\":84},\"12\":{\"width\":76},\"13\":{\"width\":67},\"14\":{\"width\":74},\"15\":{\"width\":69},\"16\":{\"width\":74},\"17\":{\"width\":68},\"18\":{\"width\":76},\"19\":{\"width\":79},\"20\":{\"width\":78},\"21\":{\"width\":74},\"22\":{\"width\":81},\"len\":49},\"merges\":[\"B2:D3\",\"E2:G3\",\"H2:M3\",\"N3:Q3\",\"R3:U3\",\"V3:X3\",\"N2:X2\",\"B1:O1\"]}', NULL, 'https://static.jeecg.com/designreport/images/xuexiao_1607069724407.png', 'admin', '2020-12-04 11:11:50', 'admin', '2021-04-01 02:46:23', 0, NULL, NULL, 1, 434, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1334757703079301120', '20201204151358', '车间零件完工一览表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1334757703079301120\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"车间零件完工一览表\",\"merge\":[0,12],\"style\":23}},\"height\":81},\"1\":{\"cells\":{\"0\":{\"style\":11},\"1\":{\"text\":\"车间\",\"style\":22},\"2\":{\"text\":\"成品名称\",\"style\":22},\"3\":{\"text\":\"半成品名称\",\"style\":22},\"4\":{\"text\":\"完工时间\",\"style\":22},\"5\":{\"text\":\"状态\",\"style\":22},\"6\":{\"text\":\"成品属性\",\"style\":22},\"7\":{\"text\":\"工单号\",\"style\":22},\"8\":{\"text\":\"工单数量\",\"style\":22},\"9\":{\"text\":\"计划数量\",\"style\":22},\"10\":{\"text\":\"完成数量\",\"style\":22},\"11\":{\"text\":\"UPH\",\"style\":22},\"12\":{\"text\":\"H/C\",\"style\":22},\"13\":{\"text\":\"计划时间\",\"style\":22},\"14\":{\"text\":\"良率\",\"style\":22},\"15\":{\"text\":\"备注\",\"style\":22},\"16\":{\"style\":11},\"17\":{\"style\":11},\"18\":{\"style\":11},\"19\":{\"style\":11},\"20\":{\"style\":11},\"21\":{\"style\":11},\"22\":{\"style\":11},\"23\":{\"style\":11},\"24\":{\"style\":11},\"25\":{\"style\":11},\"26\":{\"style\":11}},\"height\":55},\"2\":{\"cells\":{\"0\":{\"style\":13},\"1\":{\"text\":\"#{chejian.group(city)}\",\"style\":16,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{chejian.finish}\",\"style\":14},\"3\":{\"text\":\"#{chejian.semifinish}\",\"style\":14},\"4\":{\"text\":\"#{chejian.time}\",\"style\":14},\"5\":{\"text\":\"#{chejian.state}\",\"style\":14},\"6\":{\"text\":\"#{chejian.attribute}\",\"style\":14},\"7\":{\"text\":\"#{chejian.num}\",\"style\":14},\"8\":{\"text\":\"#{chejian.gnum}\",\"style\":14},\"9\":{\"text\":\"#{chejian.jnum}\",\"style\":14},\"10\":{\"text\":\"#{chejian.wnum}\",\"style\":14},\"11\":{\"text\":\"#{chejian.uph}\",\"style\":14},\"12\":{\"text\":\"#{chejian.hc}\",\"style\":14},\"13\":{\"text\":\"#{chejian.jtime}\",\"style\":14},\"14\":{\"text\":\"#{chejian.yield}\",\"style\":14},\"15\":{\"text\":\"#{chejian.beizhu}\",\"style\":14},\"16\":{\"style\":13},\"17\":{\"style\":13},\"18\":{\"style\":13},\"19\":{\"style\":13},\"20\":{\"style\":13},\"21\":{\"style\":13},\"22\":{\"style\":13},\"23\":{\"style\":13},\"24\":{\"style\":13},\"25\":{\"style\":13},\"26\":{\"style\":13}},\"isDrag\":true,\"height\":35},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"chejian.city\",\"freeze\":\"A1\",\"dataRectWidth\":1494,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\"},{\"bgcolor\":\"#309fc6\"},{\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"bgcolor\":\"#b2ddec\"},{\"font\":{\"size\":8}},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"font\":{\"size\":8},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\",\"bgcolor\":\"#b2ddec\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8},\"align\":\"center\"},{\"align\":\"center\",\"bgcolor\":\"#309fc6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"bold\":true,\"size\":16},\"align\":\"center\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":45},\"1\":{\"width\":106},\"2\":{\"width\":121},\"3\":{\"width\":124},\"4\":{\"width\":87},\"5\":{\"width\":76},\"6\":{\"width\":82},\"7\":{\"width\":81},\"8\":{\"width\":69},\"9\":{\"width\":76},\"10\":{\"width\":81},\"15\":{\"width\":146},\"len\":50},\"merges\":[\"B1:N1\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201216185352_1608116050060.png', 'admin', '2020-12-04 15:13:58', 'admin', '2021-04-05 18:47:24', 0, NULL, NULL, 1, 523, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1338370016550195200', '20201214142804', '条形码报表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1338370016550195200\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"1\":{\"merge\":[1,3],\"text\":\"居民身份证申领登记表\",\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"merge\":[0,2],\"text\":\"\",\"rendered\":\"\",\"display\":\"text\"},\"-1\":{\"text\":\"${tm.tp}\"}},\"height\":27},\"1\":{\"cells\":{\"1\":{\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"style\":2,\"virtual\":\"ZiOFmILaRjdmVs6E\",\"rendered\":\"NUsGZXpylLVeKQ7J\",\"display\":\"barcode\",\"text\":\"${tm.tm}\",\"merge\":[0,2]}},\"height\":52},\"2\":{\"cells\":{\"1\":{\"text\":\"受理单位(盖章)珠海市公安局\",\"merge\":[0,3],\"style\":36},\"2\":{\"style\":36},\"3\":{\"style\":36},\"4\":{\"style\":36},\"5\":{\"style\":6},\"6\":{\"style\":6},\"7\":{\"style\":6},\"8\":{\"text\":\"\",\"rendered\":\"\"}},\"height\":34},\"3\":{\"cells\":{\"1\":{\"text\":\"姓名\",\"style\":24},\"2\":{\"text\":\"${tm.name}\",\"style\":7,\"rendered\":\"\"},\"3\":{\"text\":\"性别\",\"style\":16},\"4\":{\"text\":\"${tm.sex}\",\"style\":7,\"isDict\":1,\"dictCode\":\"sex1\",\"rendered\":\"\"},\"5\":{\"text\":\"民族\",\"style\":16},\"6\":{\"text\":\"${tm.nation}\",\"style\":7},\"7\":{\"text\":\"${tm.tp}\",\"style\":7,\"merge\":[2,0],\"rendered\":\"ftkUSZOje4A5gVO3\",\"display\":\"img\"},\"9\":{\"text\":\"\",\"rendered\":\"\"}},\"isDrag\":true,\"height\":47},\"4\":{\"cells\":{\"1\":{\"text\":\"出生日期\",\"style\":24},\"2\":{\"text\":\"${tm.birth}\",\"style\":32,\"merge\":[0,4]},\"3\":{\"style\":33},\"4\":{\"style\":33},\"5\":{\"style\":33},\"6\":{\"style\":33},\"8\":{\"text\":\"\",\"rendered\":\"\"}},\"isDrag\":true,\"height\":51},\"5\":{\"cells\":{\"1\":{\"text\":\"常住户口所在地住址\",\"style\":21},\"2\":{\"text\":\"${tm.zhuzhi}\",\"style\":7,\"merge\":[0,4]},\"8\":{\"text\":\"\",\"rendered\":\"\"}},\"isDrag\":true,\"height\":62},\"6\":{\"cells\":{\"1\":{\"text\":\"公民身份证\",\"style\":24},\"2\":{\"text\":\"${tm.card}\",\"style\":7,\"merge\":[0,5]}},\"isDrag\":true,\"height\":55},\"7\":{\"cells\":{\"1\":{\"text\":\"有限期限\",\"style\":24},\"2\":{\"text\":\"${tm.ydate}\",\"style\":34,\"merge\":[0,1]},\"3\":{\"style\":35},\"4\":{\"text\":\"签发机关\",\"style\":24},\"5\":{\"text\":\"${tm.qfjg}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":52},\"8\":{\"cells\":{\"1\":{\"text\":\"申领原因\",\"style\":24},\"2\":{\"text\":\"${tm.slyy}\",\"style\":7,\"merge\":[0,5]}},\"isDrag\":true,\"height\":55},\"9\":{\"cells\":{\"1\":{\"text\":\"受理时间\",\"style\":24},\"2\":{\"text\":\"${tm.sdate}\",\"style\":32,\"merge\":[0,1]},\"3\":{\"style\":33},\"4\":{\"text\":\"受理号\",\"style\":24},\"5\":{\"text\":\"${tm.shao}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":49},\"10\":{\"cells\":{\"1\":{\"text\":\"承办人\",\"style\":24},\"2\":{\"text\":\"${tm.cbr}\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"受理单位领导\",\"style\":24},\"5\":{\"text\":\"${tm.sld}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":42},\"11\":{\"cells\":{\"1\":{\"text\":\"申请(监护)人签名\",\"style\":21},\"2\":{\"text\":\"${tm.sr}\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"申请(监护)人联系电话\",\"style\":21},\"5\":{\"text\":\"${tm.jphone}\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":59},\"12\":{\"cells\":{\"1\":{\"text\":\"领证人签名\",\"style\":24},\"2\":{\"text\":\"${tm.lzr}\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"领证时间\",\"style\":24},\"5\":{\"text\":\"${tm.ldate}\",\"style\":32,\"merge\":[0,2]},\"6\":{\"style\":33},\"7\":{\"style\":33}},\"isDrag\":true,\"height\":57},\"13\":{\"cells\":{\"1\":{\"text\":\"是否通过邮政特快专递方式领取二代\",\"merge\":[0,1],\"style\":24},\"2\":{\"text\":\" \",\"style\":25},\"3\":{\"text\":\"${tm.sk}\",\"style\":7,\"merge\":[0,4]}},\"isDrag\":true,\"height\":50},\"14\":{\"cells\":{\"1\":{\"text\":\"投递地址\",\"style\":24},\"2\":{\"text\":\"${tm.dizhi}\",\"style\":7,\"merge\":[0,2]},\"5\":{\"text\":\"收件人\",\"style\":24},\"6\":{\"style\":7,\"text\":\" \",\"merge\":[0,1]}},\"isDrag\":true,\"height\":53},\"15\":{\"cells\":{\"1\":{\"text\":\"邮政编码\",\"style\":24},\"2\":{\"text\":\"\",\"style\":7,\"merge\":[0,1]},\"4\":{\"text\":\"备注\",\"style\":24},\"5\":{\"text\":\"\",\"style\":7,\"merge\":[0,2]}},\"isDrag\":true,\"height\":47},\"16\":{\"cells\":{\"1\":{\"merge\":[0,6],\"text\":\"公安部治安管理局治\",\"style\":31},\"2\":{\"style\":31},\"3\":{\"style\":31},\"4\":{\"style\":31},\"5\":{\"style\":31},\"6\":{\"style\":31},\"7\":{\"style\":31}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\",\"sex1\",\"sex1\"],\"freeze\":\"A1\",\"dataRectWidth\":704,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":16}},{\"font\":{\"size\":16},\"align\":\"center\"},{\"align\":\"center\"},{\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\",\"size\":9}},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#3f3f3f\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#0c0c0c\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#595959\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"right\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false},\"align\":\"center\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"center\"},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"center\"},{\"font\":{\"name\":\"宋体\",\"bold\":true},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":8},\"align\":\"center\"},{\"font\":{\"size\":8},\"align\":\"right\"},{\"font\":{\"size\":10},\"align\":\"right\"},{\"font\":{\"size\":10},\"align\":\"right\",\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date2\"},{\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"format\":\"date\"},{\"format\":\"date\"},{\"font\":{\"name\":\"宋体\",\"size\":9},\"color\":\"#595959\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"valign\":\"bottom\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":16},\"1\":{\"width\":103},\"2\":{\"width\":156},\"3\":{\"width\":51},\"4\":{\"width\":96},\"5\":{\"width\":61},\"6\":{\"width\":106},\"7\":{\"width\":115},\"8\":{\"width\":135},\"len\":50},\"merges\":[\"B3:E3\",\"B14:C14\",\"C6:G6\",\"C5:G5\",\"C7:H7\",\"C8:D8\",\"F8:H8\",\"C9:H9\",\"D14:H14\",\"C10:D10\",\"F10:H10\",\"C11:D11\",\"F11:H11\",\"C13:D13\",\"C12:D12\",\"F12:H12\",\"F13:H13\",\"C15:E15\",\"G15:H15\",\"F16:H16\",\"C16:D16\",\"B17:H17\",\"H4:H6\",\"B1:E2\",\"F1:H1\",\"F2:H2\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1608118350039.png', 'admin', '2020-12-14 14:28:04', 'admin', '2021-02-03 13:58:47', 0, NULL, NULL, 1, 769, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1338744112815411200', '20201215151426', '简单条件查询报表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1338744112815411200\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"1\":{\"text\":\"职务\",\"style\":51},\"2\":{\"text\":\"雇员ID\",\"style\":51},\"3\":{\"text\":\"姓名\",\"style\":51},\"4\":{\"text\":\"性别\",\"style\":51},\"5\":{\"text\":\"雇佣日期\",\"style\":51},\"6\":{\"text\":\"家庭电话\",\"style\":51},\"7\":{\"text\":\"出生日期\",\"style\":51},\"8\":{\"text\":\"户口所在地\",\"style\":51},\"9\":{\"text\":\"联系地址\",\"style\":51},\"10\":{\"text\":\"紧急联系人\",\"style\":52}},\"height\":37},\"2\":{\"cells\":{\"0\":{\"style\":18},\"1\":{\"style\":21,\"text\":\"#{jdcx.group(update_by)}\",\"aggregate\":\"group\"},\"2\":{\"style\":21,\"text\":\"#{jdcx.id}\"},\"3\":{\"style\":21,\"text\":\"#{jdcx.name}\"},\"4\":{\"style\":21,\"text\":\"#{jdcx.sex}\"},\"5\":{\"style\":24,\"text\":\"#{jdcx.gtime}\"},\"6\":{\"style\":21,\"text\":\"#{jdcx.jphone}\"},\"7\":{\"style\":24,\"text\":\"#{jdcx.birth}\"},\"8\":{\"style\":21,\"text\":\"#{jdcx.hukou}\"},\"9\":{\"style\":21,\"text\":\"#{jdcx.laddress}\"},\"10\":{\"style\":56,\"text\":\"#{jdcx.jperson}\"},\"11\":{\"style\":18},\"12\":{\"style\":18},\"13\":{\"style\":18},\"14\":{\"style\":18},\"15\":{\"style\":18},\"16\":{\"style\":18},\"17\":{\"style\":18},\"18\":{\"style\":18},\"19\":{\"style\":18},\"20\":{\"style\":18},\"21\":{\"style\":18},\"22\":{\"style\":18},\"23\":{\"style\":18},\"24\":{\"style\":18},\"25\":{\"style\":18},\"26\":{\"style\":18},\"27\":{\"style\":18},\"28\":{\"style\":18},\"29\":{\"style\":18},\"30\":{\"style\":18},\"31\":{\"style\":18},\"32\":{\"style\":18},\"33\":{\"style\":18},\"34\":{\"style\":18},\"35\":{\"style\":18},\"36\":{\"style\":18},\"37\":{\"style\":18},\"38\":{\"style\":18},\"39\":{\"style\":18},\"40\":{\"style\":18},\"41\":{\"style\":18},\"42\":{\"style\":18},\"43\":{\"style\":18},\"44\":{\"style\":18},\"45\":{\"style\":18},\"46\":{\"style\":18},\"47\":{\"style\":18},\"48\":{\"style\":18}},\"height\":34},\"3\":{\"cells\":{\"0\":{\"style\":39},\"1\":{\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"style\":39},\"6\":{\"style\":39},\"7\":{\"style\":39},\"8\":{\"style\":39},\"9\":{\"style\":39},\"10\":{\"style\":39},\"11\":{\"style\":39},\"12\":{\"style\":39},\"13\":{\"style\":39},\"14\":{\"style\":39},\"15\":{\"style\":39},\"16\":{\"style\":39},\"17\":{\"style\":39},\"18\":{\"style\":39},\"19\":{\"style\":39},\"20\":{\"style\":39},\"21\":{\"style\":39},\"22\":{\"style\":39},\"23\":{\"style\":39},\"24\":{\"style\":39}}},\"4\":{\"cells\":{\"1\":{\"text\":\"备注:\",\"style\":62},\"2\":{\"style\":63,\"text\":\" \"},\"3\":{\"style\":63,\"text\":\" \"},\"4\":{\"style\":63,\"text\":\" \"},\"5\":{\"style\":63,\"text\":\" \"},\"6\":{\"style\":63,\"text\":\" \"},\"7\":{\"style\":64,\"text\":\" \"}}},\"5\":{\"cells\":{\"1\":{\"text\":\"1、支持模糊查询,需要输入 “*+字符串”或 “字符串+* ”或“*+字符串+*”,如:张* / *丽 / *亚*;\",\"style\":65,\"merge\":[0,6]}}},\"6\":{\"cells\":{\"1\":{\"text\":\"2、以上“出生日期”为时间类型;\",\"style\":65,\"merge\":[0,6]}}},\"7\":{\"cells\":{\"1\":{\"text\":\"3、以上“雇佣日期”为日期类型\",\"style\":65,\"merge\":[0,6]}}},\"8\":{\"cells\":{\"1\":{\"text\":\"4、以上“姓名”为字符串类型,支持精准查询和模糊查询;\",\"style\":67,\"merge\":[0,6]}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"jdcx.update_by\",\"freeze\":\"A1\",\"dataRectWidth\":1242,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"align\":\"center\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"format\":\"date\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date2\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"normal\"},{\"align\":\"center\",\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"size\":9}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"format\":\"number\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":40},\"1\":{\"width\":88},\"2\":{\"width\":86},\"3\":{\"width\":97},\"4\":{\"width\":67},\"5\":{\"width\":103},\"6\":{\"width\":115},\"7\":{\"width\":90},\"8\":{\"width\":239},\"9\":{\"width\":217},\"len\":50},\"merges\":[\"B6:H6\",\"B7:H7\",\"B8:H8\",\"B9:H9\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201216112919_1608089379396.png', 'admin', '2020-12-15 15:14:27', 'admin', '2021-02-03 13:58:44', 0, NULL, NULL, 1, 1075, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1338769064067076098', '202012151514266124', '多选条件查询报表', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1338769064067076098\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":49},\"1\":{\"style\":49},\"2\":{\"style\":49},\"3\":{\"style\":49},\"4\":{\"style\":49},\"5\":{\"style\":49},\"6\":{\"style\":49},\"7\":{\"style\":49},\"8\":{\"style\":49},\"9\":{\"style\":49},\"10\":{\"style\":49},\"11\":{\"style\":49},\"12\":{\"style\":49},\"13\":{\"style\":49},\"14\":{\"style\":49},\"15\":{\"style\":49},\"16\":{\"style\":49},\"17\":{\"style\":49},\"18\":{\"style\":49},\"19\":{\"style\":49},\"20\":{\"style\":49},\"21\":{\"style\":49},\"22\":{\"style\":49},\"23\":{\"style\":49},\"24\":{\"style\":49},\"25\":{\"style\":49}}},\"1\":{\"cells\":{\"0\":{\"style\":50},\"1\":{\"text\":\"职务\",\"style\":51},\"2\":{\"text\":\"雇员ID\",\"style\":51},\"3\":{\"text\":\"姓名\",\"style\":51},\"4\":{\"style\":51,\"text\":\"性别\"},\"5\":{\"text\":\"雇佣日期\",\"style\":51},\"6\":{\"text\":\"家庭电话\",\"style\":51},\"7\":{\"text\":\"出生日期\",\"style\":51},\"8\":{\"text\":\"户口所在地\",\"style\":51},\"9\":{\"text\":\"联系地址\",\"style\":51},\"10\":{\"text\":\"紧急联系人\",\"style\":51},\"11\":{\"style\":50},\"12\":{\"style\":50},\"13\":{\"style\":50},\"14\":{\"style\":50},\"15\":{\"style\":50},\"16\":{\"style\":50},\"17\":{\"style\":50},\"18\":{\"style\":50},\"19\":{\"style\":50},\"20\":{\"style\":50},\"21\":{\"style\":50},\"22\":{\"style\":50},\"23\":{\"style\":50},\"24\":{\"style\":50},\"25\":{\"style\":50}},\"height\":46},\"2\":{\"cells\":{\"0\":{\"style\":52},\"1\":{\"text\":\"#{pop.group(update_by)}\",\"style\":53,\"aggregate\":\"group\"},\"2\":{\"text\":\"#{pop.group(id)}\",\"style\":54,\"aggregate\":\"group\"},\"3\":{\"text\":\"#{pop.group(name)}\",\"style\":54,\"aggregate\":\"group\"},\"4\":{\"text\":\"#{pop.sex}\",\"style\":55},\"5\":{\"text\":\"#{pop.gtime}\",\"style\":56},\"6\":{\"text\":\"#{pop.jphone}\",\"style\":57},\"7\":{\"text\":\"#{pop.birth}\",\"style\":56},\"8\":{\"text\":\"#{pop.hukou}\",\"style\":58},\"9\":{\"text\":\"#{pop.laddress}\",\"style\":57},\"10\":{\"text\":\"#{pop.jperson}\",\"style\":57},\"11\":{\"style\":52},\"12\":{\"style\":52},\"13\":{\"style\":52},\"14\":{\"style\":52},\"15\":{\"style\":52},\"16\":{\"style\":52},\"17\":{\"style\":52},\"18\":{\"style\":52},\"19\":{\"style\":52},\"20\":{\"style\":52},\"21\":{\"style\":52},\"22\":{\"style\":52},\"23\":{\"style\":52},\"24\":{\"style\":52},\"25\":{\"style\":52}},\"isDrag\":true,\"height\":35},\"5\":{\"cells\":{\"2\":{\"text\":\"\"}},\"isDrag\":true},\"len\":99},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"groupField\":\"pop.update_by\",\"freeze\":\"A1\",\"dataRectWidth\":1494,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"bgcolor\":\"#5b9cd6\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"color\":\"#ffffff\"},{\"align\":\"center\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\"},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\"},{\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":8}},{\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9},\"align\":\"center\",\"format\":\"date\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#f1f9f6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ddefe8\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"date\"},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":10,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"宋体\"},\"align\":\"center\",\"format\":\"normal\"},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"Microsoft YaHei\"}},{\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#deeaf6\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#bdd7ee\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"normal\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"size\":9,\"name\":\"Microsoft YaHei\"},\"align\":\"center\",\"format\":\"date2\"}],\"validations\":[],\"isGroup\":true,\"cols\":{\"0\":{\"width\":48},\"1\":{\"width\":107},\"3\":{\"width\":91},\"4\":{\"width\":142},\"5\":{\"width\":130},\"6\":{\"width\":131},\"7\":{\"width\":235},\"8\":{\"width\":230},\"9\":{\"width\":148},\"10\":{\"width\":132},\"len\":50},\"merges\":[]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201216185224_1608116008543.png', 'admin', '2020-12-15 16:53:13', 'admin', '2021-02-03 13:58:41', 0, NULL, NULL, 1, 907, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1347373863746539520', '20210108104603', '实习证明', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":16,\"sci\":5,\"eri\":16,\"eci\":5,\"width\":147,\"height\":25},\"excel_config_id\":\"1347373863746539520\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\"},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\"},\"1\":{\"text\":\"\"}}},\"1\":{\"cells\":{\"0\":{\"text\":\"\"}}},\"3\":{\"cells\":{\"2\":{\"text\":\"\",\"rendered\":\"\"}}},\"5\":{\"cells\":{},\"height\":29},\"6\":{\"cells\":{\"2\":{\"text\":\"\",\"style\":2}},\"height\":34},\"7\":{\"cells\":{\"2\":{\"merge\":[0,4],\"text\":\"实习证明\",\"style\":2}},\"height\":41},\"8\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":3},\"2\":{\"text\":\"\"}}},\"9\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":3},\"2\":{\"text\":\"\",\"style\":3},\"3\":{\"text\":\"\"}},\"isDrag\":true,\"height\":33},\"10\":{\"cells\":{\"2\":{\"text\":\"${tt.name}\",\"style\":11},\"3\":{\"text\":\"同学在我公司与 2020年4月1日 至 2020年5月1日 实习。\",\"style\":19,\"merge\":[0,3],\"height\":34}},\"height\":34},\"11\":{\"cells\":{},\"height\":28},\"12\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":6},\"2\":{\"style\":13,\"text\":\"${tt.pingjia}\",\"merge\":[3,4],\"height\":129}},\"height\":36},\"13\":{\"cells\":{},\"height\":29},\"14\":{\"cells\":{},\"height\":33},\"15\":{\"cells\":{},\"height\":31},\"16\":{\"cells\":{}},\"17\":{\"cells\":{\"1\":{\"text\":\"\"},\"2\":{\"text\":\"特此证明!\",\"style\":12}}},\"20\":{\"cells\":{\"2\":{\"text\":\"\"},\"3\":{\"text\":\"\",\"style\":3},\"4\":{\"text\":\"\"}}},\"21\":{\"cells\":{\"4\":{\"text\":\"\"}}},\"22\":{\"cells\":{\"3\":{\"text\":\"\",\"style\":3},\"4\":{\"text\":\"证明人:\",\"style\":11},\"5\":{\"text\":\"${tt.lingdao}\",\"style\":12}}},\"23\":{\"cells\":{\"4\":{\"text\":\"\"},\"5\":{\"text\":\"${tt.shijian}\",\"style\":15}}},\"len\":100},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":576,\"displayConfig\":{},\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/11_1611283832037.png\",\"repeat\":\"no-repeat\",\"width\":\"\",\"height\":\"\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"right\"},{\"align\":\"left\"},{\"align\":\"left\",\"valign\":\"top\"},{\"align\":\"left\",\"valign\":\"top\",\"textwrap\":true},{\"font\":{\"size\":16}},{\"align\":\"left\",\"valign\":\"top\",\"textwrap\":false},{\"textwrap\":false},{\"textwrap\":true},{\"align\":\"right\",\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"align\":\"left\",\"valign\":\"top\",\"textwrap\":true,\"font\":{\"size\":12}},{\"textwrap\":true,\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12}},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14}},{\"font\":{\"size\":10}},{\"textwrap\":false,\"font\":{\"size\":12}}],\"validations\":[],\"cols\":{\"0\":{\"width\":69},\"1\":{\"width\":41},\"4\":{\"width\":119},\"5\":{\"width\":147},\"6\":{\"width\":31},\"len\":50},\"merges\":[\"C8:G8\",\"D11:G11\",\"C13:G16\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1610074948259.png', 'admin', '2021-01-08 10:46:04', 'admin', '2021-04-05 18:47:08', 0, NULL, NULL, 1, 126, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1347454742040809472', '20210108161240', '实例:年度各月份佣金收入', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"1347454742040809472\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"1\":{\"text\":\" \",\"virtual\":\"pZTpI3BKFw0lh6D7\"},\"2\":{\"text\":\"年度各月份佣金收入\",\"style\":23,\"merge\":[0,3],\"virtual\":\"pZTpI3BKFw0lh6D7\"},\"3\":{\"style\":24},\"4\":{\"style\":24},\"5\":{\"style\":24},\"6\":{\"text\":\" \"}},\"height\":37},\"2\":{\"cells\":{\"1\":{\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"text\":\"查询年度:2019\"},\"4\":{\"text\":\"查询机构:总公司\"},\"6\":{\"text\":\"单位:元\"}}},\"6\":{\"cells\":{\"1\":{\"text\":\"月份\",\"style\":12},\"2\":{\"text\":\"佣金/主营业收入\",\"style\":12},\"3\":{\"text\":\"累计\",\"style\":12},\"4\":{\"text\":\"历史最低水平\",\"style\":12},\"5\":{\"text\":\"历史平均水平\",\"style\":12},\"6\":{\"text\":\"历史最高水平\",\"style\":12}}},\"7\":{\"cells\":{\"1\":{\"text\":\"#{tmp_report_data_1.monty}\",\"style\":0},\"2\":{\"text\":\"#{tmp_report_data_1.main_income}\",\"style\":0},\"3\":{\"text\":\"#{tmp_report_data_1.total}\",\"style\":18},\"4\":{\"text\":\"#{tmp_report_data_1.his_lowest}\",\"style\":0},\"5\":{\"text\":\"#{tmp_report_data_1.his_average}\",\"style\":0},\"6\":{\"text\":\"#{tmp_report_data_1.his_highest}\",\"style\":0}},\"isDrag\":true},\"9\":{\"cells\":{\"1\":{\"merge\":[1,1]}}},\"len\":99},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":678,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true},\"align\":\"center\"},{\"font\":{\"bold\":true},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true,\"size\":15},\"align\":\"center\"},{\"font\":{\"bold\":true,\"size\":15},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#33CCCC\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#33CCCC\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#33CCCC\",\"align\":\"left\"},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":24}},{\"font\":{\"bold\":true,\"size\":22}},{\"font\":{\"bold\":true,\"size\":22},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"usd\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"rmb\"},{\"font\":{\"bold\":true,\"name\":\"黑体\"}},{\"font\":{\"bold\":true,\"name\":\"黑体\",\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"宋体\",\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"楷体\",\"size\":22}},{\"font\":{\"bold\":true,\"name\":\"楷体\",\"size\":22},\"align\":\"center\"},{\"align\":\"center\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":29},\"1\":{\"width\":111},\"2\":{\"width\":116},\"4\":{\"width\":122},\"len\":50},\"merges\":[\"B10:C11\",\"C2:F2\"],\"imgList\":[{\"row\":1,\"col\":1,\"width\":\"148\",\"height\":\"56\",\"src\":\"https://static.jeecg.com/designreport/images/kunlunlog_1610591367645.png\",\"layer_id\":\"pZTpI3BKFw0lh6D7\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[1,1],[1,2]]}]}', NULL, NULL, 'admin', '2021-01-08 16:12:40', 'admin', '2025-05-27 09:47:15', 1, NULL, NULL, 0, 55, NULL, NULL, NULL, '2', 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('1cd9d574d0c42f3915046dc61d9f33bd', '202012171553133795', '企业实时报表副本3795', NULL, NULL, '984302961118724096', '{\"chartList\":[{\"row\":6,\"col\":1,\"width\":\"302\",\"height\":\"337\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"江苏\\\",\\\"山东\\\",\\\"安徽\\\",\\\"江西\\\",\\\"河北\\\",\\\"吉林\\\",\\\"黑龙江\\\",\\\"重庆\\\",\\\"广东\\\",\\\"上海\\\",\\\"哈尔滨\\\",\\\"福建\\\",\\\"四川\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":20,\\\"left\\\":45,\\\"bottom\\\":16,\\\"right\\\":46},\\\"series\\\":[{\\\"barWidth\\\":13,\\\"data\\\":[100,800,1200,1700,2500,4000,5800,6500,7000,7500,8000,8800,9500],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":5,\\\"color\\\":\\\"rgba(67,184,251,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#689AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"销售额省份排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339491107951640577\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xiaoshoue\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"pie.doughnut\"},\"layer_id\":\"IFj1lg5S5aNG1wPx\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,1],[6,2],[6,3],[6,4]]},{\"row\":6,\"col\":10,\"width\":\"247\",\"height\":\"124\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\",\\\"其他\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"销售额\\\",\\\"value\\\":6000000,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(43,193,254,1)\\\"}},{\\\"name\\\":\\\"其他\\\",\\\"value\\\":3400879,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(42,45,76,0.59)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"45%\\\",\\\"55%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"销售进度\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339498906765000705\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xsjd\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"pie.doughnut\",\"chartId\":\"pie.doughnut\"},\"layer_id\":\"Yb2TIGEAxnvN9ITx\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,10],[6,11]]},{\"row\":6,\"col\":12,\"width\":\"244\",\"height\":\"128\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"北京\\\",\\\"青岛\\\",\\\"合肥\\\",\\\"深圳\\\",\\\"石家庄\\\",\\\"重庆\\\",\\\"保定\\\",\\\"邯郸\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":10,\\\"left\\\":49,\\\"bottom\\\":16,\\\"right\\\":45},\\\"series\\\":[{\\\"barWidth\\\":9,\\\"data\\\":[80,500,800,1000,1200,1500,1600,2000],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"rgba(146,119,252,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#689AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"销售额城市排名\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339495346077728770\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengshi\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"bar.multi.horizontal\"},\"layer_id\":\"qQHpevWlqElpRQUl\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,12],[6,13],[6,14]]},{\"row\":6,\"col\":15,\"width\":\"230\",\"height\":\"127\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"北京\\\",\\\"青岛\\\",\\\"合肥\\\",\\\"深圳\\\",\\\"石家庄\\\",\\\"重庆\\\",\\\"保定\\\",\\\"邯郸\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":10,\\\"left\\\":49,\\\"bottom\\\":20,\\\"right\\\":48},\\\"series\\\":[{\\\"barWidth\\\":9,\\\"data\\\":[80,500,800,1000,1200,1500,1600,2000],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"rgba(146,119,252,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#689AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339495346077728770\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengshi\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"bar.multi.horizontal\"},\"layer_id\":\"phTmhkjHLebYlOEQ\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[6,15],[6,16],[6,17],[6,18]]},{\"row\":7,\"col\":5,\"width\":\"430\",\"height\":\"293\",\"config\":\"{\\\"geo\\\":{\\\"map\\\":\\\"china\\\",\\\"zoom\\\":0.5,\\\"label\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"8\\\",\\\"show\\\":true},\\\"itemStyle\\\":{\\\"borderWidth\\\":0.5,\\\"areaColor\\\":\\\"#8284FB\\\",\\\"borderColor\\\":\\\"#000\\\"},\\\"emphasis\\\":{\\\"label\\\":{\\\"color\\\":\\\"#fff\\\"},\\\"itemStyle\\\":{\\\"areaColor\\\":\\\"#4195EF\\\"}},\\\"regions\\\":[],\\\"layoutSize\\\":600,\\\"roam\\\":true,\\\"layoutCenter\\\":[\\\"50%\\\",\\\"50%\\\"]},\\\"series\\\":[{\\\"encode\\\":{\\\"value\\\":[2]},\\\"data\\\":[{\\\"name\\\":\\\"河北\\\",\\\"value\\\":[114.502461,38.045474,279]},{\\\"name\\\":\\\"海南\\\",\\\"value\\\":[110.33119,20.031971,273]},{\\\"name\\\":\\\"山东\\\",\\\"value\\\":[117.000923,36.675807,229]},{\\\"name\\\":\\\"甘肃\\\",\\\"value\\\":[103.823557,36.058039,194]},{\\\"name\\\":\\\"宁夏\\\",\\\"value\\\":[106.278179,38.46637,193]},{\\\"name\\\":\\\"浙江\\\",\\\"value\\\":[120.153576,30.287459,177]},{\\\"name\\\":\\\"湖南\\\",\\\"value\\\":[112.982279,28.19409,119]},{\\\"name\\\":\\\"湖北\\\",\\\"value\\\":[114.298572,30.584355,79]},{\\\"name\\\":\\\"河南\\\",\\\"value\\\":[113.665412,34.757975,67]},{\\\"name\\\":\\\"北京\\\",\\\"value\\\":[116.405285,39.904989,58]},{\\\"name\\\":\\\"天津\\\",\\\"value\\\":[117.190182,39.125596,59]},{\\\"name\\\":\\\"上海\\\",\\\"value\\\":[121.472644,31.231706,63]}],\\\"name\\\":\\\"\\\",\\\"emphasis\\\":{\\\"label\\\":{\\\"show\\\":true}},\\\"itemStyle\\\":{\\\"color\\\":\\\"#FF1205\\\"},\\\"coordinateSystem\\\":\\\"geo\\\",\\\"label\\\":{\\\"formatter\\\":\\\"{b}\\\",\\\"show\\\":false,\\\"position\\\":\\\"right\\\"},\\\"type\\\":\\\"scatter\\\",\\\"symbolSize\\\":5}],\\\"chartType\\\":\\\"map\\\",\\\"tooltip\\\":{\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"主要城市空气质量\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"chartType\":\"map.scatter\"},\"layer_id\":\"YTri6J59av4gj1CY\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[7,5],[7,6],[7,7],[7,8]]},{\"row\":14,\"col\":12,\"width\":\"244\",\"height\":\"138\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\",\\\"其他\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"销售额\\\",\\\"value\\\":6000000,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(43,193,254,1)\\\"}},{\\\"name\\\":\\\"其他\\\",\\\"value\\\":3400879,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(42,45,76,0.59)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"50%\\\",\\\"60%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339498906765000705\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xsjd\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"pie.doughnut\",\"chartId\":\"pie.doughnut\"},\"layer_id\":\"ARuuHLfjqV9l1tQD\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[14,12],[14,13],[14,14]]},{\"row\":14,\"col\":15,\"width\":\"230\",\"height\":\"139\",\"config\":\"{\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\",\\\"其他\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"series\\\":[{\\\"isRose\\\":false,\\\"data\\\":[{\\\"name\\\":\\\"销售额\\\",\\\"value\\\":6000000,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(43,193,254,1)\\\"}},{\\\"name\\\":\\\"其他\\\",\\\"value\\\":3400879,\\\"itemStyle\\\":{\\\"color\\\":\\\"rgba(42,45,76,0.59)\\\"}}],\\\"isRadius\\\":true,\\\"roseType\\\":\\\"\\\",\\\"notCount\\\":false,\\\"name\\\":\\\"访问来源\\\",\\\"minAngle\\\":0,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"outside\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"pie\\\",\\\"radius\\\":[\\\"45%\\\",\\\"55%\\\"],\\\"autoSort\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339498906765000705\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"xsjd\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"pie.doughnut\",\"chartId\":\"\"},\"layer_id\":\"bcrMtWqTd2AJIjLd\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[14,15],[14,16],[14,17],[14,18]]},{\"row\":14,\"col\":10,\"width\":\"244\",\"height\":\"138\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"北京\\\",\\\"青岛\\\",\\\"合肥\\\",\\\"深圳\\\",\\\"石家庄\\\",\\\"重庆\\\",\\\"保定\\\",\\\"邯郸\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type\\\":\\\"category\\\"},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#333\\\"}},\\\"show\\\":false,\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false},\\\"type \\\":\\\"value\\\"},\\\"legend\\\":{\\\"padding\\\":[25,20,25,10],\\\"data\\\":[\\\"销售额\\\"],\\\"top\\\":\\\"top\\\",\\\"orient\\\":\\\"horizontal\\\",\\\"left\\\":\\\"center\\\",\\\"show\\\":false,\\\"textStyle\\\":{\\\"color\\\":\\\"#333\\\",\\\"fontSize\\\":12}},\\\"grid\\\":{\\\"top\\\":10,\\\"left\\\":49,\\\"bottom\\\":15,\\\"right\\\":45},\\\"series\\\":[{\\\"barWidth\\\":9,\\\"data\\\":[80,500,800,1000,1200,1500,1600,2000],\\\"name\\\":\\\"销售额\\\",\\\"itemStyle\\\":{\\\"barBorderRadius\\\":0,\\\"color\\\":\\\"rgba(146,119,252,1)\\\"},\\\"label\\\":{\\\"show\\\":true,\\\"position\\\":\\\"right\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#698AFB\\\",\\\"fontSize\\\":\\\"10\\\",\\\"fontWeight\\\":\\\"normal\\\"}},\\\"type\\\":\\\"bar\\\",\\\"barMinHeight\\\":2,\\\"typeData\\\":[],\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontWeight\\\":\\\"bolder\\\"}}],\\\"tooltip\\\":{\\\"show\\\":true,\\\"axisPointer\\\":{\\\"type\\\":\\\"shadow\\\"},\\\"trigger\\\":\\\"axis\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":false,\\\"top\\\":5,\\\"text\\\":\\\"某站点用户访问来源\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#c23531\\\",\\\"fontWeight\\\":\\\"bolder\\\",\\\"fontSize\\\":18},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,20]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339495346077728770\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"chengshi\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"bar.multi.horizontal\",\"chartId\":\"bar.multi.horizontal\"},\"layer_id\":\"Y1kgYOWBHIVQdSN5\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[14,10],[14,11]]},{\"row\":20,\"col\":1,\"width\":\"743\",\"height\":\"150\",\"config\":\"{\\\"yAxis\\\":{\\\"axisLabel\\\":{\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"xAxis\\\":{\\\"axisLabel\\\":{\\\"rotate\\\":0,\\\"interval\\\":0,\\\"textStyle\\\":{\\\"color\\\":\\\"#FEFEFE\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"data\\\":[\\\"2020-01-09\\\",\\\"2020-01-12\\\",\\\"2020-01-14\\\",\\\"2020-01-16\\\",\\\"2020-01-18\\\"],\\\"axisLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\"}},\\\"show\\\":true,\\\"name\\\":\\\"\\\",\\\"splitLine\\\":{\\\"lineStyle\\\":{\\\"color\\\":\\\"red\\\",\\\"width\\\":1,\\\"type\\\":\\\"solid\\\"},\\\"show\\\":false}},\\\"grid\\\":{\\\"top\\\":53,\\\"left\\\":22,\\\"bottom\\\":37,\\\"right\\\":20},\\\"series\\\":[{\\\"areaStyle\\\":{\\\"color\\\":\\\"#43B8FB\\\",\\\"opacity\\\":0.7},\\\"data\\\":[2,6,7,5,6],\\\"showSymbol\\\":true,\\\"lineStyle\\\":{\\\"width\\\":2},\\\"symbolSize\\\":5,\\\"isArea\\\":true,\\\"name\\\":\\\"销量\\\",\\\"itemStyle\\\":{\\\"color\\\":\\\"#43B8FB\\\"},\\\"step\\\":false,\\\"label\\\":{\\\"show\\\":false,\\\"position\\\":\\\"top\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"black\\\",\\\"fontSize\\\":16,\\\"fontWeight\\\":\\\"bolder\\\"}},\\\"type\\\":\\\"line\\\",\\\"smooth\\\":false}],\\\"tooltip\\\":{\\\"formatter\\\":\\\"{b} : {c}\\\",\\\"show\\\":true,\\\"textStyle\\\":{\\\"color\\\":\\\"#fff\\\",\\\"fontSize\\\":\\\"10\\\"}},\\\"title\\\":{\\\"show\\\":true,\\\"top\\\":14,\\\"text\\\":\\\"销售额增速\\\",\\\"textStyle\\\":{\\\"color\\\":\\\"#FFFFFF\\\",\\\"fontWeight\\\":\\\"normal\\\",\\\"fontSize\\\":\\\"14\\\"},\\\"left\\\":\\\"left\\\",\\\"padding\\\":[5,20,5,10]}}\",\"url\":\"\",\"extData\":{\"dataType\":\"api\",\"apiStatus\":\"1\",\"dataId\":\"1339538388453195777\",\"axisX\":\"name\",\"axisY\":\"value\",\"series\":\"type\",\"yText\":\"\",\"xText\":\"\",\"dbCode\":\"zhexian\",\"dataId1\":\"\",\"source\":\"\",\"target\":\"\",\"isTiming\":true,\"intervalTime\":\"5\",\"chartType\":\"line.area\",\"chartId\":\"\"},\"layer_id\":\"uChrZaHYoV04MQpT\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[20,1],[20,2],[20,3],[20,4],[20,5],[20,6],[20,7],[20,8],[20,9]]}],\"area\":{\"sri\":4,\"sci\":5,\"eri\":4,\"eci\":5,\"width\":105,\"height\":38},\"printElWidth\":1800,\"excel_config_id\":\"1339478701846433792\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{}},\"2\":{\"cells\":{\"1\":{\"merge\":[0,17],\"text\":\"企业实时销售数据\",\"style\":3}}},\"3\":{\"cells\":{},\"height\":35},\"4\":{\"cells\":{\"1\":{\"text\":\" 销售额省份排名\",\"style\":32,\"merge\":[0,1],\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"2\":{\"style\":32,\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"5\":{\"text\":\" 销售总额\",\"style\":69},\"10\":{\"text\":\" 销售进度\",\"style\":43},\"11\":{\"text\":\"\",\"style\":43},\"13\":{\"text\":\" 销售额城市排名\",\"style\":32,\"merge\":[0,1]},\"14\":{\"style\":32},\"15\":{\"text\":\" 个人业绩排名\",\"style\":32,\"merge\":[0,1]},\"16\":{\"style\":32},\"17\":{\"text\":\"\",\"style\":32,\"merge\":[0,1]},\"18\":{\"style\":32}},\"height\":38},\"5\":{\"cells\":{\"1\":{\"text\":\" Sales ranking points\",\"virtual\":\"IFj1lg5S5aNG1wPx\",\"style\":62,\"merge\":[0,1]},\"2\":{\"style\":31},\"5\":{\"text\":\"12436025\",\"style\":52,\"merge\":[1,0]},\"6\":{\"merge\":[1,0],\"text\":\"元\",\"style\":22},\"10\":{\"text\":\" Sales progress\",\"style\":33},\"11\":{\"text\":\"\",\"virtual\":\"Yb2TIGEAxnvN9ITx\",\"style\":33},\"13\":{\"text\":\" Sales ranking\",\"virtual\":\"qQHpevWlqElpRQUl\",\"style\":31},\"14\":{\"style\":32},\"15\":{\"text\":\" Personal ranking\",\"style\":62,\"merge\":[0,1]},\"16\":{\"style\":62},\"17\":{\"text\":\"\",\"style\":62,\"merge\":[0,1]},\"18\":{\"style\":62}},\"height\":24},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"merge\":[0,1],\"style\":31,\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"2\":{\"style\":31,\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"3\":{\"text\":\" \",\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"4\":{\"text\":\" \",\"virtual\":\"IFj1lg5S5aNG1wPx\"},\"5\":{\"style\":53},\"6\":{\"style\":22},\"10\":{\"text\":\" \",\"virtual\":\"Yb2TIGEAxnvN9ITx\"},\"11\":{\"text\":\"\",\"style\":33,\"virtual\":\"Yb2TIGEAxnvN9ITx\"},\"12\":{\"text\":\" \",\"virtual\":\"qQHpevWlqElpRQUl\"},\"13\":{\"text\":\"\",\"virtual\":\"qQHpevWlqElpRQUl\",\"style\":31},\"14\":{\"text\":\" \",\"virtual\":\"qQHpevWlqElpRQUl\"},\"15\":{\"text\":\" \",\"virtual\":\"phTmhkjHLebYlOEQ\"},\"16\":{\"text\":\" \",\"virtual\":\"phTmhkjHLebYlOEQ\"},\"17\":{\"text\":\" \",\"style\":31,\"virtual\":\"phTmhkjHLebYlOEQ\"},\"18\":{\"text\":\" \",\"virtual\":\"phTmhkjHLebYlOEQ\"}}},\"7\":{\"cells\":{\"5\":{\"style\":53,\"virtual\":\"YTri6J59av4gj1CY\"},\"6\":{\"style\":22,\"virtual\":\"YTri6J59av4gj1CY\"},\"7\":{\"text\":\" \",\"virtual\":\"YTri6J59av4gj1CY\"},\"8\":{\"text\":\" \",\"virtual\":\"YTri6J59av4gj1CY\"}}},\"8\":{\"cells\":{\"5\":{\"style\":18,\"text\":\"\",\"virtual\":\"YTri6J59av4gj1CY\"}}},\"9\":{\"cells\":{\"5\":{\"style\":21,\"text\":\"\"}}},\"10\":{\"cells\":{\"5\":{\"text\":\"\",\"style\":17}}},\"12\":{\"cells\":{\"10\":{\"text\":\" 品类销售排名\",\"style\":43},\"11\":{\"text\":\"\",\"style\":43},\"13\":{\"text\":\" 品类销售额占比\",\"style\":43,\"merge\":[0,1]},\"14\":{\"style\":54},\"15\":{\"text\":\" 一季度销售季度\",\"style\":43,\"merge\":[0,1]},\"16\":{\"style\":54},\"17\":{\"text\":\"\",\"style\":43,\"merge\":[0,1]},\"18\":{\"style\":54}}},\"13\":{\"cells\":{\"10\":{\"text\":\" Category Sales ranking\",\"style\":31},\"11\":{\"text\":\"\",\"style\":31},\"13\":{\"text\":\" Type of Sales \",\"style\":31},\"15\":{\"text\":\" Quarterly sales progree\",\"style\":58,\"merge\":[0,1]},\"16\":{\"style\":58},\"17\":{\"text\":\"\",\"style\":58,\"merge\":[0,1]},\"18\":{\"style\":58}}},\"14\":{\"cells\":{\"10\":{\"text\":\" \",\"virtual\":\"Y1kgYOWBHIVQdSN5\"},\"11\":{\"text\":\" \",\"virtual\":\"Y1kgYOWBHIVQdSN5\"},\"12\":{\"text\":\" \",\"virtual\":\"ARuuHLfjqV9l1tQD\"},\"13\":{\"text\":\" \",\"virtual\":\"ARuuHLfjqV9l1tQD\"},\"14\":{\"text\":\" \",\"virtual\":\"ARuuHLfjqV9l1tQD\"},\"15\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"},\"16\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"},\"17\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"},\"18\":{\"text\":\" \",\"virtual\":\"bcrMtWqTd2AJIjLd\"}}},\"15\":{\"cells\":{},\"height\":15},\"16\":{\"cells\":{\"11\":{\"text\":\"\",\"style\":43},\"13\":{\"text\":\"\",\"style\":43,\"merge\":[0,1]},\"14\":{\"style\":54},\"17\":{\"text\":\"\",\"style\":43,\"merge\":[0,1]},\"18\":{\"style\":54}}},\"17\":{\"cells\":{\"11\":{\"text\":\"\",\"style\":31},\"13\":{\"text\":\"\",\"style\":31},\"17\":{\"text\":\"\",\"merge\":[0,1],\"style\":58},\"18\":{\"style\":58}}},\"18\":{\"cells\":{}},\"20\":{\"cells\":{\"1\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"2\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"3\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"4\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"5\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"6\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"7\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"8\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"},\"9\":{\"text\":\" \",\"virtual\":\"uChrZaHYoV04MQpT\"}},\"height\":39},\"22\":{\"cells\":{\"10\":{\"text\":\"企业经营指标\",\"style\":74},\"11\":{\"text\":\"1201043元\",\"style\":73},\"13\":{\"text\":\"企业经营指标\",\"style\":74},\"14\":{\"text\":\"1201043元\",\"style\":73},\"16\":{\"text\":\"企业经营指标\",\"style\":74},\"17\":{\"text\":\"1201043元\",\"style\":73}}},\"23\":{\"cells\":{\"10\":{\"text\":\"企业经营指标1\",\"style\":74},\"11\":{\"text\":\"1201043元\",\"style\":73},\"13\":{\"text\":\"企业经营指标1\",\"style\":74},\"14\":{\"text\":\"1201043元\",\"style\":73},\"16\":{\"text\":\"企业经营指标1\",\"style\":74},\"17\":{\"text\":\"1201043元\",\"style\":73}}},\"26\":{\"cells\":{},\"height\":33},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1584,\"background\":{\"path\":\"https://static.jeecg.com/designreport/images/bg55_1608205385382.png\",\"repeat\":\"no-repeat\",\"width\":\"1525\",\"height\":\"700\"},\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"color\":\"#ffffff\"},{\"color\":\"#ffffff\",\"font\":{\"size\":16}},{\"color\":\"#ffffff\",\"font\":{\"size\":16},\"align\":\"center\"},{\"color\":\"#ffffff\",\"font\":{\"size\":18},\"align\":\"center\"},{\"font\":{\"size\":18}},{\"color\":\"#67b1ee\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":14}},{\"color\":\"#67b1ee\",\"font\":{\"size\":12}},{\"font\":{\"size\":14}},{\"font\":{\"size\":18},\"bgcolor\":\"#ffffff\"},{\"font\":{\"size\":18},\"bgcolor\":\"#ffffff\",\"color\":\"#ffffff\"},{\"font\":{\"size\":16},\"bgcolor\":\"#ffffff\",\"color\":\"#ffffff\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"right\"},{\"font\":{\"size\":16},\"bgcolor\":\"#ffffff\",\"color\":\"#ffffff\",\"align\":\"right\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":16}},{\"font\":{\"size\":16},\"color\":\"#fe0000\"},{\"font\":{\"size\":16},\"color\":\"#fe0000\",\"align\":\"center\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"left\"},{\"align\":\"left\"},{\"align\":\"left\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":14},\"color\":\"#ffffff\"},{\"font\":{\"size\":12},\"color\":\"#ffffff\"},{\"font\":{\"size\":12,\"bold\":true},\"color\":\"#ffffff\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#ffffff\"},{\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"color\":\"#67b1ee\"},{\"font\":{\"size\":9},\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"font\":{\"size\":8},\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"font\":{\"size\":11,\"bold\":false},\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"font\":{\"size\":8},\"color\":\"#67b1ee\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"left\",\"valign\":\"bottom\"},{\"align\":\"left\",\"valign\":\"bottom\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"center\",\"valign\":\"bottom\"},{\"align\":\"center\",\"valign\":\"bottom\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":12},\"align\":\"left\",\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"size\":11}},{\"font\":{\"size\":11},\"color\":\"#ffffff\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\",\"valign\":\"middle\"},{\"font\":{\"size\":11},\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"color\":\"#ffffff\",\"font\":{\"size\":12},\"align\":\"left\",\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\",\"color\":\"#ffffff\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":16}},{\"color\":\"#ffff01\",\"font\":{\"size\":16}},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"left\",\"valign\":\"middle\"},{\"color\":\"#ffffff\",\"font\":{\"size\":14},\"align\":\"left\",\"valign\":\"middle\"},{\"color\":\"#ffff01\",\"font\":{\"size\":14},\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"size\":14},\"color\":\"#ffff01\"},{\"color\":\"#ffff01\",\"font\":{\"size\":14},\"align\":\"right\",\"valign\":\"middle\"},{\"font\":{\"size\":14},\"color\":\"#ffff01\",\"align\":\"right\"},{\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"font\":{\"size\":8},\"bgcolor\":\"#67b1ee\"},{\"font\":{\"size\":8},\"bgcolor\":\"#ffffff\"},{\"font\":{\"size\":8},\"bgcolor\":\"#ffffff\",\"color\":\"#67b1ee\"},{\"font\":{\"size\":8},\"bgcolor\":\"#ffffff\",\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"font\":{\"size\":8,\"bold\":false},\"color\":\"#ffffff\",\"valign\":\"bottom\"},{\"font\":{\"size\":8,\"bold\":false},\"color\":\"#ffffff\",\"valign\":\"top\"},{\"font\":{\"size\":8},\"valign\":\"top\"},{\"font\":{\"size\":8,\"bold\":false},\"color\":\"#67b1ee\",\"valign\":\"top\"},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"center\",\"valign\":\"middle\"},{\"align\":\"center\"},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"right\",\"valign\":\"middle\"},{\"align\":\"right\"},{\"color\":\"#ffffff\",\"font\":{\"size\":14},\"align\":\"right\",\"valign\":\"middle\"},{\"align\":\"right\",\"font\":{\"size\":14}},{\"color\":\"#ffffff\",\"font\":{\"size\":11},\"align\":\"left\",\"valign\":\"bottom\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":11}},{\"color\":\"#67b1ee\",\"font\":{\"size\":11},\"align\":\"center\"},{\"font\":{\"size\":12}},{\"font\":{\"size\":12},\"color\":\"#ffff01\"},{\"color\":\"#67b1ee\",\"font\":{\"size\":11},\"align\":\"right\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":10},\"3\":{\"width\":102},\"4\":{\"width\":9},\"5\":{\"width\":105},\"6\":{\"width\":102},\"8\":{\"width\":124},\"9\":{\"width\":14},\"10\":{\"width\":136},\"11\":{\"width\":114},\"12\":{\"width\":15},\"13\":{\"width\":113},\"14\":{\"width\":129},\"15\":{\"width\":11},\"len\":27},\"merges\":[\"B7:C7\",\"N17:O17\",\"R17:S17\",\"R18:S18\",\"B3:S3\",\"R6:S6\",\"B5:C5\",\"B6:C6\",\"F6:F7\",\"G6:G7\",\"N5:O5\",\"R5:S5\",\"N13:O13\",\"R13:S13\",\"R14:S14\",\"P5:Q5\",\"P6:Q6\",\"P14:Q14\",\"P13:Q13\"]}', NULL, 'https://static.jeecg.com/designreport/images/QQ截图20201218200943_1608293404719.png', 'admin', '2021-01-18 13:21:10', 'admin', '2021-02-03 14:01:28', 0, NULL, NULL, 0, 666, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('519c1c6f4d1f584ae8fa5b43b45acdc7', '56623333333', '销售单', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"519c1c6f4d1f584ae8fa5b43b45acdc7\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"销售单\",\"style\":40,\"merge\":[0,6]}},\"height\":99},\"1\":{\"cells\":{\"1\":{\"text\":\"商品编码\",\"style\":62},\"2\":{\"text\":\"商品名称\",\"style\":62},\"3\":{\"text\":\"销售时间\",\"style\":62},\"4\":{\"text\":\"销售数量\",\"style\":62},\"5\":{\"text\":\"定价\",\"style\":62},\"6\":{\"text\":\"优惠价\",\"style\":62},\"7\":{\"text\":\"付款金额\",\"style\":62}},\"height\":39},\"2\":{\"cells\":{\"1\":{\"text\":\"#{xiaoshou.bianma}\",\"style\":61},\"2\":{\"text\":\"#{xiaoshou.cname}\",\"style\":61},\"3\":{\"text\":\"#{xiaoshou.ctime}\",\"style\":61},\"4\":{\"text\":\"#{xiaoshou.cnum}\",\"style\":61},\"5\":{\"text\":\"#{xiaoshou.cprice}\",\"style\":61},\"6\":{\"text\":\"#{xiaoshou.yprice}\",\"style\":61},\"7\":{\"text\":\"#{xiaoshou.ctotal}\",\"style\":61}},\"isDrag\":true,\"height\":35},\"3\":{\"cells\":{\"1\":{\"style\":44,\"text\":\"\"},\"5\":{\"style\":44,\"text\":\"\"},\"6\":{\"text\":\"\",\"style\":45},\"7\":{\"style\":46,\"text\":\"=SUM(H3)\"}},\"isDrag\":true,\"height\":73},\"5\":{\"cells\":{},\"isDrag\":true},\"6\":{\"cells\":{},\"isDrag\":true},\"7\":{\"cells\":{\"2\":{\"text\":\"\"}},\"isDrag\":true},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":703,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"size\":18}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#fed964\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#fdc101\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#fdc101\"},{\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#ffe59a\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#ffc001\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#fed964\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#ed7d31\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#fdc101\"],\"top\":[\"thin\",\"#fdc101\"],\"left\":[\"thin\",\"#fdc101\"],\"right\":[\"thin\",\"#fdc101\"]},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":8},\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":true,\"size\":12}},{\"font\":{\"bold\":true,\"size\":16}},{\"font\":{\"bold\":true,\"size\":18}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"left\"},{\"align\":\"right\",\"font\":{\"size\":16}},{\"align\":\"left\",\"font\":{\"size\":16}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"size\":14,\"name\":\"宋体\"}},{\"align\":\"left\",\"font\":{\"size\":14,\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#2e75b5\"],\"top\":[\"thin\",\"#2e75b5\"],\"left\":[\"thin\",\"#2e75b5\"],\"right\":[\"thin\",\"#2e75b5\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#ffff01\"],\"top\":[\"thin\",\"#ffff01\"],\"left\":[\"thin\",\"#ffff01\"],\"right\":[\"thin\",\"#ffff01\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"size\":14,\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#2e75b5\"],\"top\":[\"thin\",\"#2e75b5\"],\"left\":[\"thin\",\"#2e75b5\"],\"right\":[\"thin\",\"#2e75b5\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#4371c6\"],\"top\":[\"thin\",\"#4371c6\"],\"left\":[\"thin\",\"#4371c6\"],\"right\":[\"thin\",\"#4371c6\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]}},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"],\"top\":[\"thin\",\"#d8d8d8\"],\"left\":[\"thin\",\"#d8d8d8\"],\"right\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"宋体\"},\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}}],\"validations\":[],\"cols\":{\"0\":{\"width\":18},\"1\":{\"width\":102},\"2\":{\"width\":132},\"3\":{\"width\":147},\"4\":{\"width\":66},\"5\":{\"width\":66},\"6\":{\"width\":84},\"7\":{\"width\":88},\"8\":{\"width\":121},\"len\":50},\"merges\":[\"B1:H1\"]}', '', 'https://static.jeecg.com/designreport/images/xiaoshou_1607310086160.png', 'jeecg', '2020-07-28 16:54:44', 'admin', '2021-04-01 03:09:25', 0, NULL, NULL, 1, 2088, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('53c82a76f837d5661dceec7d93afafec', '5678', '阜阳检票数查询', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"printElWidth\":718,\"excel_config_id\":\"53c82a76f837d5661dceec7d93afafec\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"\",\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":67,\"merge\":[0,3],\"text\":\"阜阳火车站检票数\"},\"4\":{\"style\":67},\"5\":{\"style\":67},\"6\":{\"style\":67},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":63},\"1\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":66},\"4\":{\"style\":66},\"5\":{\"style\":66},\"6\":{\"style\":66},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":20},\"2\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"日期:\",\"style\":68},\"2\":{\"text\":\"${gongsi.tdata}\",\"style\":69},\"3\":{\"style\":66},\"4\":{\"style\":66,\"text\":\"制表人:\"},\"5\":{\"text\":\"${gongsi.gname}\",\"style\":66},\"6\":{\"style\":66},\"7\":{\"text\":\"\",\"merge\":[0,1],\"style\":70},\"8\":{\"style\":70},\"9\":{\"style\":58}},\"isDrag\":true},\"3\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"班次\",\"merge\":[1,0],\"style\":71},\"2\":{\"text\":\"发车时间\",\"merge\":[1,0],\"style\":71},\"3\":{\"text\":\"是否放空\",\"merge\":[1,0],\"style\":71},\"4\":{\"text\":\"路线\",\"merge\":[0,1],\"style\":71},\"5\":{\"style\":72},\"6\":{\"text\":\"核载座位数\",\"merge\":[1,0],\"style\":71},\"7\":{\"merge\":[1,0],\"style\":71,\"text\":\"检票数\"},\"8\":{\"merge\":[1,0],\"style\":71,\"text\":\"实载率(%)\"},\"9\":{\"style\":58}}},\"4\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":72},\"2\":{\"style\":71},\"3\":{\"style\":72},\"4\":{\"text\":\"从\",\"style\":71},\"5\":{\"text\":\"到\",\"style\":71},\"6\":{\"style\":72},\"7\":{\"style\":71},\"8\":{\"style\":72},\"9\":{\"style\":58}},\"height\":25},\"5\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":73,\"text\":\"#{jianpiao.bnum}\"},\"2\":{\"style\":73,\"text\":\"#{jianpiao.ftime}\"},\"3\":{\"style\":73,\"text\":\"#{jianpiao.sfkong}\"},\"4\":{\"style\":73,\"text\":\"#{jianpiao.kaishi}\"},\"5\":{\"style\":73,\"text\":\"#{jianpiao.jieshu}\"},\"6\":{\"style\":73,\"text\":\"#{jianpiao.hezairen}\"},\"7\":{\"style\":73,\"text\":\"#{jianpiao.jpnum}\"},\"8\":{\"style\":73,\"text\":\"#{jianpiao.shihelv}\"},\"9\":{\"style\":58}},\"height\":33},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11,\"text\":\"\"},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"8\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"9\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"10\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"11\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"12\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"13\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"14\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"len\":96,\"-1\":{\"cells\":{\"-1\":{\"text\":\"${gongsi.id}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":701,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"],\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":22,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"宋体\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"right\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":17},\"1\":{\"width\":118},\"2\":{\"width\":75},\"3\":{\"width\":54},\"4\":{\"width\":95},\"5\":{\"width\":109},\"6\":{\"width\":75},\"7\":{\"width\":75},\"8\":{\"width\":83},\"9\":{\"width\":30},\"len\":50},\"merges\":[\"E4:F4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"G4:G5\",\"H4:H5\",\"I4:I5\",\"D1:G1\",\"H3:I3\"]}', '', 'https://static.jeecg.com/designreport/images/25_1597233573577.png', 'jeecg', '2020-06-16 15:01:42', 'admin', '2021-02-03 12:11:37', 0, NULL, NULL, 1, 696, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('6059e405dd9c66a6d38e00841d2e40cc', '566777', '处方笺', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":9,\"sci\":3,\"eri\":9,\"eci\":11,\"width\":593,\"height\":25},\"printElWidth\":718,\"excel_config_id\":\"6059e405dd9c66a6d38e00841d2e40cc\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"3\":{\"style\":80,\"text\":\" \"}},\"height\":96},\"1\":{\"cells\":{\"1\":{\"style\":24,\"text\":\" \"},\"2\":{\"style\":25,\"text\":\" \"},\"3\":{\"style\":25,\"text\":\" \"},\"4\":{\"style\":25,\"text\":\" \"},\"5\":{\"style\":25,\"text\":\" \"},\"6\":{\"style\":25,\"text\":\" \"},\"7\":{\"style\":25,\"text\":\" \"},\"8\":{\"style\":25,\"text\":\" \"},\"9\":{\"style\":25,\"text\":\" \"},\"10\":{\"style\":25,\"text\":\" \"},\"11\":{\"style\":25,\"text\":\" \"},\"12\":{\"style\":26,\"text\":\" \"}},\"height\":18},\"2\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":27},\"2\":{\"merge\":[0,9],\"text\":\"智能医学院处方笺\",\"style\":38},\"3\":{\"style\":12,\"text\":\" \"},\"4\":{\"style\":12,\"text\":\" \"},\"5\":{\"style\":12,\"text\":\" \"},\"6\":{\"style\":12,\"text\":\" \"},\"7\":{\"style\":12,\"text\":\" \"},\"8\":{\"style\":12,\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"style\":12,\"text\":\" \"},\"11\":{\"style\":12,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"height\":124},\"3\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":46},\"2\":{\"merge\":[0,1],\"text\":\"姓名:\",\"style\":4},\"3\":{\"style\":4,\"text\":\" \"},\"4\":{\"text\":\"${yonghu.yphone}\"},\"5\":{\"text\":\"性别:\",\"style\":42},\"6\":{\"text\":\"${yonghu.ysex}\",\"style\":42},\"7\":{\"text\":\"年龄:\",\"style\":47},\"8\":{\"text\":\"${yonghu.yage}\"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \",\"style\":42},\"11\":{\"style\":69,\"text\":\" \",\"merge\":[0,1]},\"12\":{\"style\":43,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"isDrag\":true},\"4\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":74},\"2\":{\"style\":4,\"merge\":[0,1],\"text\":\"单位:\"},\"3\":{\"style\":4,\"text\":\" \"},\"4\":{\"text\":\"${yonghu.danwei}\"},\"5\":{\"text\":\"电话:\"},\"6\":{\"text\":\"${yonghu.yphone}\",\"merge\":[0,5]},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"15\":{\"text\":\"\"}},\"isDrag\":true,\"height\":29},\"5\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"merge\":[0,1],\"text\":\"初步诊断:\",\"style\":4},\"3\":{\"text\":\" \",\"style\":4},\"4\":{\"text\":\"${yonghu.yjieguo}\",\"merge\":[0,7]},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true,\"height\":34},\"6\":{\"cells\":{\"1\":{\"text\":\" RP:\",\"merge\":[0,2],\"style\":79},\"2\":{\"style\":11,\"text\":\" \"},\"3\":{\"style\":11,\"text\":\" \"},\"4\":{\"style\":39,\"text\":\" \"},\"5\":{\"style\":0,\"text\":\" \"},\"6\":{\"style\":0,\"text\":\" \"},\"7\":{\"style\":0,\"text\":\" \"},\"8\":{\"style\":0,\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"style\":0,\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"14\":{},\"16\":{}},\"height\":79},\"7\":{\"cells\":{\"1\":{\"text\":\".\",\"style\":48},\"2\":{\"text\":\"\",\"style\":1},\"3\":{\"text\":\"#{yaopin.name}\",\"merge\":[0,1]},\"5\":{},\"6\":{},\"7\":{\"text\":\"#{yaopin.percent}\",\"merge\":[0,1]},\"9\":{},\"10\":{},\"11\":{\"text\":\"\"},\"12\":{\"style\":28,\"text\":\" \"},\"14\":{}},\"isDrag\":true,\"height\":37},\"8\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"height\":27},\"9\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"医嘱:\",\"style\":76},\"3\":{\"text\":\"${yonghu.yizhu}\",\"style\":6,\"merge\":[0,8]},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"10\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"药品费\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"text\":\"${yonghu.yprice}\",\"style\":6},\"5\":{\"text\":\"中成药费\",\"style\":6,\"rendered\":\"\",\"merge\":[0,1]},\"7\":{\"style\":6,\"text\":\" \"},\"8\":{\"text\":\"治疗费\",\"merge\":[0,2],\"style\":6},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"style\":6,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"11\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"检查费\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"style\":6,\"text\":\" \"},\"5\":{\"text\":\"换药费\",\"style\":6,\"merge\":[0,1]},\"7\":{\"style\":6,\"text\":\" \"},\"8\":{\"merge\":[0,2],\"text\":\"诊疗费\",\"style\":6},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\"${yonghu.yzhenliao}\",\"style\":6},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"12\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"注射费\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"style\":6,\"merge\":[0,3],\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"merge\":[0,2],\"text\":\"其他\",\"style\":6},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"style\":6,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}}},\"13\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"合计\",\"style\":6,\"merge\":[0,1]},\"3\":{\"text\":\" \"},\"4\":{\"text\":\"${yonghu.ytotal}\",\"style\":6,\"merge\":[0,7]},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"isDrag\":true},\"14\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\" \"},\"3\":{\"text\":\" \"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\" \"},\"6\":{\"text\":\" \"},\"7\":{\"text\":\" \"},\"8\":{\"text\":\" \"},\"9\":{\"text\":\" \"},\"10\":{\"text\":\" \"},\"11\":{\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"height\":9},\"15\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"text\":\"医师:\",\"style\":4,\"rendered\":\"\",\"merge\":[0,1]},\"4\":{\"text\":\"${yonghu.yishe}\",\"style\":80},\"5\":{\"style\":80,\"text\":\" \"},\"6\":{\"style\":80,\"text\":\" \"},\"7\":{\"style\":80,\"text\":\" \"},\"8\":{\"text\":\"日期:\",\"style\":4},\"9\":{\"text\":\"${yonghu.kdata}\",\"style\":80,\"merge\":[0,2]},\"12\":{\"style\":71,\"text\":\" \"},\"13\":{\"style\":80,\"text\":\" \"}},\"isDrag\":true,\"height\":43},\"16\":{\"cells\":{\"1\":{\"style\":31,\"text\":\" \"},\"2\":{\"style\":80,\"text\":\" \"},\"3\":{\"style\":80,\"text\":\" \"},\"4\":{\"style\":80,\"text\":\" \"},\"5\":{\"style\":80,\"text\":\" \"},\"6\":{\"style\":80,\"text\":\" \"},\"7\":{\"style\":80,\"text\":\" \"},\"8\":{\"style\":80,\"text\":\" \"},\"9\":{\"style\":80,\"text\":\" \"},\"10\":{\"style\":80,\"text\":\" \"},\"11\":{\"style\":80,\"text\":\" \"},\"12\":{\"style\":28,\"text\":\" \"}},\"height\":17},\"17\":{\"cells\":{\"1\":{\"text\":\" \",\"style\":32},\"2\":{\"text\":\" \",\"style\":33},\"3\":{\"style\":33,\"text\":\" \"},\"4\":{\"text\":\" \",\"style\":33},\"5\":{\"text\":\" \",\"style\":33},\"6\":{\"text\":\" \",\"style\":33},\"7\":{\"text\":\" \",\"style\":33},\"8\":{\"text\":\" \",\"style\":33},\"9\":{\"text\":\" \",\"style\":33},\"10\":{\"text\":\" \",\"style\":33},\"11\":{\"text\":\" \",\"style\":33},\"12\":{\"text\":\" \",\"style\":34}}},\"18\":{\"cells\":{\"11\":{\"text\":\"\"}},\"isDrag\":true},\"len\":94,\"-1\":{\"cells\":{\"-1\":{\"text\":\"#{yaopin.key1}\"}},\"isDrag\":true},\"\":{\"cells\":{\"NaN\":{\"text\":\"\",\"rendered\":\"\"}}}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":709,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":12}},{\"font\":{\"size\":10}},{\"font\":{\"size\":12},\"align\":\"right\"},{\"font\":{\"size\":14}},{\"align\":\"right\"},{\"font\":{\"size\":10},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\"},{\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":12,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":15}},{\"align\":\"left\"},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":true}},{\"font\":{\"size\":12,\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"valign\":\"bottom\"},{\"font\":{\"size\":10},\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"align\":\"right\",\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"valign\":\"bottom\",\"align\":\"right\"},{\"font\":{\"size\":10},\"valign\":\"bottom\",\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":true},{\"font\":{\"size\":10},\"textwrap\":true},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false},{\"font\":{\"size\":10},\"textwrap\":false},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false,\"align\":\"right\"},{\"font\":{\"size\":10},\"textwrap\":false,\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false,\"align\":\"left\"},{\"font\":{\"size\":10},\"textwrap\":false,\"align\":\"left\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thick\",\"#000\"]},\"textwrap\":false,\"align\":\"center\"},{\"font\":{\"size\":10},\"textwrap\":false,\"align\":\"center\"},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":15},\"align\":\"right\"},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]},\"valign\":\"bottom\",\"align\":\"right\"},{\"font\":{\"size\":10},\"valign\":\"bottom\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"left\":[\"thin\",\"#000\"]},\"textwrap\":false,\"align\":\"left\"},{\"font\":{\"size\":10},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":15},\"border\":{\"left\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"left\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"valign\":\"bottom\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":10},\"align\":\"left\"},{\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"font\":{\"size\":10},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":10},\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":15,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{},{\"font\":{\"size\":15,\"bold\":true},\"align\":\"center\"},{\"align\":\"right\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true},\"align\":\"center\",\"border\":{\"bottom\":[\"thick\",\"#000\"],\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}}],\"validations\":[],\"cols\":{\"0\":{\"width\":23},\"1\":{\"width\":14},\"2\":{\"width\":56},\"3\":{\"width\":40},\"4\":{\"width\":156},\"5\":{\"width\":41},\"6\":{\"width\":18},\"7\":{\"width\":92},\"8\":{\"width\":58},\"9\":{\"width\":20},\"10\":{\"width\":20},\"11\":{\"width\":148},\"12\":{\"width\":12},\"13\":{\"width\":11},\"len\":50},\"merges\":[\"C3:E3\",\"C7:E7\",\"H3:I3\",\"H7:I7\",\"C7:E7\",\"H7:I7\",\"I11:K11\",\"I12:K12\",\"I13:K13\",\"E13:H13\",\"C11:D11\",\"C12:D12\",\"C13:D13\",\"C14:D14\",\"L4:M4\",\"C3:L3\",\"B7:D7\",\"C4:D4\",\"C5:D5\",\"E14:L14\",\"G5:L5\",\"C6:D6\",\"E6:L6\",\"D8:E8\",\"H8:I8\",\"C16:D16\",\"J16:L16\",\"F11:G11\",\"F12:G12\",\"D10:L10\"]}', '', 'https://static.jeecg.com/designreport/images/处方_1607071731580.png', 'jeecg', '2020-07-10 17:12:16', 'admin', '2021-02-03 14:03:05', 0, NULL, NULL, 1, 849, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('6d6bdcb5e820c301ea32789e3ae43c44', '1223', '供电公司抢修单', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":14,\"sci\":8,\"eri\":14,\"eci\":8,\"width\":100,\"height\":67},\"printElWidth\":718,\"excel_config_id\":\"6d6bdcb5e820c301ea32789e3ae43c44\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{},\"height\":11},\"1\":{\"cells\":{\"1\":{\"text\":\"供电公司抢修竣工单\",\"merge\":[0,5],\"style\":39},\"2\":{\"style\":39},\"3\":{\"style\":39},\"4\":{\"style\":39},\"5\":{\"style\":39},\"6\":{\"style\":39}},\"height\":56},\"2\":{\"cells\":{\"1\":{\"text\":\"填报单位:\",\"style\":26},\"2\":{\"text\":\"#{qiangxiu.danwei}\",\"style\":27},\"3\":{\"style\":27},\"4\":{\"text\":\"\",\"style\":27},\"5\":{\"text\":\"填报日期:\",\"style\":26},\"6\":{\"text\":\"#{qiangxiu.time}\",\"style\":27}}},\"3\":{\"cells\":{\"1\":{\"text\":\"填报名称:\",\"style\":26},\"2\":{\"text\":\"#{qiangxiu.ktime}\",\"style\":27},\"3\":{\"style\":27},\"4\":{\"style\":27},\"5\":{\"text\":\"项目编号:\",\"style\":26},\"6\":{\"text\":\"#{qiangxiu.wtime}\",\"style\":27}}},\"4\":{\"cells\":{\"1\":{\"style\":28},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":28},\"6\":{\"style\":28}},\"height\":10},\"5\":{\"cells\":{\"1\":{\"text\":\"项目批准核算\",\"style\":29},\"2\":{\"text\":\"#{qiangxiu.yusuan}\",\"style\":30,\"merge\":[0,4]}},\"height\":89},\"6\":{\"cells\":{\"1\":{\"text\":\"开工日期\",\"style\":32},\"2\":{\"style\":33,\"text\":\"#{qiangxiu.ktime}\",\"merge\":[0,1]},\"3\":{\"style\":28},\"4\":{\"style\":34,\"text\":\"完工日期\"},\"5\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.wtime}\"},\"6\":{\"style\":28}},\"height\":31},\"7\":{\"cells\":{\"1\":{\"text\":\"完工主要内容\",\"style\":32},\"2\":{\"style\":33,\"text\":\"#{qiangxiu.neirong}\",\"merge\":[0,4]}},\"height\":71},\"8\":{\"cells\":{\"1\":{\"text\":\"形成能力\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,4],\"text\":\"#{qiangxiu.nengli}\"},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":28},\"6\":{\"style\":28}},\"height\":49},\"9\":{\"cells\":{\"1\":{\"text\":\"目标效益验收意见\",\"style\":32},\"2\":{\"style\":35,\"text\":\"#{qiangxiu.yijian}\",\"rendered\":\"\",\"merge\":[0,4]}},\"height\":100},\"10\":{\"cells\":{\"1\":{\"style\":37,\"text\":\" \",\"merge\":[0,3]},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":37,\"text\":\"#{qiangxiu.time1}\",\"merge\":[0,1]},\"6\":{\"style\":28}}},\"11\":{\"cells\":{\"1\":{\"text\":\"实施质量验收评价\",\"style\":32},\"2\":{\"style\":35,\"text\":\"#{qiangxiu.pingjia}\",\"merge\":[0,4]}},\"height\":99},\"12\":{\"cells\":{\"1\":{\"style\":33,\"merge\":[0,3]},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.time1}\"},\"6\":{\"style\":28}}},\"13\":{\"cells\":{\"1\":{\"text\":\"验收总结\",\"style\":32},\"2\":{\"style\":35,\"text\":\"#{qiangxiu.zongjie}\",\"merge\":[0,4],\"rendered\":\"\"}},\"height\":80},\"14\":{\"cells\":{\"1\":{\"text\":\"责任单位意见\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,4],\"text\":\"#{qiangxiu.zongjie}\"}},\"height\":67},\"15\":{\"cells\":{\"1\":{\"text\":\"责任单位审核人\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.dshenhe}\"},\"3\":{\"style\":28},\"4\":{\"style\":34,\"text\":\"日期\"},\"5\":{\"style\":33,\"text\":\"#{qiangxiu.time3}\",\"merge\":[0,1]},\"6\":{\"style\":28}},\"height\":42},\"16\":{\"cells\":{\"1\":{\"text\":\"生技部审批意见\",\"style\":32},\"2\":{\"style\":33,\"text\":\"#{qiangxiu.dshenhe}\",\"merge\":[0,4]}},\"height\":107},\"17\":{\"cells\":{\"1\":{\"text\":\"生技部主任\",\"style\":32},\"2\":{\"style\":33,\"merge\":[0,1],\"text\":\"#{qiangxiu.zhuren}\"},\"3\":{\"style\":28},\"4\":{\"style\":34,\"text\":\"日期\"},\"5\":{\"style\":33,\"text\":\"#{qiangxiu.time4}\",\"merge\":[0,1]},\"6\":{\"style\":28}},\"height\":41},\"18\":{\"cells\":{\"1\":{\"style\":28},\"2\":{\"style\":28},\"3\":{\"style\":28},\"4\":{\"style\":28},\"5\":{\"style\":28},\"6\":{\"style\":28}}},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":699,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#9cc2e6\"},{\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\"},{\"bgcolor\":\"#ffffff\"},{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\"},{\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\"},{\"align\":\"left\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":false},{\"textwrap\":false},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"right\",\"color\":\"#7f7f7f\"},{\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":false}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"宋体\"}},{\"align\":\"right\",\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#ffffff\",\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#ffffff\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"bold\":true,\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\"}},{\"textwrap\":true,\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":false,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":23},\"1\":{\"width\":117},\"3\":{\"width\":108},\"4\":{\"width\":127},\"5\":{\"width\":76},\"6\":{\"width\":148},\"7\":{\"width\":13},\"len\":50},\"merges\":[\"C7:D7\",\"F7:G7\",\"B2:G2\",\"C9:G9\",\"B11:E11\",\"F11:G11\",\"B13:E13\",\"F13:G13\",\"C16:D16\",\"C18:D18\",\"F16:G16\",\"F18:G18\",\"C10:G10\",\"C8:G8\",\"C6:G6\",\"C12:G12\",\"C14:G14\",\"C15:G15\",\"C17:G17\"]}', '', 'https://static.jeecg.com/designreport/images/222_1607311944321.png', 'jeecg', '2020-07-20 19:37:54', 'admin', '2021-02-03 14:00:39', 0, NULL, NULL, 1, 180, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('7905022412733a0c68dc7b4ef8947489', '8996445', '介绍信', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"7905022412733a0c68dc7b4ef8947489\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{},\"12\":{}},\"height\":11},\"1\":{\"cells\":{},\"height\":24},\"2\":{\"cells\":{},\"isDrag\":true,\"height\":43},\"3\":{\"cells\":{\"0\":{\"text\":\"\",\"style\":46},\"1\":{\"merge\":[0,10],\"text\":\"介绍信\",\"style\":337}},\"height\":216},\"4\":{\"cells\":{\"1\":{\"text\":\"${jieshaoxin.name}\",\"style\":338,\"merge\":[0,3]},\"5\":{\"text\":\":\",\"style\":339}},\"isDrag\":true,\"height\":80},\"5\":{\"cells\":{\"1\":{\"text\":\"兹介绍我局\",\"style\":340,\"merge\":[0,5]},\"7\":{\"text\":\"${jieshaoxin.value}\",\"style\":341},\"8\":{\"text\":\"同志\",\"style\":339},\"9\":{\"text\":\"#{jieshaoxin.percent}\",\"style\":339},\"10\":{\"text\":\"人,前往你处\",\"style\":339,\"merge\":[0,1]}},\"isDrag\":true,\"height\":42},\"6\":{\"cells\":{\"1\":{\"text\":\"${jieshaoxin.shiqing}\",\"style\":342,\"merge\":[0,5]},\"15\":{\"text\":\"\"}},\"isDrag\":true,\"height\":48},\"7\":{\"cells\":{\"1\":{\"style\":343,\"text\":\"\"},\"2\":{\"style\":344,\"merge\":[0,5],\"text\":\"请予接洽并给予帮助。\"}},\"height\":56},\"8\":{\"cells\":{},\"height\":15},\"9\":{\"cells\":{},\"height\":11},\"10\":{\"cells\":{\"8\":{\"text\":\"\",\"style\":316,\"merge\":[0,3]}},\"height\":39},\"11\":{\"cells\":{\"8\":{\"merge\":[0,2],\"text\":\"单位盖章\",\"style\":347},\"11\":{\"merge\":[0,1],\"style\":316}},\"height\":84},\"12\":{\"cells\":{\"1\":{\"merge\":[0,2],\"text\":\"\",\"style\":317},\"4\":{\"merge\":[0,2],\"text\":\"\",\"style\":346},\"7\":{\"text\":\"(有效时间:至\",\"style\":317},\"8\":{\"text\":\"${jieshaoxin.gdata}\",\"style\":316,\"merge\":[0,2]},\"11\":{\"style\":348,\"text\":\"止)\"}},\"isDrag\":true,\"height\":30},\"13\":{\"cells\":{\"1\":{\"merge\":[12,11]}}},\"17\":{\"cells\":{},\"isDrag\":true},\"len\":89},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":688,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"left\"},{\"align\":\"left\",\"underline\":true},{\"underline\":true},{\"align\":\"center\",\"underline\":true},{\"align\":\"center\"},{\"align\":\"center\",\"underline\":false},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"bold\":false}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":10}},{\"font\":{\"size\":10,\"bold\":true}},{\"font\":{\"size\":10,\"bold\":true},\"align\":\"center\"},{\"font\":{\"size\":18,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18}},{\"font\":{\"size\":16,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"font\":{\"size\":12},\"valign\":\"bottom\"},{\"font\":{\"size\":12},\"valign\":\"middle\"},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"dashed\",\"#000\"]}},{\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":12,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"size\":14,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"}},{\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"}},{\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":10,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":10,\"name\":\"Lato\"},\"valign\":\"middle\",\"color\":\"#000100\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{},{\"font\":{\"size\":12,\"name\":\"Lato\",\"bold\":true},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"bold\":true},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"align\":\"right\"},{\"align\":\"right\",\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12}},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"valign\":\"top\"},{\"valign\":\"top\",\"align\":\"center\"},{\"valign\":\"top\",\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"font\":{\"size\":14}},{\"align\":\"right\",\"font\":{\"size\":14}},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"right\",\"font\":{\"size\":9}},{\"font\":{\"size\":9}},{\"font\":{\"size\":9},\"align\":\"center\"},{\"font\":{\"size\":9},\"align\":\"left\"},{\"align\":\"left\",\"font\":{\"bold\":true,\"size\":14}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16},\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":18},\"valign\":\"top\"},{\"align\":\"right\",\"font\":{\"size\":10}},{\"font\":{\"size\":10},\"align\":\"center\"},{\"align\":\"left\",\"font\":{\"size\":10}},{\"align\":\"right\",\"font\":{\"size\":12},\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"align\":\"center\",\"valign\":\"bottom\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":22},\"valign\":\"top\"},{\"align\":\"right\",\"font\":{\"size\":14},\"valign\":\"bottom\"},{\"font\":{\"size\":14},\"valign\":\"bottom\"},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"valign\":\"bottom\"},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"align\":\"center\",\"valign\":\"bottom\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14},\"align\":\"center\"},{\"valign\":\"top\",\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14}}],\"validations\":[],\"cols\":{\"0\":{\"width\":23},\"1\":{\"width\":46},\"2\":{\"width\":24},\"3\":{\"width\":15},\"4\":{\"width\":37},\"5\":{\"width\":13},\"6\":{\"width\":83},\"7\":{\"width\":256},\"8\":{\"width\":42},\"9\":{\"width\":18},\"10\":{\"width\":77},\"11\":{\"width\":54},\"12\":{\"width\":28},\"13\":{\"width\":62},\"16\":{\"width\":55},\"len\":50},\"merges\":[\"C0:D0\",\"G11:H11\",\"G12:H12\",\"B5:E5\",\"B6:G6\",\"C8:H8\",\"I12:K12\",\"B4:L4\",\"K6:L6\",\"B13:D13\",\"E13:G13\",\"I11:L11\",\"L12:M12\",\"B14:M26\",\"I13:K13\",\"B7:G7\"]}', '', 'https://static.jeecg.com/designreport/images/介绍xin_1607072641405.png', 'jeecg', '2020-07-10 13:38:40', 'admin', '2021-04-01 03:15:11', 0, NULL, NULL, 1, 834, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('7c02c224a2db56d0350069650033f702', '895666', '核查评估表', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":{\"sri\":5,\"sci\":18,\"eri\":5,\"eci\":18,\"width\":53,\"height\":46},\"printElWidth\":1399,\"excel_config_id\":\"7c02c224a2db56d0350069650033f702\",\"printElHeight\":790,\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"XX县(市、区)YY低保第三方核查评估汇总表\",\"merge\":[0,21],\"style\":386},\"2\":{\"style\":386},\"3\":{\"style\":386},\"4\":{\"style\":386},\"5\":{\"style\":386},\"6\":{\"style\":386},\"7\":{\"style\":386},\"8\":{\"style\":386},\"9\":{\"style\":386},\"10\":{\"style\":386},\"11\":{\"style\":386},\"12\":{\"style\":386},\"13\":{\"style\":386},\"14\":{\"style\":386},\"15\":{\"style\":386},\"16\":{\"style\":386},\"17\":{\"style\":386},\"18\":{\"style\":386},\"19\":{\"style\":386},\"20\":{\"style\":386},\"21\":{\"style\":386},\"22\":{\"style\":386}},\"height\":70},\"1\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":403,\"text\":\" 北京市林翠社区\"},\"2\":{\"style\":398,\"text\":\" \"},\"3\":{\"style\":398,\"text\":\" \"},\"4\":{\"merge\":[0,2],\"text\":\"镇(乡、街道办事处)\",\"style\":399},\"5\":{\"style\":399},\"6\":{\"style\":399},\"7\":{\"style\":399,\"merge\":[0,7]},\"8\":{\"style\":400},\"9\":{\"style\":400},\"10\":{\"style\":400},\"11\":{\"style\":400},\"12\":{\"style\":400},\"13\":{\"style\":400},\"14\":{\"style\":400},\"15\":{\"merge\":[0,7],\"text\":\"单位:人、元、套、平方米\",\"style\":398},\"16\":{\"style\":401},\"17\":{\"style\":401},\"18\":{\"style\":401},\"19\":{\"style\":401},\"20\":{\"style\":401},\"21\":{\"style\":401},\"22\":{\"style\":401}}},\"2\":{\"cells\":{\"1\":{\"style\":114},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"height\":14},\"3\":{\"cells\":{\"1\":{\"style\":406,\"text\":\"村(社区)名称\",\"merge\":[1,0]},\"2\":{\"style\":407,\"text\":\"户主名称\",\"merge\":[1,0]},\"3\":{\"style\":407,\"text\":\"保障编号\",\"merge\":[1,0]},\"4\":{\"style\":408,\"text\":\"家庭人口\",\"merge\":[1,0]},\"5\":{\"style\":409,\"text\":\"家庭住址\",\"merge\":[1,0]},\"6\":{\"style\":409,\"text\":\"联系电话\",\"merge\":[1,0]},\"7\":{\"style\":408,\"text\":\"身份证号码\",\"merge\":[1,0]},\"8\":{\"style\":409,\"text\":\"原保障\",\"merge\":[0,2]},\"9\":{\"style\":377,\"text\":\" \"},\"10\":{\"style\":377,\"text\":\" \"},\"11\":{\"text\":\"核减后月人均收入\",\"style\":408,\"merge\":[1,0]},\"12\":{\"merge\":[0,5],\"text\":\"保障建议\",\"style\":410},\"13\":{\"style\":379,\"text\":\" \"},\"14\":{\"style\":379,\"text\":\" \"},\"15\":{\"style\":379,\"text\":\" \"},\"16\":{\"style\":379,\"text\":\" \"},\"17\":{\"style\":379,\"text\":\" \"},\"18\":{\"text\":\"是否新增对象\",\"style\":411,\"merge\":[1,0]},\"19\":{\"text\":\"建议取消原因\",\"style\":409,\"merge\":[0,3]},\"20\":{\"style\":377,\"text\":\" \"},\"21\":{\"style\":377,\"text\":\" \"},\"22\":{\"style\":377,\"text\":\" \"}}},\"4\":{\"cells\":{\"1\":{\"style\":381,\"text\":\" \"},\"2\":{\"style\":407,\"text\":\" \"},\"3\":{\"style\":382,\"text\":\" \"},\"4\":{\"style\":408,\"text\":\" \"},\"5\":{\"style\":377,\"text\":\" \"},\"6\":{\"style\":409,\"text\":\" \"},\"7\":{\"style\":383,\"text\":\" \"},\"8\":{\"text\":\"户数\",\"style\":412},\"9\":{\"style\":411,\"text\":\"人口\"},\"10\":{\"style\":413,\"text\":\"金额\"},\"11\":{\"style\":383,\"text\":\" \"},\"12\":{\"text\":\"保障类型\",\"style\":408},\"13\":{\"style\":413,\"text\":\"人口\"},\"14\":{\"style\":408,\"text\":\"差额补助\"},\"15\":{\"style\":408,\"text\":\"全额补助\"},\"16\":{\"style\":408,\"text\":\"增发补助\"},\"17\":{\"style\":408,\"text\":\"合计补助\"},\"18\":{\"style\":411,\"text\":\" \"},\"19\":{\"style\":408,\"text\":\"收入超标\"},\"20\":{\"style\":406,\"text\":\"机动车超标\"},\"21\":{\"style\":410,\"text\":\"死亡\"},\"22\":{\"style\":410,\"text\":\"其他\"}},\"height\":50},\"5\":{\"cells\":{\"1\":{\"text\":\"#{hecha.name}\",\"style\":414,\"rendered\":\"\"},\"2\":{\"text\":\"#{hecha.hname}\",\"style\":414},\"3\":{\"text\":\"#{hecha.num}\",\"style\":414},\"4\":{\"text\":\"#{hecha.knum}\",\"style\":414},\"5\":{\"text\":\"#{hecha.zhuzhi}\",\"style\":414},\"6\":{\"text\":\"#{hecha.phone}\",\"style\":414},\"7\":{\"text\":\"#{hecha.scard}\",\"style\":414},\"8\":{\"text\":\"#{hecha.yhnum}\",\"style\":414},\"9\":{\"text\":\"#{hecha.yren}\",\"style\":414},\"10\":{\"text\":\"#{hecha.yjine}\",\"style\":414},\"11\":{\"text\":\"#{hecha.yjine}\",\"style\":414},\"12\":{\"text\":\"#{hecha.type}\",\"style\":414},\"13\":{\"text\":\"#{hecha.rk}\",\"style\":414},\"14\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"15\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"16\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"17\":{\"text\":\"#{hecha.cbz}\",\"style\":414},\"18\":{\"text\":\"#{hecha.sf1}\",\"style\":414},\"19\":{\"text\":\"#{hecha.sf2}\",\"style\":414},\"20\":{\"text\":\"#{hecha.sf3}\",\"style\":414},\"21\":{\"text\":\"#{hecha.sf4}\",\"style\":414},\"22\":{\"text\":\"#{hecha.bz}\",\"style\":414}},\"isDrag\":true,\"height\":46},\"6\":{\"cells\":{\"1\":{\"style\":114},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"height\":46},\"7\":{\"cells\":{\"1\":{\"style\":114},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"height\":46},\"8\":{\"cells\":{\"1\":{\"text\":\"\"},\"2\":{\"style\":114},\"3\":{\"style\":114},\"4\":{\"style\":114},\"5\":{\"style\":114},\"6\":{\"style\":114},\"7\":{\"style\":114},\"8\":{\"style\":114},\"9\":{\"style\":114},\"10\":{\"style\":114},\"11\":{\"style\":114},\"12\":{\"style\":114},\"13\":{\"style\":114},\"14\":{\"style\":114},\"15\":{\"style\":114},\"16\":{\"style\":114},\"17\":{\"style\":114},\"18\":{\"style\":114},\"19\":{\"style\":114},\"20\":{\"style\":114},\"21\":{\"style\":114},\"22\":{\"style\":114}},\"isDrag\":true},\"len\":102},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1378,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"textwrap\":true},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":false},{\"textwrap\":false},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\"},{\"textwrap\":true,\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"middle\"},{\"textwrap\":true,\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":false,\"valign\":\"middle\"},{\"textwrap\":false,\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\"},{\"textwrap\":true,\"valign\":\"bottom\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"top\"},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":18}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Verdana\"}},{\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Verdana\"}},{\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Verdana\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Verdana\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Verdana\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"}},{\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"valign\":\"middle\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":false,\"font\":{\"name\":\"Lato\"}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"valign\":\"middle\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\"},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"top\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]},\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"valign\":\"middle\"},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"bottom\":[\"thin\",\"#ffffff\"],\"top\":[\"thin\",\"#ffffff\"],\"left\":[\"thin\",\"#ffffff\"],\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"border\":{\"right\":[\"thin\",\"#ffffff\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"font\":{\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000100\"]},\"align\":\"right\"},{\"font\":{\"name\":\"Lato\"},\"align\":\"right\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"valign\":\"middle\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#000100\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#f4b184\",\"color\":\"#262626\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#9cc2e6\",\"color\":\"#262626\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#262626\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#00b04e\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]},\"align\":\"center\"},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#a7d08c\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":8},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#71ae47\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\"},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#00b04e\"],\"top\":[\"thin\",\"#00b04e\"],\"left\":[\"thin\",\"#00b04e\"],\"right\":[\"thin\",\"#00b04e\"]}},{\"align\":\"center\",\"font\":{\"size\":15,\"bold\":true,\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9}},{\"font\":{\"name\":\"Lato\",\"size\":9}},{\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"size\":9}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"]},\"color\":\"#a5a5a5\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#a5a5a5\"},{\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#a5a5a5\"},{\"font\":{\"size\":9},\"color\":\"#a5a5a5\"},{\"align\":\"center\",\"font\":{\"size\":9},\"color\":\"#a5a5a5\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#000100\"]},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"Lato\",\"size\":9},\"color\":\"#7f7f7f\"},{\"font\":{\"size\":9},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"size\":9},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":9},\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]},\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#d8d8d8\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"]},\"align\":\"center\",\"font\":{\"size\":8}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"align\":\"center\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"valign\":\"bottom\",\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"textwrap\":true,\"font\":{\"name\":\"Lato\",\"size\":10},\"bgcolor\":\"#02a274\",\"color\":\"#ffffff\",\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"],\"top\":[\"thin\",\"#a5a5a5\"],\"left\":[\"thin\",\"#a5a5a5\"],\"right\":[\"thin\",\"#a5a5a5\"]},\"align\":\"center\",\"font\":{\"size\":8}}],\"validations\":[],\"cols\":{\"0\":{\"width\":30},\"1\":{\"width\":68},\"2\":{\"width\":86},\"3\":{\"width\":93},\"4\":{\"width\":91},\"5\":{\"width\":156},\"6\":{\"width\":95},\"7\":{\"width\":85},\"8\":{\"width\":37},\"9\":{\"width\":30},\"10\":{\"width\":43},\"11\":{\"width\":66},\"12\":{\"width\":38},\"13\":{\"width\":41},\"14\":{\"width\":54},\"15\":{\"width\":49},\"16\":{\"width\":45},\"17\":{\"width\":49},\"18\":{\"width\":53},\"19\":{\"width\":40},\"20\":{\"width\":50},\"21\":{\"width\":40},\"22\":{\"width\":39},\"len\":50},\"merges\":[\"M4:R4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"E4:E5\",\"F4:F5\",\"G4:G5\",\"H4:H5\",\"I4:K4\",\"L4:L5\",\"S4:S5\",\"T4:W4\",\"E2:G2\",\"B2:D2\",\"B1:W1\",\"P2:W2\",\"H2:O2\"]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207113312_1607312171402.png', 'jeecg', '2020-07-14 16:41:42', 'admin', '2021-02-03 14:01:17', 0, NULL, NULL, 1, 263, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('907480464532770816', '20240117141013', '主子报表循环块', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[{\"sci\":0,\"sri\":0,\"eci\":8,\"eri\":36,\"index\":1,\"db\":\"aa\"}],\"area\":{\"sri\":9,\"sci\":11,\"eri\":9,\"eci\":11,\"width\":100,\"height\":25},\"excel_config_id\":\"907480464532770816\",\"printConfig\":{\"layout\":\"portrait\",\"paginationShow\":false,\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"paginationLocation\":\"middle\",\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":8,\"text\":\"订货商信息\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":57},\"1\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单编号:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,2],\"style\":42,\"text\":\"#{aa.order_code}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"2\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单地址:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.descc}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.order_date}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":34},\"3\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":10,\"text\":\"订单姓名:\"},\"2\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_by}\",\"height\":0},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"style\":10,\"text\":\"到货日期:\"},\"5\":{\"loopBlock\":1,\"merge\":[0,1],\"style\":42,\"text\":\"#{aa.create_time}\",\"height\":0},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":31},\"4\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"5\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"merge\":[0,6],\"style\":31,\"text\":\"订单详情\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1},\"6\":{\"loopBlock\":1},\"7\":{\"loopBlock\":1},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":51},\"6\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品编码\"},\"2\":{\"loopBlock\":1,\"style\":15,\"text\":\"商品名称\"},\"3\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售时间\"},\"4\":{\"loopBlock\":1,\"style\":15,\"text\":\"销售数据量\"},\"5\":{\"loopBlock\":1,\"style\":15,\"text\":\"定价\"},\"6\":{\"loopBlock\":1,\"style\":15,\"text\":\"优惠价\"},\"7\":{\"loopBlock\":1,\"style\":15,\"text\":\"付款金额\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":42},\"7\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"2\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"3\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.product_name}\"},\"4\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.num}\"},\"5\":{\"loopBlock\":1,\"decimalPlaces\":\"4\",\"style\":19,\"text\":\"#{bb.price}\"},\"6\":{\"loopBlock\":1,\"decimalPlaces\":\"1\",\"style\":19,\"text\":\"#{bb.price}\"},\"7\":{\"loopBlock\":1,\"style\":18,\"text\":\"#{bb.pro_type}\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"8\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"9\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"10\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":39,\"text\":\"备注:\"},\"2\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":33,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":34,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":25},\"11\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"merge\":[0,6],\"style\":41,\"text\":\"1、查看信息,在浏览器输入“?did=1”或“?did=2”\",\"height\":0},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}},\"height\":37},\"12\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":35,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"style\":36,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"13\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"style\":37,\"text\":\" \"},\"2\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"3\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"4\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"5\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"6\":{\"loopBlock\":1,\"style\":28,\"text\":\" \"},\"7\":{\"loopBlock\":1,\"style\":38,\"text\":\" \"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"14\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"15\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"16\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"17\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"18\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"19\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"20\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"21\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"22\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"23\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"24\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"25\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"26\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1},\"2\":{\"loopBlock\":1},\"3\":{\"loopBlock\":1},\"4\":{\"loopBlock\":1},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"27\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"28\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"29\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"30\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"31\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"32\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"33\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"34\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"35\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"36\":{\"cells\":{\"0\":{\"loopBlock\":1,\"text\":\"\"},\"1\":{\"loopBlock\":1,\"text\":\"\"},\"2\":{\"loopBlock\":1,\"text\":\"\"},\"3\":{\"loopBlock\":1,\"text\":\"\"},\"4\":{\"loopBlock\":1,\"text\":\"\"},\"5\":{\"loopBlock\":1,\"text\":\"\"},\"6\":{\"loopBlock\":1,\"text\":\"\"},\"7\":{\"loopBlock\":1,\"text\":\"\"},\"8\":{\"loopBlock\":1,\"text\":\"\"}}},\"len\":102},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"freeze\":\"A1\",\"dataRectWidth\":682,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"font\":{\"size\":18}},{\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"bgcolor\":\"#5b9cd6\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"bottom\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"color\":\"#ffffff\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"font\":{\"name\":\"宋体\"}},{},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"number\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"bottom\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"format\":\"normal\",\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":18,\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":false}},{\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#a5a5a5\"]}},{\"border\":{\"bottom\":[\"thin\",\"#262626\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]}},{\"valign\":\"bottom\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"bottom\",\"align\":\"left\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":18,\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"]}},{\"border\":{\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"bottom\":[\"thin\",\"#595959\"]}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"top\":[\"thin\",\"#595959\"],\"left\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]}},{\"border\":{\"left\":[\"thin\",\"#595959\"],\"right\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#595959\"]},\"font\":{\"name\":\"宋体\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":39},\"1\":{\"width\":73},\"2\":{\"width\":89},\"3\":{\"width\":101},\"4\":{\"width\":80},\"8\":{\"width\":29},\"len\":100},\"merges\":[\"B1:H1\",\"C2:E2\",\"C3:D3\",\"F3:G3\",\"C4:D4\",\"F4:G4\",\"B6:H6\",\"B12:H12\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1617266678584.png', 'admin', '2024-01-17 14:10:13', 'admin', '2024-01-24 20:02:03', 0, NULL, NULL, 1, 82, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('919370186342354944', '20240103104736__3061', '横向总合计-横纵3*2*2副本3061', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"landscape\",\"printCallBackUrl\":\"\",\"paginationShow\":false,\"paginationLocation\":\"middle\"},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1071,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":60},\"1\":{\"width\":96},\"2\":{\"width\":115},\"len\":50},\"area\":{\"sri\":12,\"sci\":5,\"eri\":12,\"eci\":5,\"width\":100,\"height\":25},\"excel_config_id\":\"919370186342354944\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{},\"4\":{},\"5\":{}}},\"1\":{\"cells\":{\"0\":{},\"1\":{\"lineStart\":\"lefttop\",\"merge\":[3,1],\"style\":0,\"text\":\"地区|销售额|时间\",\"height\":100},\"3\":{\"merge\":[3,0],\"style\":0,\"text\":\"合计(销售)\",\"height\":100},\"4\":{\"merge\":[0,1],\"style\":1,\"text\":\"#{test_heng_sum.groupRight(year)}\",\"aggregate\":\"group\",\"direction\":\"right\",\"height\":25},\"5\":{},\"6\":{\"merge\":[3,0],\"style\":0,\"text\":\"合计(销售)\",\"height\":100},\"7\":{\"merge\":[3,0],\"style\":0,\"text\":\"合计(赠送)\",\"height\":100},\"8\":{\"merge\":[3,0],\"style\":1,\"text\":\"平均(销售)\",\"height\":100},\"9\":{\"merge\":[3,0],\"style\":1,\"text\":\"最大(销售)\",\"height\":100},\"10\":{\"merge\":[3,0],\"style\":1,\"text\":\"最小(销售)\",\"height\":100}}},\"2\":{\"cells\":{\"0\":{},\"4\":{\"merge\":[0,1],\"style\":1,\"text\":\"#{test_heng_sum.groupRight(quarter)}\",\"height\":25,\"aggregate\":\"group\",\"direction\":\"right\"},\"5\":{},\"8\":{},\"9\":{},\"10\":{}}},\"3\":{\"cells\":{\"0\":{},\"4\":{\"merge\":[0,1],\"style\":1,\"text\":\"#{test_heng_sum.groupRight(month)}\",\"height\":25,\"aggregate\":\"group\",\"direction\":\"right\"},\"5\":{},\"8\":{},\"9\":{},\"10\":{}}},\"4\":{\"cells\":{\"0\":{},\"4\":{\"style\":1,\"text\":\"销售\"},\"5\":{\"style\":1,\"text\":\"赠送\"},\"8\":{},\"9\":{},\"10\":{}}},\"5\":{\"cells\":{\"0\":{},\"1\":{\"style\":1,\"text\":\"#{test_heng_sum.group(region)}\",\"aggregate\":\"group\"},\"2\":{\"style\":1,\"text\":\"#{test_heng_sum.group(province)}\",\"aggregate\":\"group\"},\"3\":{\"style\":0,\"text\":\"=SUM(E6)\"},\"4\":{\"style\":0,\"text\":\"#{test_heng_sum.dynamic(sales)}\",\"aggregate\":\"dynamic\"},\"5\":{\"style\":0,\"text\":\"#{test_heng_sum.dynamic(gift)}\",\"aggregate\":\"dynamic\"},\"6\":{\"style\":0,\"text\":\"=SUM(E6)\"},\"7\":{\"style\":0,\"text\":\"=SUM(F6)\"},\"8\":{\"style\":0,\"text\":\"=AVERAGE(E6)\"},\"9\":{\"style\":0,\"text\":\"=MAX(F6)\"},\"10\":{\"style\":0,\"text\":\"=MIN(F6)\"}}},\"6\":{\"cells\":{\"0\":{},\"1\":{\"merge\":[0,1],\"style\":1,\"text\":\"合计\",\"height\":25},\"2\":{},\"3\":{\"style\":0,\"text\":\" \"},\"4\":{\"style\":0,\"text\":\"=SUM(E6)\"},\"5\":{\"style\":0,\"text\":\"=SUM(F6)\"},\"6\":{\"style\":0,\"text\":\" \"},\"7\":{\"style\":0,\"text\":\" \"},\"8\":{\"style\":0,\"text\":\" \"},\"9\":{\"style\":0,\"text\":\" \"},\"10\":{\"style\":0,\"text\":\" \"}}},\"7\":{\"cells\":{\"0\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{},\"23\":{},\"24\":{},\"25\":{},\"26\":{},\"27\":{},\"28\":{},\"29\":{}}},\"8\":{\"cells\":{\"0\":{}}},\"len\":167},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"groupField\":\"test_heng_sum.region\",\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\"},{\"bgcolor\":\"#9cc2e6\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#9cc2e6\"}],\"isGroup\":true,\"merges\":[\"B2:C5\",\"D2:D5\",\"E2:F2\",\"G2:G5\",\"H2:H5\",\"I2:I5\",\"J2:J5\",\"K2:K5\",\"E3:F3\",\"E4:F4\",\"B7:C7\"]}', NULL, NULL, 'admin', '2024-02-19 09:35:44', '', '2024-03-04 19:15:56', 0, NULL, NULL, 0, 53, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('924614453466595328', '20201214142804__5048', '条形码报表副本5048', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"recordSubTableOrCollection\":{\"group\":[],\"record\":[],\"range\":[]},\"printConfig\":{\"layout\":\"portrait\",\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"hidden\":{\"rows\":[],\"cols\":[]},\"queryFormSetting\":{\"useQueryForm\":false,\"dbKey\":\"\",\"idField\":\"\"},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[\"sex1\",\"sex1\",\"sex1\"],\"fillFormToolbar\":{\"show\":true,\"btnList\":[\"save\",\"subTable_add\",\"verify\",\"subTable_del\",\"print\",\"close\",\"first\",\"prev\",\"next\",\"paging\",\"total\",\"last\",\"exportPDF\",\"exportExcel\"]},\"freeze\":\"A1\",\"dataRectWidth\":704,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":16},\"1\":{\"width\":103},\"2\":{\"width\":156},\"3\":{\"width\":51},\"4\":{\"width\":96},\"5\":{\"width\":61},\"6\":{\"width\":106},\"7\":{\"width\":115},\"8\":{\"width\":135},\"len\":50},\"area\":false,\"pyGroupEngine\":false,\"submitHandlers\":[],\"excel_config_id\":\"924614453466595328\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"1\":{\"merge\":[1,3],\"style\":39,\"text\":\"居民身份证申领登记表\"},\"5\":{\"rendered\":\"\",\"merge\":[0,2],\"display\":\"text\",\"text\":\"\"},\"-1\":{\"text\":\"${tm.tp}\"}},\"height\":27},\"1\":{\"cells\":{\"5\":{\"virtual\":\"ZiOFmILaRjdmVs6E\",\"rendered\":\"Mm55SPrx6ZG5ga8T\",\"display\":\"barcode\",\"merge\":[0,2],\"style\":2,\"text\":\"${tm.tm}\"}},\"height\":52},\"2\":{\"cells\":{\"1\":{\"merge\":[0,3],\"style\":36,\"text\":\"受理单位(盖章)珠海市公安局\"},\"5\":{\"style\":6,\"text\":\" \"},\"6\":{\"style\":6,\"text\":\" \"},\"7\":{\"style\":6,\"text\":\" \"}},\"height\":34},\"3\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"姓名\"},\"2\":{\"rendered\":\"\",\"style\":7,\"text\":\"${tm.name}\"},\"3\":{\"style\":16,\"text\":\"性别\"},\"4\":{\"isDict\":1,\"rendered\":\"\",\"dictCode\":\"sex1\",\"style\":7,\"text\":\"${tm.sex}\"},\"5\":{\"style\":16,\"text\":\"民族\"},\"6\":{\"style\":7,\"text\":\"${tm.nation}\"},\"7\":{\"rendered\":\"ftkUSZOje4A5gVO3\",\"merge\":[2,0],\"display\":\"img\",\"style\":7,\"text\":\"${tm.tp}\"}},\"isDrag\":true,\"height\":47},\"4\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"出生日期\"},\"2\":{\"merge\":[0,4],\"style\":32,\"text\":\"${tm.birth}\"}},\"isDrag\":true,\"height\":51},\"5\":{\"cells\":{\"1\":{\"style\":21,\"text\":\"常住户口所在地住址\"},\"2\":{\"merge\":[0,4],\"style\":7,\"text\":\"${tm.zhuzhi}\"}},\"isDrag\":true,\"height\":62},\"6\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"公民身份证\"},\"2\":{\"merge\":[0,5],\"style\":7,\"text\":\"${tm.card}\"}},\"isDrag\":true,\"height\":55},\"7\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"有限期限\"},\"2\":{\"merge\":[0,1],\"style\":34,\"text\":\"${tm.ydate}\"},\"4\":{\"style\":24,\"text\":\"签发机关\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.qfjg}\"}},\"isDrag\":true,\"height\":52},\"8\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"申领原因\"},\"2\":{\"merge\":[0,5],\"style\":7,\"text\":\"${tm.slyy}\"}},\"isDrag\":true,\"height\":55},\"9\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"受理时间\"},\"2\":{\"merge\":[0,1],\"style\":32,\"text\":\"${tm.sdate}\"},\"4\":{\"style\":24,\"text\":\"受理号\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.shao}\"}},\"isDrag\":true,\"height\":49},\"10\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"承办人\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\"${tm.cbr}\"},\"4\":{\"style\":24,\"text\":\"受理单位领导\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.sld}\"}},\"isDrag\":true,\"height\":42},\"11\":{\"cells\":{\"1\":{\"style\":21,\"text\":\"申请(监护)人签名\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\"${tm.sr}\"},\"4\":{\"style\":21,\"text\":\"申请(监护)人联系电话\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.jphone}\"}},\"isDrag\":true,\"height\":59},\"12\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"领证人签名\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\"${tm.lzr}\"},\"4\":{\"style\":24,\"text\":\"领证时间\"},\"5\":{\"merge\":[0,2],\"style\":32,\"text\":\"${tm.ldate}\"}},\"isDrag\":true,\"height\":57},\"13\":{\"cells\":{\"1\":{\"merge\":[0,1],\"style\":24,\"text\":\"是否通过邮政特快专递方式领取二代\"},\"3\":{\"merge\":[0,4],\"style\":7,\"text\":\"${tm.sk}\"}},\"isDrag\":true,\"height\":50},\"14\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"投递地址\"},\"2\":{\"merge\":[0,2],\"style\":7,\"text\":\"${tm.dizhi}\"},\"5\":{\"style\":24,\"text\":\"收件人\"},\"6\":{\"merge\":[0,1],\"style\":7,\"text\":\" \"}},\"isDrag\":true,\"height\":53},\"15\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"邮政编码\"},\"2\":{\"merge\":[0,1],\"style\":7,\"text\":\" \"},\"4\":{\"style\":24,\"text\":\"备注\"},\"5\":{\"merge\":[0,2],\"style\":7,\"text\":\" \"}},\"isDrag\":true,\"height\":47},\"16\":{\"cells\":{\"1\":{\"merge\":[0,6],\"style\":31,\"text\":\"公安部治安管理局治\"}}},\"len\":100},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"fillFormInfo\":{\"layout\":{\"direction\":\"horizontal\",\"width\":200,\"height\":45}},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\"},{\"textwrap\":true},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#3f3f3f\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#0c0c0c\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#7f7f7f\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"color\":\"#595959\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":false}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"textwrap\":true,\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"font\":{\"size\":8}},{\"align\":\"center\",\"font\":{\"size\":8}},{\"align\":\"right\",\"font\":{\"size\":8}},{\"align\":\"right\",\"font\":{\"size\":10}},{\"color\":\"#7f7f7f\",\"align\":\"right\",\"font\":{\"size\":10}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"date2\",\"font\":{\"name\":\"宋体\"}},{\"format\":\"date2\"},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"format\":\"date\",\"font\":{\"name\":\"宋体\"}},{\"format\":\"date\"},{\"color\":\"#595959\",\"valign\":\"bottom\",\"font\":{\"size\":9,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"valign\":\"bottom\",\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[\"B1:E2\",\"F1:H1\",\"F2:H2\",\"B3:E3\",\"H4:H6\",\"C5:G5\",\"C6:G6\",\"C7:H7\",\"C8:D8\",\"F8:H8\",\"C9:H9\",\"C10:D10\",\"F10:H10\",\"C11:D11\",\"F11:H11\",\"C12:D12\",\"F12:H12\",\"C13:D13\",\"F13:H13\",\"B14:C14\",\"D14:H14\",\"C15:E15\",\"G15:H15\",\"C16:D16\",\"F16:H16\",\"B17:H17\"]}', NULL, 'https://static.jeecg.com/designreport/images/未标题-1_1608118350039.png', '', '2024-03-04 20:54:34', 'admin', '2025-05-08 19:32:54', 0, NULL, NULL, 0, 56, NULL, NULL, NULL, '1001', 1, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('928540173805338624', '20240318105250', '电子收款收据', NULL, NULL, '984302991393210368', '{\"loopBlockList\":[],\"printConfig\":{\"layout\":\"portrait\",\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":686,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":21},\"1\":{\"width\":35},\"2\":{\"width\":45},\"3\":{\"width\":60},\"4\":{\"width\":128},\"5\":{\"width\":79},\"6\":{\"width\":67},\"7\":{\"width\":67},\"8\":{\"width\":84},\"10\":{\"width\":29},\"len\":100},\"area\":{\"sri\":24,\"sci\":11,\"eri\":24,\"eci\":11,\"width\":100,\"height\":25},\"pyGroupEngine\":false,\"excel_config_id\":\"928540173805338624\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{},\"height\":9},\"1\":{\"cells\":{\"2\":{\"rendered\":\"IKbjwc1lQUlSeJfd\",\"display\":\"qrcode\",\"merge\":[2,1],\"style\":0,\"text\":\"http://www.baidu.com\",\"config\":1,\"height\":69},\"3\":{}},\"height\":19},\"2\":{\"cells\":{\"2\":{},\"3\":{},\"4\":{\"merge\":[0,4],\"style\":80,\"text\":\"北京万达物业服务有限公司\",\"height\":25},\"9\":{\"virtual\":\"YfdiQDcuqTjlOG4f\",\"style\":67,\"text\":\" \"}}},\"3\":{\"cells\":{\"2\":{},\"3\":{},\"4\":{\"merge\":[0,4],\"style\":72,\"text\":\"电子收款收据\",\"height\":25}}},\"4\":{\"cells\":{\"2\":{},\"3\":{}},\"height\":16},\"5\":{\"cells\":{\"1\":{\"rendered\":\"\",\"merge\":[0,2],\"style\":41,\"text\":\"客户/业主\",\"config\":\"\",\"height\":25},\"4\":{\"merge\":[0,1],\"style\":43,\"text\":\"#{receipt.customName}\",\"height\":25},\"5\":{},\"6\":{\"merge\":[0,1],\"style\":44,\"text\":\"收款单号\",\"height\":25},\"8\":{\"merge\":[0,1],\"style\":45,\"text\":\"#{receipt.receiptNo}\",\"height\":25},\"9\":{}},\"height\":25},\"6\":{\"cells\":{\"1\":{\"rendered\":\"\",\"merge\":[0,2],\"style\":44,\"text\":\"实际交款人\",\"config\":\"\",\"height\":25},\"4\":{\"merge\":[0,1],\"style\":43,\"text\":\"#{receipt.actualPayer}\",\"height\":25},\"5\":{},\"6\":{\"rendered\":\"\",\"merge\":[0,1],\"style\":44,\"text\":\"结算方式\",\"config\":\"\",\"height\":25},\"8\":{\"merge\":[0,1],\"style\":45,\"text\":\"#{receipt.settlementType}\",\"height\":25},\"9\":{}},\"height\":25},\"7\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":44,\"text\":\"收款时间\",\"height\":25},\"4\":{\"merge\":[0,1],\"style\":43,\"text\":\"#{receipt.collectionTime}\",\"height\":25},\"5\":{},\"6\":{\"merge\":[0,1],\"style\":44,\"text\":\"原单号\",\"height\":25},\"8\":{\"merge\":[0,1],\"style\":45,\"text\":\"#{receipt.originalNumber}\",\"height\":25},\"9\":{}},\"height\":25},\"8\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":44,\"text\":\"收款组织\",\"height\":25},\"4\":{\"merge\":[0,5],\"style\":46,\"text\":\"#{receipt.organization}\",\"height\":25},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"11\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":25},\"9\":{\"cells\":{\"1\":{}}},\"10\":{\"cells\":{\"1\":{\"merge\":[0,1],\"style\":19,\"text\":\"行号\",\"height\":38},\"3\":{\"merge\":[0,1],\"style\":47,\"text\":\"房产名称\",\"height\":38},\"5\":{\"rendered\":\"\",\"merge\":[0,2],\"style\":47,\"text\":\"费用项目\",\"config\":\"\",\"height\":38},\"8\":{\"style\":47,\"text\":\"应交月份\"},\"9\":{\"style\":19,\"text\":\"金额\"}},\"height\":38},\"11\":{\"cells\":{\"1\":{\"merge\":[0,1],\"text\":\"=row()\",\"height\":34},\"3\":{\"merge\":[0,1],\"text\":\"#{receiptProject.propertyName}\",\"height\":34},\"5\":{\"merge\":[0,2],\"text\":\"#{receiptProject.expenseItem}\",\"height\":34},\"8\":{\"style\":0,\"text\":\"#{receiptProject.payableMonths}\"},\"9\":{\"style\":83,\"text\":\"#{receiptProject.price}\"},\"13\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":34},\"12\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":17,\"text\":\"款项合计\",\"height\":30},\"4\":{\"merge\":[0,5],\"style\":82,\"text\":\"人民币 =sum(J12) 元\",\"height\":30},\"11\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"},\"15\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":30},\"13\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":19,\"text\":\"缴费说明\",\"height\":30},\"4\":{\"merge\":[0,5],\"style\":23,\"text\":\"#{receipt.paymentDesc}\",\"height\":30},\"15\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":30},\"14\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":19,\"text\":\"检验密码\",\"height\":35},\"4\":{\"merge\":[0,5],\"style\":84,\"text\":\"#{receipt.verifyPassword}\",\"height\":35},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":35},\"15\":{\"cells\":{\"8\":{\"text\":\" \",\"virtual\":\"qWMWhe42wLnQXDUa\"}},\"height\":10},\"16\":{\"cells\":{\"1\":{\"merge\":[0,2],\"style\":19,\"text\":\"收款经办\",\"height\":30},\"4\":{\"style\":20,\"text\":\"#{receipt.dealWith}\"},\"5\":{\"merge\":[0,1],\"style\":19,\"text\":\"公司签章\",\"height\":30},\"7\":{\"merge\":[0,2],\"style\":23,\"text\":\" \",\"height\":30}},\"height\":30},\"17\":{\"cells\":{\"8\":{\"rendered\":\"\",\"text\":\"\",\"config\":\"\"}},\"height\":10},\"18\":{\"cells\":{\"1\":{\"merge\":[0,1],\"style\":29,\"text\":\"加密说明:\",\"height\":25}}},\"19\":{\"cells\":{\"1\":{\"merge\":[0,8],\"style\":63,\"text\":\"1、本电子收据加密信息算法使用 SHA256\",\"height\":30},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":30},\"20\":{\"cells\":{\"1\":{\"merge\":[0,8],\"style\":65,\"text\":\"2、原始输入信息依次为:法人名称、收款组织、客户/业主、实际交款人、结算方式、收款单号、收款时间、款项合计,使用RSA私钥加密信息摘要生成“校验密码”\",\"height\":37},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":37},\"21\":{\"cells\":{\"1\":{\"merge\":[0,8],\"style\":65,\"text\":\"3、应公钥为MIGEMAOCCSqGSIb3DQEBAQUAMGNADCBiQKBgQCEf iYMBHNInswq1N/KLBy smaG68D+nlQk/RZ3QVSTmWo310WnSipYR3ksCNBksyGZceEneCIEuWBboPImYQUbH/ EHP3I3Ri 1E1 INjNI3GvQ7oXH/RLmHRGAgCz 4d9QcW7mGTHVvj/3o/gEvqyHgW6eG1lsl f6aEi7mi IRHxYtZrFQIDAQAB\",\"height\":57},\"2\":{},\"3\":{},\"4\":{},\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{}},\"height\":57},\"23\":{\"cells\":{},\"height\":25},\"len\":200},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{\"1\":{\"colorDark\":\"#000000\",\"width\":69,\"text\":\"http://www.baidu.com\",\"colorLight\":\"#ffffff\",\"height\":69}},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"align\":\"center\"},{\"font\":{\"size\":7.5}},{\"font\":{\"size\":8}},{\"align\":\"center\",\"font\":{\"size\":12}},{\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":true}},{\"font\":{\"size\":12,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":11}},{\"font\":{\"size\":11}},{\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"],\"right\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"bgcolor\":\"#dae7d2\",\"align\":\"center\"},{\"bgcolor\":\"#dae7d2\"},{\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"bold\":true}},{\"bgcolor\":\"【QQYUN-8110】在线通讯录支持设置权限\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"bgcolor\":\"【QQYUN-8110】在线通讯录支持设置权限\",\"font\":{\"bold\":true}},{\"color\":\"【QQYUN-8110】在线通讯录支持设置权限\"},{\"color\":\"#0a0a0a\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"bold\":true}},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":10.5,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":10.5,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"#dae7d2\",\"valign\":\"middle\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"],\"right\":[\"thin\",\"#1e8a1e\"]},\"valign\":\"middle\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"valign\":\"middle\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"valign\":\"middle\"},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"valign\":\"middle\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"],\"right\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{\"bgcolor\":\"sk-JsZB4Wi1HM2zJne40434CbCd071642Ab9910Ee1cA4CaE115\"},{\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11}},{\"border\":{\"top\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]},\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"size\":10}},{\"font\":{\"size\":10}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"size\":11}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"size\":11,\"bold\":true}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"align\":\"center\",\"font\":{\"size\":11,\"bold\":true}},{},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"align\":\"center\"},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#1e8a1e\"]}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"bgcolor\":\"#dae7d2\",\"align\":\"center\",\"font\":{\"size\":11}},{\"valign\":\"bottom\"},{\"textwrap\":true},{\"textwrap\":true,\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"size\":14}},{\"font\":{\"size\":14}},{\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":15,\"bold\":true}},{\"font\":{\"size\":15}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"宋体\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"楷体\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"楷体\"}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"仿宋\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"仿宋\"}},{\"align\":\"center\",\"font\":{\"size\":15,\"name\":\"华文行楷\",\"bold\":true}},{\"font\":{\"size\":15,\"name\":\"华文行楷\"}},{\"align\":\"center\",\"font\":{\"size\":14,\"name\":\"宋体\"}},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"top\":[\"thin\",\"#1e8a1e\"],\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"border\":{\"left\":[\"thin\",\"#1e8a1e\"],\"bottom\":[\"thin\",\"#1e8a1e\"]},\"textwrap\":true}],\"merges\":[\"C2:D4\",\"E3:I3\",\"E4:I4\",\"B6:D6\",\"E6:F6\",\"G6:H6\",\"I6:J6\",\"B7:D7\",\"E7:F7\",\"G7:H7\",\"I7:J7\",\"B8:D8\",\"E8:F8\",\"G8:H8\",\"I8:J8\",\"B9:D9\",\"E9:J9\",\"B11:C11\",\"D11:E11\",\"F11:H11\",\"B12:C12\",\"D12:E12\",\"F12:H12\",\"B13:D13\",\"E13:J13\",\"B14:D14\",\"E14:J14\",\"B15:D15\",\"E15:J15\",\"B17:D17\",\"F17:G17\",\"H17:J17\",\"B19:C19\",\"B20:J20\",\"B21:J21\",\"B22:J22\"],\"imgList\":[{\"row\":2,\"col\":9,\"colspan\":1,\"rowspan\":2,\"width\":\"96\",\"height\":\"47\",\"src\":\"https://jeecgdev.oss-cn-beijing.aliyuncs.com/jimureport/images/wanda_1710733731369.jpg\",\"layer_id\":\"YfdiQDcuqTjlOG4f\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[2,9]]},{\"row\":15,\"col\":8,\"colspan\":1,\"rowspan\":5,\"width\":\"82\",\"height\":\"77\",\"src\":\"https://jeecgdev.oss-cn-beijing.aliyuncs.com/jimureport/images/dzyz_1710741011435.png\",\"layer_id\":\"qWMWhe42wLnQXDUa\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[15,8]]}]}', NULL, NULL, 'admin', '2024-03-18 10:52:51', 'admin', '2024-03-20 10:16:40', 0, NULL, NULL, 1, 60, NULL, NULL, NULL, '1', 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('938680635597357056', '20240412162853', '测试纵向分组报表111', NULL, NULL, '984272091947253760', '{\"loopBlockList\":[],\"printConfig\":{\"layout\":\"portrait\",\"printCallBackUrl\":\"\",\"paper\":\"A4\",\"isBackend\":false,\"width\":210,\"definition\":1,\"marginX\":10,\"height\":297,\"marginY\":10},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1048,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":53},\"6\":{\"width\":114},\"7\":{\"width\":105},\"8\":{\"width\":276},\"len\":50},\"area\":{\"sri\":6,\"sci\":6,\"eri\":6,\"eci\":6,\"width\":114,\"height\":25},\"pyGroupEngine\":false,\"excel_config_id\":\"938680635597357056\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"2\":{\"cells\":{\"1\":{\"style\":1,\"text\":\"国家\"},\"2\":{\"style\":1,\"text\":\"城市\"},\"3\":{\"style\":1,\"text\":\"地区\"},\"4\":{\"style\":1,\"text\":\"公司\"},\"5\":{\"style\":1,\"text\":\"部门\"},\"6\":{\"text\":\"学历\",\"style\":1},\"7\":{\"text\":\"性别\",\"style\":1},\"8\":{\"style\":1,\"text\":\"年龄\"}}},\"3\":{\"cells\":{\"1\":{\"style\":0,\"text\":\"#{zongxdata.group(country)}\",\"aggregate\":\"group\"},\"2\":{\"style\":0,\"text\":\"#{zongxdata.group(city)}\",\"aggregate\":\"group\"},\"3\":{\"style\":0,\"text\":\"#{zongxdata.group(region)}\",\"aggregate\":\"group\"},\"4\":{\"style\":0,\"text\":\"#{zongxdata.group(org)}\",\"aggregate\":\"group\"},\"5\":{\"style\":0,\"aggregate\":\"group\",\"text\":\"#{zongxdata.group(department)}\"},\"6\":{\"style\":0,\"aggregate\":\"group\",\"subtotal\":\"-1\",\"funcname\":\"-1\",\"text\":\"#{zongxdata.group(education)}\"},\"7\":{\"style\":0,\"aggregate\":\"group\",\"text\":\"#{zongxdata.group(sex)}\",\"subtotal\":\"groupField\",\"funcname\":\"-1\"},\"8\":{\"style\":0,\"text\":\"#{zongxdata.age}\",\"aggregate\":\"group\",\"subtotal\":\"-1\",\"funcname\":\"SUM\",\"noCalculate\":false,\"filterEmptyValue\":false,\"filterNegative\":false,\"direction\":\"down\"}}},\"8\":{\"cells\":{}},\"9\":{\"cells\":{}},\"len\":101},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"groupField\":\"zongxdata.country\",\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"bgcolor\":\"#c5e0b3\"}],\"isGroup\":true,\"merges\":[]}', NULL, NULL, 'admin', '2024-04-12 16:28:54', 'admin', '2024-04-12 16:57:16', 0, NULL, NULL, 0, 48, NULL, NULL, NULL, '2', 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('94b04a1ed7c17f8e96baa6d89fb90758', '3698522', '员工请假单', '', NULL, '984302991393210368', '{\"area\":false,\"printElWidth\":794,\"excel_config_id\":\"94b04a1ed7c17f8e96baa6d89fb90758\",\"printElHeight\":1047,\"rows\":{\"1\":{\"cells\":{\"0\":{\"text\":\"员工请假单\",\"style\":100,\"merge\":[0,7]},\"1\":{\"style\":100},\"2\":{\"style\":100},\"3\":{\"style\":100},\"4\":{\"style\":100},\"5\":{\"style\":100},\"6\":{\"style\":100},\"7\":{\"style\":100}},\"height\":65},\"2\":{\"cells\":{\"0\":{\"text\":\"单位:北极星\",\"style\":101,\"merge\":[0,2]},\"1\":{\"style\":101},\"2\":{\"style\":101},\"3\":{\"style\":102},\"4\":{\"style\":102},\"5\":{\"style\":102},\"6\":{\"style\":102},\"7\":{\"style\":102}},\"height\":38},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":119},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"text\":\"工作岗位\",\"style\":120},\"3\":{\"style\":119,\"text\":\" \"},\"4\":{\"text\":\"工作时间\",\"style\":119},\"5\":{\"style\":119,\"text\":\" \"},\"6\":{\"text\":\"出生日期\",\"style\":119},\"7\":{\"style\":119,\"text\":\" \"}}},\"4\":{\"cells\":{\"0\":{\"text\":\"请选择假类型\",\"style\":121,\"merge\":[4,0]},\"1\":{\"text\":\"年休假\",\"style\":120},\"2\":{\"style\":120,\"text\":\"病、事假\"},\"3\":{\"style\":120,\"text\":\"探亲假\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"婚、丧假\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"生育假\"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":29},\"5\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"text\":\"1、公岭满1~9年(5天)\",\"style\":122},\"2\":{\"style\":119,\"text\":\"1、病假\"},\"3\":{\"style\":119,\"text\":\"1、未婚探父母(20天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"1、婚假(3天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"1、流产\"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":25},\"6\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":123,\"text\":\"2、公岭满10~19年(10天)\"},\"2\":{\"style\":119,\"text\":\"2、事假\"},\"3\":{\"style\":119,\"text\":\"2、已婚探父母(20天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"2、晚婚假(13天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"2、产假\"},\"7\":{\"style\":107,\"text\":\" \"}}},\"7\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":123,\"text\":\"3、公岭满20年(15天)\"},\"2\":{\"style\":119,\"text\":\" \"},\"3\":{\"style\":119,\"text\":\"3、探配偶(30天)\"},\"4\":{\"style\":119,\"merge\":[0,1],\"text\":\"3、丧假(3天)\"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"3、哺乳假\"},\"7\":{\"style\":107,\"text\":\" \"}}},\"8\":{\"cells\":{\"0\":{\"style\":0},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"style\":119,\"text\":\" \"},\"3\":{\"style\":119,\"text\":\"探亲地点:\",\"merge\":[0,2]},\"4\":{\"style\":107,\"text\":\" \"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":119,\"merge\":[0,1],\"text\":\"4、陪护假\"},\"7\":{\"style\":107,\"text\":\" \"},\"8\":{\"style\":15},\"9\":{\"style\":15},\"10\":{\"style\":15},\"11\":{\"style\":15},\"12\":{\"style\":15},\"13\":{\"style\":15},\"14\":{\"style\":15},\"15\":{\"style\":15},\"16\":{\"style\":15},\"17\":{\"style\":15},\"18\":{\"style\":15},\"19\":{\"style\":15},\"20\":{\"style\":15},\"21\":{\"style\":15},\"22\":{\"style\":15},\"23\":{\"style\":5},\"24\":{\"style\":5},\"25\":{\"style\":5}}},\"9\":{\"cells\":{\"0\":{\"style\":124,\"text\":\"请假时间\"},\"1\":{\"style\":125,\"merge\":[0,6],\"text\":\"2020年02-30 至2020年02-03-30\"},\"2\":{\"style\":115,\"text\":\" \"},\"3\":{\"style\":115,\"text\":\" \"},\"4\":{\"style\":115,\"text\":\" \"},\"5\":{\"style\":115,\"text\":\" \"},\"6\":{\"style\":115,\"text\":\" \"},\"7\":{\"style\":115,\"text\":\" \"}},\"height\":46},\"10\":{\"cells\":{\"0\":{\"style\":126,\"text\":\"审批人员及意见\"},\"1\":{\"merge\":[0,6],\"style\":127,\"text\":\"同意\"},\"2\":{\"style\":118,\"text\":\" \"},\"3\":{\"style\":118,\"text\":\" \"},\"4\":{\"style\":118,\"text\":\" \"},\"5\":{\"style\":118,\"text\":\" \"},\"6\":{\"style\":118,\"text\":\" \"},\"7\":{\"style\":118,\"text\":\" \"}},\"height\":89},\"11\":{\"cells\":{\"0\":{\"text\":\"备注\",\"style\":119},\"1\":{\"style\":119,\"text\":\" \"},\"2\":{\"text\":\"请假人签名\",\"style\":119},\"3\":{\"merge\":[0,4],\"style\":119,\"text\":\" \"},\"4\":{\"style\":107,\"text\":\" \"},\"5\":{\"style\":107,\"text\":\" \"},\"6\":{\"style\":107,\"text\":\" \"},\"7\":{\"style\":107,\"text\":\" \"}},\"height\":90},\"12\":{\"cells\":{\"0\":{\"merge\":[0,7],\"style\":120,\"text\":\"请假审批表一式两份,考勤员与人力资源部门各存一份\"},\"1\":{\"style\":106,\"text\":\" \"},\"2\":{\"style\":106,\"text\":\" \"},\"3\":{\"style\":106,\"text\":\" \"},\"4\":{\"style\":106,\"text\":\" \"},\"5\":{\"style\":106,\"text\":\" \"},\"6\":{\"style\":106,\"text\":\" \"},\"7\":{\"style\":106,\"text\":\" \"}},\"height\":25},\"len\":101},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":789,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"textwrap\":true},{\"textwrap\":false},{\"textwrap\":true,\"valign\":\"middle\"},{\"textwrap\":false,\"valign\":\"middle\"},{\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"left\"},{},{\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"}},{\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\"},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\",\"size\":14}},{\"align\":\"center\",\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\",\"size\":14,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#7f7f7f\"},{\"color\":\"#7f7f7f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"}},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"middle\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"bottom\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":true},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":true},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":false},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"textwrap\":false},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"Lato\"}},{\"align\":\"center\",\"font\":{\"name\":\"宋体\",\"size\":14,\"bold\":true}},{\"font\":{\"name\":\"宋体\"},\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"宋体\"},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false},{\"align\":\"center\",\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false},{\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"align\":\"center\",\"color\":\"#000100\"},{\"textwrap\":false,\"valign\":\"middle\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":false,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"top\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"valign\":\"top\"},{\"textwrap\":true,\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"color\":\"#000100\",\"font\":{\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#262626\"],\"top\":[\"thin\",\"#262626\"],\"left\":[\"thin\",\"#262626\"],\"right\":[\"thin\",\"#262626\"]},\"font\":{\"name\":\"宋体\"},\"color\":\"#000100\",\"textwrap\":false}],\"validations\":[],\"cols\":{\"0\":{\"width\":35},\"1\":{\"width\":195},\"2\":{\"width\":77},\"3\":{\"width\":168},\"4\":{\"width\":62},\"6\":{\"width\":70},\"7\":{\"width\":82},\"len\":26},\"merges\":[\"D9:F9\",\"E5:F5\",\"E6:F6\",\"E7:F7\",\"E8:F8\",\"G5:H5\",\"G6:H6\",\"G7:H7\",\"G8:H8\",\"G9:H9\",\"B10:H10\",\"B11:H11\",\"D12:H12\",\"A13:H13\",\"A3:C3\",\"A2:H2\",\"A5:A9\"]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207135257_1607320433681.png', 'jeecg', '2020-07-10 18:29:39', 'admin', '2021-02-03 14:01:12', 0, NULL, NULL, 1, 145, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('961455b47c0b86dc961e90b5893bff05', '56780774', '阜阳检票数查询副本0774', '', NULL, '984302991393210368', '{\"area\":{\"sri\":8,\"sci\":6,\"eri\":8,\"eci\":6,\"width\":75,\"height\":25},\"printElWidth\":794,\"excel_config_id\":\"53c82a76f837d5661dceec7d93afafec\",\"printElHeight\":1047,\"rows\":{\"0\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"\",\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":67,\"merge\":[0,3],\"text\":\"阜阳火车站检票数\"},\"4\":{\"style\":67},\"5\":{\"style\":67},\"6\":{\"style\":67},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":63},\"1\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":66},\"2\":{\"style\":66},\"3\":{\"style\":66},\"4\":{\"style\":66},\"5\":{\"style\":66},\"6\":{\"style\":66},\"7\":{\"style\":66},\"8\":{\"style\":66},\"9\":{\"style\":58}},\"height\":20},\"2\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"日期:\",\"style\":68},\"2\":{\"text\":\"${gongsi.tdata}\",\"style\":69},\"3\":{\"style\":66},\"4\":{\"style\":66,\"text\":\"制表人:\"},\"5\":{\"text\":\"${gongsi.gname}\",\"style\":66},\"6\":{\"style\":66},\"7\":{\"text\":\"\",\"merge\":[0,1],\"style\":70},\"8\":{\"style\":70},\"9\":{\"style\":58}},\"isDrag\":true},\"3\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"text\":\"班次\",\"merge\":[1,0],\"style\":71},\"2\":{\"text\":\"发车时间\",\"merge\":[1,0],\"style\":71},\"3\":{\"text\":\"是否放空\",\"merge\":[1,0],\"style\":71},\"4\":{\"text\":\"路线\",\"merge\":[0,1],\"style\":71},\"5\":{\"style\":72},\"6\":{\"text\":\"核载座位数\",\"merge\":[1,0],\"style\":71},\"7\":{\"merge\":[1,0],\"style\":71,\"text\":\"检票数\"},\"8\":{\"merge\":[1,0],\"style\":71,\"text\":\"实载率(%)\"},\"9\":{\"style\":58}}},\"4\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":72},\"2\":{\"style\":71},\"3\":{\"style\":72},\"4\":{\"text\":\"从\",\"style\":71},\"5\":{\"text\":\"到\",\"style\":71},\"6\":{\"style\":72},\"7\":{\"style\":71},\"8\":{\"style\":72},\"9\":{\"style\":58}},\"height\":25},\"5\":{\"cells\":{\"0\":{\"style\":58},\"1\":{\"style\":73,\"text\":\"#{jianpiao.bnum}\"},\"2\":{\"style\":73,\"text\":\"#{jianpiao.ftime}\"},\"3\":{\"style\":73,\"text\":\"#{jianpiao.sfkong}\"},\"4\":{\"style\":73,\"text\":\"#{jianpiao.kaishi}\"},\"5\":{\"style\":73,\"text\":\"#{jianpiao.jieshu}\"},\"6\":{\"style\":73,\"text\":\"#{jianpiao.hezairen}\"},\"7\":{\"style\":73,\"text\":\"#{jianpiao.jpnum}\"},\"8\":{\"style\":73,\"text\":\"#{jianpiao.shihelv}\"},\"9\":{\"style\":58}},\"height\":33},\"6\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11,\"text\":\"\"},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"8\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"9\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"10\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"11\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"12\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"13\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"14\":{\"cells\":{\"1\":{\"style\":11},\"2\":{\"style\":11},\"3\":{\"style\":11},\"4\":{\"style\":11},\"5\":{\"style\":11},\"6\":{\"style\":11},\"7\":{\"style\":11},\"8\":{\"style\":11}}},\"len\":96,\"-1\":{\"cells\":{\"-1\":{\"text\":\"${gongsi.id}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":737,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"],\"top\":[\"thin\",\"#7f7f7f\"],\"left\":[\"thin\",\"#7f7f7f\"],\"right\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"top\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"],\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"bottom\":[\"thin\",\"#7f7f7f\"]}},{\"border\":{\"right\":[\"thin\",\"#7f7f7f\"]}},{\"align\":\"center\",\"font\":{\"size\":16}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true}},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"align\":\"right\"},{\"align\":\"center\",\"font\":{\"size\":14,\"bold\":true}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":true},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#4371c6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#2e75b5\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#0170c1\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000100\"],\"top\":[\"thin\",\"#000100\"],\"left\":[\"thin\",\"#000100\"],\"right\":[\"thin\",\"#000100\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"font\":{\"bold\":false},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#5b9cd6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":22,\"bold\":true},\"valign\":\"bottom\"},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"bold\":false},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"宋体\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"宋体\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"right\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"宋体\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"宋体\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true,\"name\":\"Microsoft YaHei\"},\"valign\":\"bottom\"},{\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"color\":\"#7f7f7f\",\"align\":\"right\"},{\"color\":\"#7f7f7f\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"right\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"name\":\"Microsoft YaHei\"},\"bgcolor\":\"#9cc2e6\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":53},\"1\":{\"width\":118},\"2\":{\"width\":75},\"3\":{\"width\":54},\"4\":{\"width\":95},\"5\":{\"width\":109},\"6\":{\"width\":75},\"7\":{\"width\":75},\"8\":{\"width\":83},\"9\":{\"width\":30},\"len\":27},\"merges\":[\"E4:F4\",\"B4:B5\",\"C4:C5\",\"D4:D5\",\"G4:G5\",\"H4:H5\",\"I4:I5\",\"D1:G1\",\"H3:I3\"]}', '', 'https://static.jeecg.com/designreport/images/25_1597233573577.png', 'admin', '2021-01-19 10:46:45', 'admin', '2021-02-03 13:58:22', 0, NULL, NULL, 0, 711, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('975549294469992448', '20240723101422', '简单表达式混合运算', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1097,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":81},\"1\":{\"width\":55},\"2\":{\"width\":144},\"3\":{\"width\":143},\"4\":{\"width\":112},\"5\":{\"width\":129},\"7\":{\"width\":333},\"len\":100},\"area\":false,\"pyGroupEngine\":false,\"excel_config_id\":\"975549294469992448\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"1\"},\"1\":{},\"2\":{\"text\":\"SUM(A1,A2)\"},\"3\":{\"text\":\"=SUM(A1,A2)\"},\"4\":{\"text\":\"SUM(A1:A10)\"},\"5\":{\"text\":\"=SUM(A1:A10)\"}}},\"1\":{\"cells\":{\"0\":{\"text\":\"2\"},\"1\":{},\"2\":{\"text\":\"SUM(A1,A2)*2\"},\"3\":{\"text\":\"=SUM(A1,A2)*2\"},\"4\":{\"text\":\"SUM(A1:A10)*2\"},\"5\":{\"text\":\"=SUM(A1:A10)*2\"},\"6\":{},\"7\":{\"text\":\"=2+SUM(A1,A2)*2 \"}}},\"2\":{\"cells\":{\"0\":{\"text\":\"3\"},\"2\":{\"text\":\"SUM(A1,A2)/2\"},\"3\":{\"text\":\"=SUM(A1,A2)/2\"},\"4\":{\"text\":\"SUM(A1:A10)/2\"},\"5\":{\"text\":\"=SUM(A1:A10)/2\"},\"7\":{\"text\":\"=A1*A2\"}}},\"3\":{\"cells\":{\"0\":{\"text\":\"4\"},\"2\":{\"text\":\"SUM(A1,A2)+2\"},\"3\":{\"text\":\"=SUM(A1,A2)+2\"},\"4\":{\"text\":\"SUM(A1:A10)+2\"},\"5\":{\"text\":\"=SUM(A1:A10)+2\"}}},\"4\":{\"cells\":{\"0\":{\"text\":\"5\"},\"2\":{\"text\":\"SUM(A1,A2)-2\"},\"3\":{\"text\":\"=SUM(A1,A2)-2\"},\"4\":{\"text\":\"SUM(A1:A10)-2\"},\"5\":{\"text\":\"=SUM(A1:A10)-2\"},\"7\":{}}},\"5\":{\"cells\":{\"0\":{\"text\":\"6\"}}},\"6\":{\"cells\":{\"0\":{\"text\":\"7\"},\"2\":{\"text\":\"MAX(A1,A2)\"},\"3\":{\"text\":\"=MAX(A1,A2)\"},\"4\":{\"text\":\"MAX(A1:A10)\"},\"5\":{\"text\":\"=MAX(A1:A10)\"}}},\"7\":{\"cells\":{\"0\":{\"text\":\"8\"},\"2\":{\"text\":\"MAX(A1,A2)*2\"},\"3\":{\"text\":\"=MAX(A1,A2)*2\"},\"4\":{\"text\":\"MAX(A1:A10)*2\"},\"5\":{\"text\":\"=MAX(A1:A10)*2\"}}},\"8\":{\"cells\":{\"0\":{\"text\":\"9\"},\"2\":{\"text\":\"MAX(A1,A2)/2\"},\"3\":{\"text\":\"=MAX(A1,A2)/2\"},\"4\":{\"text\":\"MAX(A1:A10)/2\"},\"5\":{\"text\":\"=MAX(A1:A10)/2\"}}},\"9\":{\"cells\":{\"0\":{\"text\":\"10\"},\"2\":{\"text\":\"MAX(A1,A2)+2\"},\"3\":{\"text\":\"=MAX(A1,A2)+2\"},\"4\":{\"text\":\"MAX(A1:A10)+2\"},\"5\":{\"text\":\"=MAX(A1:A10)+2\"}}},\"10\":{\"cells\":{\"0\":{},\"2\":{\"text\":\"MAX(A1,A2)-2\"},\"3\":{\"text\":\"=MAX(A1,A2)-2\"},\"4\":{\"text\":\"MAX(A1:A10)-2\"},\"5\":{\"text\":\"=MAX(A1:A10)-2\"}}},\"11\":{\"cells\":{\"0\":{}}},\"12\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)\"},\"3\":{\"text\":\"=MIN(A1,A2)\"},\"4\":{\"text\":\"MIN(A1:A10)\"},\"5\":{\"text\":\"=MIN(A1:A10)\"}}},\"13\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)*2\"},\"3\":{\"text\":\"=MIN(A1,A2)*2\"},\"4\":{\"text\":\"MIN(A1:A10)*2\"},\"5\":{\"text\":\"=MIN(A1:A10)*2\"}}},\"14\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)/2\"},\"3\":{\"text\":\"=MIN(A1,A2)/2\"},\"4\":{\"text\":\"MIN(A1:A10)/2\"},\"5\":{\"text\":\"=MIN(A1:A10)/2\"}}},\"15\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)+2\"},\"3\":{\"text\":\"=MIN(A1,A2)+2\"},\"4\":{\"text\":\"MIN(A1:A10)+2\"},\"5\":{\"text\":\"=MIN(A1:A10)+2\"}}},\"16\":{\"cells\":{\"2\":{\"text\":\"MIN(A1,A2)-2\"},\"3\":{\"text\":\"=MIN(A1,A2)-2\"},\"4\":{\"text\":\"MIN(A1:A10)-2\"},\"5\":{\"text\":\"=MIN(A1:A10)-2\"}}},\"18\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)\"},\"4\":{\"text\":\"AVERAGE(A1:A10)\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)\"}}},\"19\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)*2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)*2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)*2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)*2\"}}},\"20\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)/2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)/2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)/2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)/2\"}}},\"21\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)+2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)+2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)+2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)+2\"}}},\"22\":{\"cells\":{\"2\":{\"text\":\"AVERAGE(A1,A2)-2\"},\"3\":{\"text\":\"=AVERAGE(A1,A2)-2\"},\"4\":{\"text\":\"AVERAGE(A1:A10)-2\"},\"5\":{\"text\":\"=AVERAGE(A1:A10)-2\"}}},\"24\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)\"}}},\"25\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)*2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)*2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)*2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)*2\"}}},\"26\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)/2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)/2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)/2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)/2\"}}},\"27\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)+2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)+2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)+2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)+2\"}}},\"28\":{\"cells\":{\"2\":{\"text\":\"COUNTNZ(A1,A2)-2\"},\"3\":{\"text\":\"=COUNTNZ(A1,A2)-2\"},\"4\":{\"text\":\"COUNTNZ(A1:A10)-2\"},\"5\":{\"text\":\"=COUNTNZ(A1:A10)-2\"}}},\"len\":200},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[]}', NULL, NULL, 'admin', '2024-07-23 10:14:22', 'admin', '2024-07-24 19:17:39', 0, NULL, NULL, 0, 75, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('989065112487022592', '20240823093133__1750', '在线填报-员工信息登记', NULL, NULL, 'datainfo', '{\"loopBlockList\":[],\"querySetting\":{\"izOpenQueryBar\":false,\"izDefaultQuery\":true},\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10,\"layout\":\"portrait\",\"printCallBackUrl\":\"\"},\"hidden\":{\"rows\":[],\"cols\":[]},\"dbexps\":[],\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":698,\"autofilter\":{},\"validations\":[],\"cols\":{\"0\":{\"width\":76},\"1\":{\"width\":114},\"2\":{\"width\":87},\"3\":{\"width\":99},\"4\":{\"width\":65},\"5\":{\"width\":126},\"6\":{\"width\":131},\"len\":100},\"area\":{\"sri\":10,\"sci\":9,\"eri\":10,\"eci\":9,\"width\":100,\"height\":121},\"pyGroupEngine\":false,\"submitHandlers\":[{\"type\":\"api\",\"code\":\"api\",\"name\":\"api\",\"isMain\":true,\"isEdit\":true,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/submit/handle\"}],\"excel_config_id\":\"989065112487022592\",\"hiddenCells\":[],\"zonedEditionList\":[],\"rows\":{\"0\":{\"cells\":{\"0\":{\"merge\":[1,6],\"height\":90,\"text\":\"员工信息登记表\",\"style\":6}},\"height\":45},\"1\":{\"cells\":{},\"height\":45},\"2\":{\"cells\":{\"0\":{\"text\":\"编号\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"no\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"年龄\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"age\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"precision\":0,\"isLimitMinNum\":false,\"minNum\":0,\"isLimitMaxNum\":false,\"maxNum\":100,\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"age\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"填写时间\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"DatePicker-time\",\"component\":\"DatePicker\",\"field\":\"create_time\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"dateFormat\":\"yyyy-MM-dd HH:mm:ss\",\"defaultValue\":\"\"},\"style\":7,\"text\":\" \"},\"6\":{\"merge\":[3,0],\"height\":180,\"fillForm\":{\"componentFlag\":\"JUploadImage\",\"component\":\"JUploadImage\",\"field\":\"photo\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"maxUploadNum\":1,\"h_align\":\"center\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"3\":{\"cells\":{\"0\":{\"text\":\"姓名\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"text\":\" \",\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"name\",\"placeholder\":\"\",\"required\":true,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"name\"},{\"dbTable\":\"test_form_submit1\",\"dbField\":\"name\"}],\"label\":\"A5\",\"labelText\":\"姓名\",\"pattern\":\"\",\"patternErrorTip\":\"\"}},\"2\":{\"text\":\"性别\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"JRadio\",\"component\":\"JRadio\",\"field\":\"sex\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"男\",\"value\":\"1\"},{\"label\":\"女\",\"value\":\"2\"}],\"apiUrl\":\"\",\"dictCode\":\"sex1\",\"dictName\":\"性别\"},\"style\":8,\"text\":\" \"},\"4\":{\"text\":\"出生日期\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"DatePicker-date\",\"component\":\"DatePicker\",\"field\":\"brithday\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dateFormat\":\"yyyy-MM-dd\",\"dateShowType\":\"date\"},\"style\":7,\"text\":\" \"},\"8\":{}},\"height\":45},\"4\":{\"cells\":{\"0\":{\"text\":\"民族\",\"style\":7,\"fillFormLabel\":\"*\"},\"1\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"nation\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"minzu\",\"dictName\":\"民族\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"政治面貌\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"politics\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"politics\"}],\"dataSource\":\"api\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/submit/dict/political\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"籍贯\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JAreaLinkage\",\"component\":\"JAreaLinkage\",\"field\":\"native_place\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"native_place\"}],\"areaType\":\"region\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"5\":{\"cells\":{\"0\":{\"text\":\"身高(cm)\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"height\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"height\"}],\"precision\":2,\"isLimitMinNum\":false,\"minNum\":50,\"isLimitMaxNum\":false,\"maxNum\":200},\"style\":7,\"text\":\" \"},\"2\":{\"text\":\"体重\",\"style\":7},\"3\":{\"fillForm\":{\"componentFlag\":\"InputNumber\",\"component\":\"InputNumber\",\"field\":\"weight\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"weight\"}],\"precision\":2,\"isLimitMinNum\":false,\"minNum\":30,\"isLimitMaxNum\":false,\"maxNum\":300},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"健康状况\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"health\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"static\",\"options\":[{\"label\":\"健康\",\"value\":\"1\"},{\"label\":\"不健康\",\"value\":\"2\"}],\"apiUrl\":\"\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"6\":{\"cells\":{\"0\":{\"text\":\"身份证号\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"idcard\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"pattern\":\"^\\\\d{17}[\\\\dX]$\",\"patternErrorTip\":\"请输入身份证号\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"id_card\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"学历\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"people\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"xueli_sf\",\"dictName\":\"学历\",\"multiple\":true},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"7\":{\"cells\":{\"0\":{\"text\":\"联系地址\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"addr\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"address\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"手机号\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"input-text\",\"component\":\"Input\",\"field\":\"phone\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"phone\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"8\":{\"cells\":{\"0\":{\"text\":\"毕业证书\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"JUploadFile\",\"component\":\"JUploadFile\",\"field\":\"ca\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"maxUploadNum\":1,\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"ca\"}]},\"style\":9,\"text\":\" \"},\"4\":{\"text\":\"幸运色\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"ColorPicker\",\"component\":\"ColorPicker\",\"field\":\"lucky_color\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"alpha\":false},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"9\":{\"cells\":{\"0\":{\"text\":\"教育经历\",\"merge\":[0,6],\"height\":45,\"style\":8}},\"height\":45},\"10\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":121,\"fillForm\":{\"componentFlag\":\"input-textarea\",\"component\":\"Input\",\"field\":\"education\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"education\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":121},\"11\":{\"cells\":{\"0\":{\"text\":\"工作经历\",\"merge\":[0,6],\"height\":45,\"style\":8}},\"height\":45},\"12\":{\"cells\":{\"0\":{\"merge\":[0,6],\"height\":150,\"fillForm\":{\"componentFlag\":\"input-textarea\",\"component\":\"Input\",\"field\":\"work_exp\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"work_exp\"}],\"pattern\":\"\",\"patternErrorTip\":\"\"},\"style\":7,\"text\":\" \"}},\"height\":150},\"13\":{\"cells\":{\"0\":{\"text\":\"爱好\",\"style\":7},\"1\":{\"merge\":[0,5],\"height\":45,\"fillForm\":{\"componentFlag\":\"JCheckbox\",\"component\":\"JCheckbox\",\"field\":\"fruity\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"fruity\"}],\"dataSource\":\"dict\",\"options\":[{\"label\":\"选项1\",\"value\":\"1\"},{\"label\":\"选项2\",\"value\":\"2\"},{\"label\":\"选项3\",\"value\":\"3\"}],\"apiUrl\":\"\",\"dictCode\":\"aihao\",\"dictName\":\"爱好\"},\"style\":7,\"text\":\" \"}},\"height\":45},\"14\":{\"cells\":{\"0\":{\"text\":\"所属部门\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"JDepartment\",\"component\":\"JDepartment\",\"field\":\"dept\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"dept\"}],\"multiple\":true,\"apiUrl\":\"http://192.168.1.69:8086/jmreport/test/getDepartmentList\"},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"text\":\"薪资\",\"style\":7},\"5\":{\"fillForm\":{\"componentFlag\":\"JMoney\",\"component\":\"JMoney\",\"field\":\"pay\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"precision\":0,\"addon\":\"prepend\",\"moenyUnit\":\"¥\"},\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45}},\"height\":45},\"15\":{\"cells\":{\"0\":{\"text\":\"角色\",\"style\":7},\"1\":{\"merge\":[0,2],\"height\":45,\"fillForm\":{\"componentFlag\":\"JRole\",\"component\":\"JRole\",\"field\":\"role\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getRoleList\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"role\"}]},\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\"工位\"},\"5\":{\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"JSelect\",\"component\":\"JSelect\",\"field\":\"station\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"dataSource\":\"static\",\"options\":[{\"label\":\"101\",\"value\":\"1\"},{\"label\":\"102\",\"value\":\"2\"},{\"label\":\"103\",\"value\":\"3\"},{\"label\":\"104\",\"value\":\"4\"}],\"apiUrl\":\"\",\"dictCode\":\"\",\"dictName\":\"\",\"multiple\":true}}},\"height\":45},\"16\":{\"cells\":{\"0\":{\"text\":\"直属领导\",\"style\":7},\"1\":{\"fillForm\":{\"componentFlag\":\"JUser\",\"component\":\"JUser\",\"field\":\"leader\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":false,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getUserList\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"leader\"}]},\"merge\":[0,2],\"height\":45,\"style\":7,\"text\":\" \"},\"4\":{\"style\":7,\"text\":\"是否启用\"},\"5\":{\"style\":10,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"JSwitch\",\"component\":\"JSwitch\",\"field\":\"status\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"dbFieldBind\":[{\"dbTable\":\"test_form_submit\",\"dbField\":\"status\"}],\"label\":\"\",\"labelText\":\"\",\"switchOpen\":\"Y\",\"switchClose\":\"N\",\"h_align\":\"center\"}},\"6\":{}},\"height\":45},\"17\":{\"cells\":{\"0\":{\"style\":7,\"text\":\"负责部门\"},\"1\":{\"fillForm\":{\"componentFlag\":\"JSelectTree\",\"component\":\"JSelectTree\",\"field\":\"responsible\",\"value\":\"\",\"defaultValue\":\"\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"multiple\":true,\"apiUrl\":\"https://bootapi.jeecg.com/jmreport/test/getDepartmentList\"},\"style\":7,\"text\":\" \",\"merge\":[0,2],\"height\":45},\"4\":{\"style\":7,\"text\":\"上班时间\"},\"5\":{\"style\":7,\"text\":\" \",\"merge\":[0,1],\"height\":45,\"fillForm\":{\"componentFlag\":\"TimePicker\",\"component\":\"TimePicker\",\"field\":\"key_1724408224853_326455\",\"placeholder\":\"\",\"required\":false,\"requiredTip\":\"不能为空~\",\"label\":\"\",\"labelText\":\"\",\"isRangTime\":false,\"timeType\":\"time\"}}},\"height\":45},\"20\":{\"cells\":{\"6\":{}}},\"len\":201},\"rpbar\":{\"show\":true,\"pageSize\":\"\",\"btnList\":[]},\"fixedPrintHeadRows\":[],\"fixedPrintTailRows\":[],\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"valign\":\"middle\"},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"size\":16,\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"valign\":\"middle\"},{\"align\":\"right\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}}],\"freezeLineColor\":\"rgb(185, 185, 185)\",\"merges\":[\"A1:G2\",\"G3:G6\",\"B7:D7\",\"F7:G7\",\"B8:D8\",\"F8:G8\",\"B9:D9\",\"F9:G9\",\"A10:G10\",\"A11:G11\",\"A12:G12\",\"A13:G13\",\"B14:G14\",\"B15:D15\",\"F15:G15\",\"B16:D16\",\"F16:G16\",\"B17:D17\",\"F17:G17\",\"B18:D18\",\"F18:G18\"]}', NULL, NULL, 'admin', '2024-08-29 17:18:29', 'admin', '2024-08-30 10:24:03', 0, NULL, NULL, 1, 2, NULL, NULL, NULL, '1', 9, 1, NULL); +INSERT INTO `jimu_report` VALUES ('9dbadaee8720767efe3164a7d018c870', '45566', '发票打印', '', NULL, '984302991393210368', '{\"area\":{\"sri\":8,\"sci\":4,\"eri\":8,\"eci\":4,\"width\":100,\"height\":25},\"printElWidth\":794,\"excel_config_id\":\"9dbadaee8720767efe3164a7d018c870\",\"printElHeight\":500,\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\"\",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"1\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"2\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"3\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"4\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"5\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"6\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"7\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"},\"8\":{\"text\":\" \",\"virtual\":\"RTA6TUIKs1pmgVOM\"}}},\"2\":{\"cells\":{},\"height\":11},\"3\":{\"cells\":{\"2\":{\"text\":\"\"},\"5\":{\"text\":\"\"}},\"height\":18},\"4\":{\"cells\":{\"2\":{\"text\":\"182123434\",\"style\":0},\"5\":{\"text\":\"12345678\"}},\"height\":15},\"5\":{\"cells\":{\"2\":{\"text\":\"\"}}},\"7\":{\"cells\":{}},\"8\":{\"cells\":{\"1\":{\"text\":\"餐饮\"},\"2\":{\"text\":\" A11\"},\"3\":{\"text\":\" 333 3\"},\"4\":{\"text\":\" 3 4\"},\"5\":{\"text\":\" 1\"},\"6\":{\"text\":\"3333\"}}},\"9\":{\"cells\":{\"1\":{\"text\":\"测试\"},\"2\":{\"text\":\" mmm\"},\"3\":{\"text\":\" 33 5\"}}},\"10\":{\"cells\":{},\"height\":22},\"11\":{\"cells\":{\"2\":{\"text\":\" \"},\"3\":{\"text\":\"343434\"},\"6\":{\"text\":\"3434\"}},\"height\":45},\"12\":{\"cells\":{\"4\":{\"text\":\" 刮开中奖\"}},\"height\":12},\"13\":{\"cells\":{\"2\":{\"text\":\"\"},\"4\":{\"text\":\" \"},\"5\":{\"text\":\"备注\"}},\"height\":31},\"14\":{\"cells\":{\"1\":{\"text\":\" 张三\"},\"3\":{\"text\":\"完成\"},\"4\":{\"text\":\" 李思\"}},\"height\":41},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":847,\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"size\":8}}],\"validations\":[],\"cols\":{\"0\":{\"width\":93},\"1\":{\"width\":74},\"2\":{\"width\":80},\"len\":26},\"merges\":[],\"imgList\":[{\"row\":0,\"col\":0,\"width\":\"832\",\"height\":\"480\",\"src\":\"https://static.jeecg.com/designreport/images/套打_1609313052910.png\",\"isBackend\":true,\"commonBackend\":true,\"layer_id\":\"RTA6TUIKs1pmgVOM\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8]]}]}', '', 'https://static.jeecg.com/designreport/images/QQ截图20201207113651_1607312223499.png', 'jeecg', '2020-07-20 18:55:59', 'admin', '2021-02-03 13:38:49', 0, NULL, NULL, 0, 1126, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('a250846887abe01217aab173d3006489', '56663', '不动产打印', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"a250846887abe01217aab173d3006489\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":true,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"0\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"1\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"2\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"3\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"4\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"5\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"6\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"7\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"8\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"},\"9\":{\"text\":\" \",\"virtual\":\"BJ9o6oelCr85EpT2\"}},\"isDrag\":true,\"height\":45},\"1\":{\"cells\":{},\"height\":23},\"2\":{\"cells\":{\"0\":{\"text\":\"\",\"style\":0},\"1\":{\"text\":\" ${budong.yname}\",\"style\":21,\"merge\":[0,2]}},\"isDrag\":true,\"height\":34},\"3\":{\"cells\":{\"1\":{\"text\":\" ${budong.chanquan}\",\"style\":0,\"merge\":[0,2]},\"5\":{\"text\":\"${budong.beizhu}\",\"merge\":[5,3]}},\"isDrag\":true,\"height\":39},\"4\":{\"cells\":{\"1\":{\"text\":\" ${budong.zhuzhi}\",\"style\":39,\"merge\":[0,2]}},\"isDrag\":true,\"height\":33},\"5\":{\"cells\":{\"1\":{\"text\":\" ${budong.danyuan}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":53},\"6\":{\"cells\":{\"1\":{\"text\":\" ${budong.type}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":47},\"7\":{\"cells\":{\"1\":{\"text\":\" ${budong.xtype}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":38},\"8\":{\"cells\":{\"1\":{\"text\":\" ${budong.suoyou}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":31},\"9\":{\"cells\":{\"1\":{\"text\":\" ${budong.mianji}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":45},\"10\":{\"cells\":{\"1\":{\"text\":\" ${budong.riqi}\",\"style\":0,\"merge\":[0,2]}},\"isDrag\":true,\"height\":26},\"11\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":0,\"merge\":[0,2]}},\"height\":35},\"12\":{\"cells\":{\"1\":{\"text\":\"\",\"style\":0},\"2\":{\"text\":\"${budong.chanquan}\",\"style\":0,\"merge\":[4,1]}},\"isDrag\":true},\"13\":{\"cells\":{}},\"14\":{\"cells\":{}},\"15\":{\"cells\":{}},\"16\":{\"cells\":{},\"height\":5},\"17\":{\"cells\":{\"2\":{\"text\":\"\",\"style\":0}},\"isDrag\":true,\"height\":33},\"18\":{\"cells\":{\"2\":{\"style\":0,\"text\":\"\"}}},\"len\":100,\"-1\":{\"cells\":{\"0\":{\"text\":\"#{budong.zhuzhi}\"},\"-1\":{\"text\":\"#{budong.suoyou}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":794,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":1024,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"font\":{\"bold\":true}},{\"font\":{\"italic\":true}},{\"font\":{\"italic\":true,\"bold\":true}},{\"font\":{\"italic\":true,\"bold\":false}},{\"font\":{\"italic\":false,\"bold\":false}},{\"font\":{\"italic\":false,\"bold\":true}},{\"align\":\"left\"},{\"align\":\"center\"},{\"align\":\"right\"},{\"align\":\"left\",\"valign\":\"top\"},{\"align\":\"left\",\"valign\":\"top\",\"font\":{\"bold\":true}},{\"font\":{\"bold\":false}},{\"align\":\"left\",\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"align\":\"center\",\"valign\":\"bottom\"},{\"textwrap\":true},{\"font\":{\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"top\"},{\"valign\":\"top\"},{\"textwrap\":true,\"font\":{\"bold\":true}},{\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"bold\":true}},{\"align\":\"left\",\"valign\":\"bottom\",\"font\":{\"bold\":true}},{\"align\":\"left\",\"valign\":\"bottom\",\"font\":{\"bold\":true,\"size\":8}},{\"font\":{\"bold\":true,\"size\":8},\"valign\":\"bottom\"},{\"align\":\"center\",\"valign\":\"bottom\",\"font\":{\"bold\":true,\"size\":8}},{\"align\":\"left\",\"valign\":\"middle\",\"font\":{\"bold\":true}},{\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"bottom\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"middle\"},{\"valign\":\"middle\"},{\"font\":{\"italic\":true,\"bold\":true},\"valign\":\"middle\"},{\"valign\":\"middle\",\"font\":{\"italic\":true}},{\"valign\":\"middle\",\"font\":{\"italic\":false}},{\"font\":{\"italic\":false,\"bold\":false},\"valign\":\"middle\"},{\"align\":\"center\",\"valign\":\"middle\",\"font\":{\"bold\":true,\"size\":8}},{\"font\":{\"bold\":true,\"size\":8},\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\",\"font\":{\"bold\":true,\"size\":8}},{\"align\":\"right\",\"valign\":\"middle\",\"font\":{\"bold\":true,\"size\":8}},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"middle\",\"align\":\"center\"},{\"font\":{\"italic\":false,\"bold\":true},\"valign\":\"middle\",\"align\":\"left\"},{\"align\":\"right\",\"valign\":\"bottom\"},{\"align\":\"right\",\"valign\":\"bottom\",\"font\":{\"bold\":true,\"size\":8}},{\"align\":\"center\",\"valign\":\"middle\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":107},\"1\":{\"width\":54},\"2\":{\"width\":135},\"3\":{\"width\":180},\"6\":{\"width\":123},\"8\":{\"width\":25},\"len\":50},\"merges\":[\"B1:B2\",\"B12:D12\",\"B9:D9\",\"B7:D7\",\"B6:D6\",\"B5:D5\",\"B3:D3\",\"B11:D11\",\"B8:D8\",\"B10:D10\",\"C13:D17\",\"C1:C2\",\"B4:D4\",\"F4:I9\",\"D1:D2\"],\"imgList\":[{\"row\":0,\"col\":0,\"width\":\"950\",\"height\":\"683\",\"src\":\"https://jimureport.oss-cn-beijing.aliyuncs.com/designreport/images/38_1610456500965_1617247643815.jpg\",\"isBackend\":true,\"commonBackend\":true,\"layer_id\":\"BJ9o6oelCr85EpT2\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9]]}]}', '', 'https://static.jeecg.com/designreport/images/24_1597233568822.png', 'jeecg', '2020-07-09 10:48:22', 'admin', '2021-04-01 03:27:28', 0, NULL, NULL, 1, 1416, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('a9f068972508920cd4aab831814f0c04', '23445', '逮捕证', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"a9f068972508920cd4aab831814f0c04\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"2\":{\"text\":\"\",\"merge\":[0,9],\"style\":324},\"12\":{}},\"isDrag\":true,\"height\":55},\"1\":{\"cells\":{\"1\":{\"style\":410,\"merge\":[0,13],\"text\":\"兰州市经济侦查大队\"},\"15\":{\"style\":324,\"text\":\" \"}},\"height\":128},\"2\":{\"cells\":{\"1\":{\"style\":411,\"merge\":[0,13],\"text\":\"逮捕令\"},\"15\":{\"style\":324,\"text\":\" \"}},\"height\":41},\"3\":{\"cells\":{\"1\":{\"style\":412,\"merge\":[0,12],\"text\":\"第123459663号\"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":60},\"4\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"text\":\" 根据《中华人民共和国刑事诉讼法》第七十八条之规定,\",\"style\":341,\"merge\":[0,11]},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":43},\"5\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":341,\"text\":\"经\",\"merge\":[0,1]},\"4\":{\"text\":\"${pdaibu.pname}\",\"style\":342,\"merge\":[0,9]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":47},\"6\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":344,\"text\":\" \",\"merge\":[0,2]},\"5\":{\"merge\":[0,3],\"text\":\"批准,兹由我局对涉嫌\",\"style\":338},\"9\":{\"text\":\"${pdaibu.shiqing}\",\"style\":347,\"merge\":[0,4]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":49},\"7\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":341,\"text\":\"的\"},\"3\":{\"text\":\"${pdaibu.fname}\",\"style\":345,\"merge\":[0,1]},\"5\":{\"text\":\"(性别\",\"style\":343},\"6\":{\"text\":\"${pdaibu.fsex}\",\"style\":347,\"merge\":[0,1]},\"8\":{\"style\":346,\"text\":\"出生日期\"},\"9\":{\"text\":\"${pdaibu.cdata}\",\"style\":345,\"merge\":[0,4]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":51},\"8\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"text\":\"${pdaibu.zhuzhi}\",\"style\":345,\"merge\":[0,7]},\"10\":{\"style\":341,\"text\":\"执行逮捕,送兰州\",\"merge\":[0,3]},\"14\":{\"style\":413,\"text\":\" \"}},\"isDrag\":true,\"height\":51},\"9\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":341,\"merge\":[0,6],\"text\":\"市经济侦查大队羁押。\"},\"9\":{\"style\":341,\"text\":\" \"},\"10\":{\"style\":341,\"merge\":[5,1],\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":57},\"10\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"4\":{\"style\":338,\"virtual\":\"DId4FGTLnP3vfp4y\",\"text\":\" \"},\"5\":{\"style\":338,\"virtual\":\"DId4FGTLnP3vfp4y\",\"text\":\" \"},\"6\":{\"style\":338,\"virtual\":\"DId4FGTLnP3vfp4y\",\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":61},\"11\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"6\":{\"style\":376,\"merge\":[0,2],\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":83},\"12\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"merge\":[0,6],\"style\":338,\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":14},\"13\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"2\":{\"style\":351,\"merge\":[0,5],\"text\":\" \"},\"8\":{\"style\":380,\"text\":\"公安局印\"},\"9\":{\"text\":\" \",\"virtual\":\"XefZfpEcdS3wI6Ae\"},\"10\":{\"text\":\" \",\"virtual\":\"XefZfpEcdS3wI6Ae\"},\"11\":{\"text\":\" \",\"virtual\":\"XefZfpEcdS3wI6Ae\"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":89},\"14\":{\"cells\":{\"1\":{\"style\":414,\"text\":\" \"},\"14\":{\"style\":413,\"text\":\" \"}},\"height\":21},\"15\":{\"cells\":{\"1\":{\"style\":415,\"text\":\" \"},\"2\":{\"style\":416,\"text\":\" \"},\"3\":{\"style\":417,\"text\":\" \"},\"4\":{\"style\":417,\"text\":\" \"},\"5\":{\"style\":417,\"text\":\" \"},\"6\":{\"text\":\"${pdaibu.gdata}\",\"style\":421,\"merge\":[0,6]},\"13\":{\"style\":417,\"text\":\" \"},\"14\":{\"style\":419,\"text\":\" \"}},\"isDrag\":true,\"height\":168},\"len\":88,\"-1\":{\"cells\":{\"1\":{\"text\":\"#{daibu.fdata}\"},\"-1\":{\"text\":\"#{pdaibu.shiqing}\"}},\"isDrag\":true}},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":709,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"left\"},{\"align\":\"left\",\"underline\":true},{\"underline\":true},{\"align\":\"center\",\"underline\":true},{\"align\":\"center\"},{\"align\":\"center\",\"underline\":false},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":16}},{\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"font\":{\"bold\":true}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":true}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"font\":{\"bold\":false}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false}},{\"align\":\"left\",\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":16,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"font\":{\"size\":12},\"align\":\"center\"},{\"font\":{\"size\":8}},{\"font\":{\"size\":10}},{\"font\":{\"size\":10,\"bold\":true}},{\"font\":{\"size\":10,\"bold\":true},\"align\":\"center\"},{\"font\":{\"size\":18,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":18}},{\"font\":{\"size\":16,\"bold\":true},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":16}},{\"font\":{\"size\":12},\"valign\":\"bottom\"},{\"font\":{\"size\":12},\"valign\":\"middle\"},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"border\":{\"top\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"left\":[\"thin\",\"#000\"]}},{\"border\":{\"left\":[\"dashed\",\"#000\"]}},{\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"font\":{\"size\":12,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true}},{\"font\":{\"size\":14,\"bold\":true},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Arial\"}},{\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"}},{\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Source Sans Pro\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Source Sans Pro\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Source Sans Pro\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"}},{\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Comic Sans MS\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Comic Sans MS\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Comic Sans MS\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Courier New\"}},{\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#3f3f3f\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"}},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Courier New\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Courier New\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Arial\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Arial\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Helvetica\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Helvetica\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"align\":\"center\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]},\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":10,\"name\":\"Lato\"},\"valign\":\"middle\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"color\":\"#000100\",\"align\":\"right\"},{\"align\":\"right\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\",\"valign\":\"top\"},{\"align\":\"left\",\"valign\":\"top\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\",\"valign\":\"middle\"},{\"align\":\"left\",\"valign\":\"middle\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"left\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"left\":[\"thick\",\"#000\"]},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":true,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"center\",\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"underline\":false,\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"align\":\"right\"},{\"font\":{\"size\":12,\"name\":\"Lato\",\"bold\":true},\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]},\"color\":\"#000100\"},{\"border\":{\"right\":[\"thin\",\"#000\"]}},{},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"color\":\"#000100\",\"align\":\"right\"},{\"font\":{\"size\":12,\"name\":\"Lato\",\"bold\":true},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"center\",\"underline\":false,\"font\":{\"size\":12,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":12}},{\"align\":\"center\",\"font\":{\"bold\":false}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":12}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":12},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"valign\":\"top\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":14}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\"},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"font\":{\"name\":\"Lato\",\"size\":14},\"color\":\"#000100\"},{\"align\":\"left\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\"},{\"font\":{\"size\":14},\"align\":\"center\",\"border\":{\"bottom\":[\"thin\",\"#000\"]}},{\"border\":{\"bottom\":[\"thin\",\"#000\"]},\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"name\":\"Lato\",\"size\":14},\"color\":\"#000100\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\"},{\"align\":\"left\",\"valign\":\"top\",\"font\":{\"size\":14}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":16,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"align\":\"right\",\"color\":\"#000100\",\"valign\":\"bottom\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\"},{\"border\":{\"right\":[\"thick\",\"#000\"]},\"font\":{\"size\":14}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"name\":\"Lato\",\"size\":14},\"color\":\"#000100\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"bottom\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14}},{\"font\":{\"size\":14},\"align\":\"center\"},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"center\",\"border\":{\"top\":[\"thick\",\"#000\"]}},{\"border\":{\"top\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"bottom\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"align\":\"right\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12}},{\"font\":{\"size\":14},\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"align\":\"center\"},{\"border\":{\"bottom\":[\"thick\",\"#000\"]},\"font\":{\"size\":12},\"align\":\"center\"},{\"align\":\"left\",\"valign\":\"middle\",\"font\":{\"size\":14}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":24}},{\"font\":{\"size\":24}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":22}},{\"font\":{\"size\":22}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18}},{\"font\":{\"size\":18}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":true}},{\"font\":{\"size\":18,\"bold\":true}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":true},\"align\":\"center\"},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\"},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\"},{\"font\":{\"size\":14,\"bold\":true}},{\"border\":{\"top\":[\"thick\",\"#000\"]},\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\"},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\"},{\"valign\":\"bottom\"},{\"valign\":\"bottom\",\"align\":\"right\"},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"left\",\"font\":{\"size\":14,\"bold\":false,\"name\":\"Lato\"},\"color\":\"#000100\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":14},\"align\":\"center\",\"border\":{\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"],\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":14},\"align\":\"center\",\"border\":{\"right\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"thick\",\"#000\"],\"left\":[\"thick\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"thick\",\"#000\"]}},{\"font\":{\"size\":18,\"bold\":false},\"align\":\"center\",\"valign\":\"bottom\",\"border\":{\"top\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":true,\"size\":14},\"border\":{\"left\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"valign\":\"bottom\",\"align\":\"right\",\"font\":{\"size\":14},\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"right\":[\"medium\",\"#000\"]}},{\"border\":{\"left\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"left\":[\"medium\",\"#000\"]}},{\"font\":{\"size\":12,\"name\":\"Lato\"},\"color\":\"#000100\",\"align\":\"right\",\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"font\":{\"size\":12},\"align\":\"center\",\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"border\":{\"bottom\":[\"medium\",\"#000\"],\"right\":[\"medium\",\"#000\"]}},{\"align\":\"center\",\"font\":{\"bold\":false,\"size\":14},\"border\":{\"top\":[\"thin\",\"#000\"],\"bottom\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"font\":{\"size\":12},\"align\":\"right\",\"border\":{\"bottom\":[\"medium\",\"#000\"]}},{\"font\":{\"size\":12},\"align\":\"right\"}],\"validations\":[],\"cols\":{\"0\":{\"width\":18},\"1\":{\"width\":21},\"2\":{\"width\":27},\"3\":{\"width\":6},\"4\":{\"width\":87},\"5\":{\"width\":51},\"6\":{\"width\":51},\"7\":{\"width\":1},\"8\":{\"width\":86},\"9\":{\"width\":163},\"10\":{\"width\":1},\"11\":{\"width\":60},\"12\":{\"width\":45},\"13\":{\"width\":49},\"14\":{\"width\":23},\"15\":{\"width\":20},\"len\":50},\"merges\":[\"D8:E8\",\"C6:D6\",\"C10:I10\",\"G8:H8\",\"C9:J9\",\"C1:L1\",\"K10:L15\",\"C13:I13\",\"C14:H14\",\"F7:I7\",\"G12:I12\",\"G16:M16\",\"B4:N4\",\"C5:N5\",\"E6:N6\",\"J7:N7\",\"C7:E7\",\"K9:N9\",\"B2:O2\",\"B3:O3\",\"J8:N8\"],\"imgList\":[{\"row\":13,\"col\":9,\"width\":\"168\",\"height\":\"158\",\"src\":\"https://static.jeecg.com/designreport/images/QQ截图20210105214919_1610075317075.png\",\"layer_id\":\"XefZfpEcdS3wI6Ae\",\"offsetX\":0,\"offsetY\":0,\"virtualCellRange\":[[13,9],[13,10],[13,11]]}]}', '', 'https://static.jeecg.com/designreport/images/逮捕令_1607070625878.png', 'jeecg', '2020-07-10 13:38:40', 'admin', '2021-04-05 18:47:36', 0, NULL, NULL, 1, 2513, NULL, NULL, NULL, NULL, 0, NULL, NULL); +INSERT INTO `jimu_report` VALUES ('f6ee801e8bdc28ba9d63f95dc65ccd79', '4556633', '采购单', '', NULL, '984302991393210368', '{\"loopBlockList\":[],\"area\":false,\"excel_config_id\":\"f6ee801e8bdc28ba9d63f95dc65ccd79\",\"printConfig\":{\"paper\":\"A4\",\"width\":210,\"height\":297,\"definition\":1,\"isBackend\":false,\"marginX\":10,\"marginY\":10},\"rows\":{\"0\":{\"cells\":{\"1\":{\"text\":\"采购单\",\"style\":21,\"merge\":[0,6]}},\"height\":89},\"1\":{\"cells\":{\"1\":{\"text\":\"产品名称\",\"style\":23},\"2\":{\"text\":\"产品数量\",\"style\":23},\"3\":{\"text\":\"单价\",\"style\":23},\"4\":{\"text\":\"库存量\",\"style\":23},\"5\":{\"text\":\"库存总值\",\"style\":23},\"6\":{\"text\":\"订购量\",\"style\":23},\"7\":{\"text\":\"二次订购量\",\"style\":23}},\"height\":45},\"2\":{\"cells\":{\"1\":{\"style\":24,\"text\":\"#{caigou.cname}\"},\"2\":{\"style\":24,\"text\":\"#{caigou.cnum}\"},\"3\":{\"style\":24,\"text\":\"#{caigou.cprice}\"},\"4\":{\"style\":24,\"text\":\"#{caigou.ctotal}\"},\"5\":{\"style\":24,\"text\":\"#{caigou.tp}\"},\"6\":{\"style\":24,\"text\":\"#{caigou.dtotal}\"},\"7\":{\"style\":24,\"text\":\"#{caigou.ztotal}\"}},\"height\":26},\"5\":{\"cells\":{\"1\":{\"text\":\"\"}},\"isDrag\":true},\"6\":{\"cells\":{\"1\":{\"text\":\"\"}},\"isDrag\":true},\"7\":{\"cells\":{\"1\":{\"text\":\"\"},\"2\":{\"text\":\"\"}},\"isDrag\":true},\"len\":100},\"dbexps\":[],\"toolPrintSizeObj\":{\"printType\":\"A4\",\"widthPx\":718,\"heightPx\":1047},\"dicts\":[],\"freeze\":\"A1\",\"dataRectWidth\":682,\"displayConfig\":{},\"background\":false,\"name\":\"sheet1\",\"autofilter\":{},\"styles\":[{\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#000\"],\"top\":[\"thin\",\"#000\"],\"left\":[\"thin\",\"#000\"],\"right\":[\"thin\",\"#000\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#01b0f1\"],\"top\":[\"thin\",\"#01b0f1\"],\"left\":[\"thin\",\"#01b0f1\"],\"right\":[\"thin\",\"#01b0f1\"]},\"bgcolor\":\"#01b0f1\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#01b0f1\"},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]}},{\"align\":\"center\",\"font\":{\"size\":18}},{\"align\":\"center\",\"font\":{\"size\":18,\"bold\":true}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\"},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#9cc2e6\"},{\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#5b9cd6\"],\"top\":[\"thin\",\"#5b9cd6\"],\"left\":[\"thin\",\"#5b9cd6\"],\"right\":[\"thin\",\"#5b9cd6\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#9cc2e6\",\"font\":{\"name\":\"宋体\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#000100\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"宋体\"}},{\"align\":\"center\",\"font\":{\"size\":16,\"bold\":true,\"name\":\"Microsoft YaHei\"}},{\"font\":{\"name\":\"Microsoft YaHei\"}},{\"align\":\"center\",\"color\":\"#ffffff\",\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"bgcolor\":\"#5b9cd6\",\"font\":{\"name\":\"Microsoft YaHei\"}},{\"border\":{\"bottom\":[\"thin\",\"#bfbfbf\"],\"top\":[\"thin\",\"#bfbfbf\"],\"left\":[\"thin\",\"#bfbfbf\"],\"right\":[\"thin\",\"#bfbfbf\"]},\"align\":\"center\",\"font\":{\"name\":\"Microsoft YaHei\"}}],\"validations\":[],\"cols\":{\"0\":{\"width\":43},\"1\":{\"width\":114},\"2\":{\"width\":109},\"3\":{\"width\":78},\"4\":{\"width\":77},\"5\":{\"width\":84},\"6\":{\"width\":82},\"7\":{\"width\":95},\"len\":50},\"merges\":[\"B1:H1\"]}', '', 'https://static.jeecg.com/designreport/images/caigou_1607310279439.png', 'jeecg', '2020-07-28 16:54:44', 'admin', '2021-04-01 03:09:41', 0, NULL, NULL, 1, 1252, NULL, NULL, NULL, NULL, 0, NULL, NULL); -- ---------------------------- -- Table structure for jimu_report_category @@ -844,7 +984,7 @@ CREATE TABLE `jimu_report_category` ( `tenant_id` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户id', `sort_no` int(11) NULL DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分类' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '分类' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_category @@ -880,7 +1020,7 @@ CREATE TABLE `jimu_report_data_source` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_jmdatasource_report_id`(`report_id`) USING BTREE, INDEX `idx_jmdatasource_code`(`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_data_source @@ -925,7 +1065,7 @@ CREATE TABLE `jimu_report_db` ( INDEX `idx_jmreportdb_db_key`(`db_key`) USING BTREE, INDEX `idx_jimu_report_id`(`jimu_report_id`) USING BTREE, INDEX `idx_db_source_id`(`db_source`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_db @@ -1015,7 +1155,7 @@ CREATE TABLE `jimu_report_db_field` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_jrdf_jimu_report_db_id`(`jimu_report_db_id`) USING BTREE, INDEX `idx_dbfield_order_num`(`order_num`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_db_field @@ -1570,7 +1710,7 @@ CREATE TABLE `jimu_report_db_param` ( `ext_json` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '参数配置', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_jrdp_jimu_report_head_id`(`jimu_report_head_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_db_param @@ -1618,7 +1758,7 @@ CREATE TABLE `jimu_report_export_job` ( `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '积木报表导出计划表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '积木报表导出计划表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_export_job @@ -1641,12 +1781,37 @@ CREATE TABLE `jimu_report_export_log` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `tenant_id` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '多租户标识', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表自动导出记录表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表自动导出记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_export_log -- ---------------------------- +-- ---------------------------- +-- Table structure for jimu_report_ext_data +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_ext_data`; +CREATE TABLE `jimu_report_ext_data` ( + `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键ID', + `biz_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务类型标识,如 report_share、temp_config 等', + `name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称,展示用', + `descr` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述信息', + `tags` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标签,多个用逗号分隔', + `data_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '实际存储内容', + `metadata` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '元数据,用于存储补充信息', + `status` tinyint(4) NULL DEFAULT 1 COMMENT '状态标识:1正常 0禁用', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_biz`(`biz_type`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通用扩展数据表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of jimu_report_ext_data +-- ---------------------------- + -- ---------------------------- -- Table structure for jimu_report_icon_lib -- ---------------------------- @@ -1662,7 +1827,7 @@ CREATE TABLE `jimu_report_icon_lib` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木图库表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木图库表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_icon_lib @@ -1897,7 +2062,7 @@ CREATE TABLE `jimu_report_link` ( `requirement` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '条件', PRIMARY KEY (`id`) USING BTREE, INDEX `uniq_link_reportid`(`report_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '超链接配置表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '超链接配置表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_link @@ -1923,7 +2088,7 @@ CREATE TABLE `jimu_report_map` ( `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uniq_jmreport_map_name`(`name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '地图配置表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '地图配置表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_map @@ -1948,13 +2113,36 @@ CREATE TABLE `jimu_report_share` ( UNIQUE INDEX `uniq_report_id`(`report_id`) USING BTREE, UNIQUE INDEX `uniq_jrs_report_id`(`report_id`) USING BTREE COMMENT '报表id唯一索引', INDEX `idx_jrs_share_token`(`share_token`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表预览权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '积木报表预览权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of jimu_report_share -- ---------------------------- INSERT INTO `jimu_report_share` VALUES ('989322818603012096', '989065112487022592', '/jmreport/shareView/989065112487022592', '', '2024-08-30 10:22:31', '1', '0', '0', '71e3778ba7ebeae4652d2e53c46a7b1b'); +-- ---------------------------- +-- Table structure for jimu_report_sheet +-- ---------------------------- +DROP TABLE IF EXISTS `jimu_report_sheet`; +CREATE TABLE `jimu_report_sheet` ( + `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键(Sheet ID)', + `report_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '报表ID', + `sheet_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Sheet名称', + `sheet_order` int(11) NOT NULL COMMENT '排序(可以为负数,负数表示在默认sheet前面)', + `json_str` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '该sheet的完整jsonStr', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_report_id`(`report_id`) USING BTREE, + INDEX `idx_sheet_order`(`report_id`, `sheet_order`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报表Sheet表' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of jimu_report_sheet +-- ---------------------------- + -- ---------------------------- -- Table structure for joa_demo -- ---------------------------- @@ -1971,7 +2159,7 @@ CREATE TABLE `joa_demo` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人id' -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '流程测试' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '流程测试' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of joa_demo @@ -1996,7 +2184,7 @@ CREATE TABLE `oauth2_registered_client` ( `client_settings` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `token_settings` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oauth2_registered_client @@ -2020,7 +2208,7 @@ CREATE TABLE `onl_auth_data` ( `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_auth_data @@ -2045,7 +2233,7 @@ CREATE TABLE `onl_auth_page` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_onl_auth_page_code`(`code`) USING BTREE, INDEX `idx_onl_auth_page_cgform_id`(`cgform_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_auth_page @@ -2066,7 +2254,7 @@ CREATE TABLE `onl_auth_relation` ( `cgform_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'online表单ID', `auth_mode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '授权方式role角色,depart部门,user人', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_auth_relation @@ -2093,18 +2281,19 @@ CREATE TABLE `onl_cgform_button` ( INDEX `idx_ocb_BUTTON_CODE`(`BUTTON_CODE`) USING BTREE, INDEX `idx_ocb_BUTTON_STATUS`(`BUTTON_STATUS`) USING BTREE, INDEX `idx_ocb_ORDER_NUM`(`ORDER_NUM`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Online表单自定义按钮' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Online表单自定义按钮' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_button -- ---------------------------- INSERT INTO `onl_cgform_button` VALUES ('007de67711d08337f7c246b6cfe306ae', 'jihuo', NULL, '激活', '1', 'link', NULL, '9ab817fd4c2e4e7ba6652c4fa46af389', 'js', 2, '2'); -INSERT INTO `onl_cgform_button` VALUES ('108a564643763de3f4c81bc2deb463df', 'bt1', NULL, '激活', '1', 'button', NULL, '05a3a30dada7411c9109306aa4117068', 'js', NULL, '2'); +INSERT INTO `onl_cgform_button` VALUES ('108a564643763de3f4c81bc2deb463df', 'bt1', NULL, '激活', '1', 'button', NULL, '05a3a30dada7411c9109306aa4117068', 'js', 1, '2'); INSERT INTO `onl_cgform_button` VALUES ('5173e0b138c808f03d17d08ec4e66f3a', 'hangjihuo', NULL, '行激活', '0', 'link', NULL, '9ab817fd4c2e4e7ba6652c4fa46af389', 'js', NULL, '2'); -INSERT INTO `onl_cgform_button` VALUES ('7c140322fb6b1da7a5daed8b6edc0fb7', 'tjbpm', NULL, '提交流程', '1', 'link', NULL, '05a3a30dada7411c9109306aa4117068', 'js', NULL, '2'); +INSERT INTO `onl_cgform_button` VALUES ('7c140322fb6b1da7a5daed8b6edc0fb7', 'tjbpm', NULL, '提交流程', '1', 'link', NULL, '05a3a30dada7411c9109306aa4117068', 'js', 3, '2'); INSERT INTO `onl_cgform_button` VALUES ('a45bc1c6fba96be6b0c91ffcdd6b54aa', 'genereate_person_config', 'icon-edit', '生成配置', '1', 'link', NULL, 'e2faf977fdaf4b25a524f58c2441a51c', 'js', NULL, '2'); +INSERT INTO `onl_cgform_button` VALUES ('b2807a61e89d9085f308b82247c67c9d', 'aa', NULL, 'aa', '1', 'link', NULL, '05a3a30dada7411c9109306aa4117068', 'js', NULL, '2'); INSERT INTO `onl_cgform_button` VALUES ('cc1d12de57a1a41d3986ed6d13e3ac11', '链接按钮测试', 'icon-edit', '自定义link', '1', 'link', NULL, 'd35109c3632c4952a19ecc094943dd71', 'js', NULL, '2'); -INSERT INTO `onl_cgform_button` VALUES ('e2a339b9fdb4091bee98408c233ab36d', 'zuofei', NULL, '作废', '1', 'form', NULL, '05a3a30dada7411c9109306aa4117068', 'js', NULL, '2'); +INSERT INTO `onl_cgform_button` VALUES ('e2a339b9fdb4091bee98408c233ab36d', 'zuofei', NULL, '作废', '1', 'form', NULL, '05a3a30dada7411c9109306aa4117068', 'js', 2, '2'); INSERT INTO `onl_cgform_button` VALUES ('e95e84b749761b574a9cc0967c06c2a9', 'test1', NULL, '弹出表单', '1', 'button', NULL, '9ab817fd4c2e4e7ba6652c4fa46af389', 'js', 1, '2'); INSERT INTO `onl_cgform_button` VALUES ('ebcc48ef0bde4433a6faf940a5e170c1', 'button按钮测试', 'icon-edit', '自定义button', '1', 'button', NULL, 'd35109c3632c4952a19ecc094943dd71', 'js', NULL, '2'); @@ -2124,7 +2313,7 @@ CREATE TABLE `onl_cgform_enhance_java` ( INDEX `idx_ejava_cgform_head_id`(`CGFORM_HEAD_ID`) USING BTREE, INDEX `idx_ocej_BUTTON_CODE`(`BUTTON_CODE`) USING BTREE, INDEX `idx_ocej_ACTIVE_STATUS`(`ACTIVE_STATUS`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_enhance_java @@ -2143,7 +2332,7 @@ CREATE TABLE `onl_cgform_enhance_js` ( PRIMARY KEY (`ID`) USING BTREE, INDEX `idx_ejs_cgform_head_id`(`CGFORM_HEAD_ID`) USING BTREE, INDEX `idx_ejs_cg_js_type`(`CG_JS_TYPE`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_enhance_js @@ -2183,7 +2372,7 @@ CREATE TABLE `onl_cgform_enhance_sql` ( `CGFORM_HEAD_ID` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单ID', PRIMARY KEY (`ID`) USING BTREE, INDEX `idx_oces_CGFORM_HEAD_ID`(`CGFORM_HEAD_ID`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_enhance_sql @@ -2244,13 +2433,13 @@ CREATE TABLE `onl_cgform_field` ( `sort_flag` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否支持排序1是0否', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_ocf_cgform_head_id`(`cgform_head_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_field -- ---------------------------- INSERT INTO `onl_cgform_field` VALUES ('0021c969dc23a9150d6f70a13b52e73e', '402860816aa5921f016aa5921f480000', 'begin_date', '开始时间', 'begin_date', 0, 1, 1, 'Datetime', 0, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 4, 'admin', '2019-05-11 15:31:54', '2019-05-11 14:26:19', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('011ddab07f440f2fb7ab548a4d6fb54f', '05a3a30dada7411c9109306aa4117068', 'sheng', '地区', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'pca', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 10, 'admin', '2025-11-27 11:36:01', '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('011ddab07f440f2fb7ab548a4d6fb54f', '05a3a30dada7411c9109306aa4117068', 'sheng', '地区', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'pca', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 10, 'admin', '2026-01-21 11:59:02', '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('020c1622c3df0aef30185f57874f6959', '79091e8277c744158530321513119c68', 'bpm_status', '流程状态', NULL, 0, 1, 1, 'string', 32, 0, '1', 'bpm_status', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 1, 0, 'single', '', '', 8, 'admin', '2019-05-11 15:29:47', '2019-05-11 15:29:26', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('02b20e692456403e2fed1a89a06833b4', '402860816bff91c0016bff91d2810005', 'phone', '联系方式', 'phone', 0, 1, 1, 'string', 20, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 8, 'admin', '2019-07-19 18:05:55', '2019-07-17 18:54:35', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('03668009f0ad92b20abb1a377197ee47', 'deea5a8ec619460c9245ba85dbc59e80', 'order_fk_id', '订单外键ID', NULL, 0, 0, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', 'test_order_main', 'id', 10, 'admin', '2020-05-03 01:01:18', '2019-04-20 11:42:53', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); @@ -2372,7 +2561,7 @@ INSERT INTO `onl_cgform_field` VALUES ('2f111722eb3a994450e67e3211fd69a8', '4028 INSERT INTO `onl_cgform_field` VALUES ('2f13bd36aadfe10fb79c57d727279981', 'feea98637c2144caae7c5d56a815a245', 'aaa', 'aa', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 7, NULL, NULL, '2021-10-27 10:24:24', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('30143cc3de69c413828f9fba20662026', '402860816bff91c0016bffa220a9000b', 'healthy', '健康状况', 'healthy', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 12, 'admin', '2019-07-22 16:15:32', '2019-07-17 19:12:24', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('306e3fb9c87ca6442cefbd61f498f1f7', '402881e6760269a201760269a2af0000', 'dep_sel', '选择部门', NULL, 0, 1, 1, 'string', 200, 0, '', '', '', '', 'sel_depart', '', 120, NULL, '0', '', '#{sysOrgCode}', 0, 1, 1, 0, 'single', NULL, NULL, 19, NULL, NULL, '2020-11-26 10:37:26', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('3087aa8f38c787e066a886d950a9edfa', '05a3a30dada7411c9109306aa4117068', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 1, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('3087aa8f38c787e066a886d950a9edfa', '05a3a30dada7411c9109306aa4117068', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 1, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('310c86bfd1e67500774c208d601acdc3', '56870166aba54ebfacb20ba6c770bd73', 'xiala', '下拉多选', NULL, 0, 1, 1, 'string', 32, 0, '', 'sex', '', '', 'list_multi', '', 120, '', '0', '', '', 1, 1, 1, 0, 'single', '', '', 8, 'admin', '2025-11-27 18:19:46', '2020-11-30 21:08:26', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('31193dc8ceacf979e4042e784ea8278a', '402880e570a5d7000170a5d700f50000', 'order_fk_id', '订单外键ID', NULL, 0, 0, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 10, NULL, NULL, '2020-03-04 21:58:16', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('31fd90306c3942f09cb79deabbf2f541', '402860816bff91c0016bff91d2810005', 'employee_id', '员工ID', 'employee_id', 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', 'oa_employee_info', 'id', 2, 'admin', '2019-07-19 18:05:55', '2019-07-17 18:54:35', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2409,7 +2598,7 @@ INSERT INTO `onl_cgform_field` VALUES ('3cfd4d60c7d8409ae716a579bcb0910d', '4028 INSERT INTO `onl_cgform_field` VALUES ('3d72550564009a430d8d9099f47c4a05', '553a4172fde446419cb602dc70f9ee67', 'sys_org_code', '所属部门', NULL, 0, 1, 1, 'string', 50, 0, NULL, NULL, NULL, NULL, 'text', NULL, 120, '', '0', NULL, NULL, 0, 0, 0, 0, 'single', NULL, NULL, 5, 'admin', '2022-10-14 09:31:05', '2022-10-13 20:59:58', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('3e32f6c30c9028872388f70743c5d6a5', '402860816bff91c0016bff91c0cb0000', 'reason', '申请理由', 'reason', 0, 1, 1, 'string', 200, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 9, 'admin', '2019-07-19 18:09:01', '2019-07-17 18:54:32', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('3e70d1c516c3533c6698300665c669e1', '402860816bff91c0016bff91c0cb0000', 'id', 'id', 'id', 1, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'group', '', '', 1, 'admin', '2019-07-19 18:09:01', '2019-07-17 18:54:31', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('3ef0a9ed04605267f7fa304a8c353576', '05a3a30dada7411c9109306aa4117068', 'name', '用户名', NULL, 0, 1, 1, 'string', 32, 0, '', 'username', 'tj_user_report', 'name', 'popup', '', 120, '', '0', '', '', 1, 1, 1, 0, 'single', '', '', 7, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '1'); +INSERT INTO `onl_cgform_field` VALUES ('3ef0a9ed04605267f7fa304a8c353576', '05a3a30dada7411c9109306aa4117068', 'name', '用户名', NULL, 0, 1, 1, 'string', 32, 0, '', 'username', 'tj_user_report', 'name', 'popup', '', 120, '', '0', '', '', 1, 1, 1, 0, 'single', '', '', 7, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '1'); INSERT INTO `onl_cgform_field` VALUES ('3f2ace8f968a0e5b91d1340ee2957cda', '402860816bff91c0016bff91d8830007', 'real_name', '姓名', 'real_name', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 3, 'admin', '2019-07-19 18:04:41', '2019-07-17 18:54:37', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('3f7f7720ee65648cb2850fccedf7be9d', '53a3e82b54b946c2b904f605875a275c', 'contents', '商品简介', NULL, 0, 1, 1, 'Text', 0, 0, '', '', '', '', 'umeditor', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 9, 'admin', '2022-10-25 11:10:49', '2020-05-07 22:49:47', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('3f9deca6c193f0b2609113713956ad19', '86bf17839a904636b7ed96201b2fa6ea', 'order_main_id', '订单ID', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', 'ces_order_main', 'id', 11, 'admin', '2020-05-14 21:18:49', '2020-05-08 23:48:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); @@ -2467,8 +2656,8 @@ INSERT INTO `onl_cgform_field` VALUES ('5237e186de11017ee52d3c344f450b3b', 'f9fb INSERT INTO `onl_cgform_field` VALUES ('524d75f1e4fed1167c80477658290ddf', '402881fd812267500181226787d90001', 'age', '年龄', NULL, 0, 1, 1, 'int', 10, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 1, 1, 1, 0, 'group', NULL, NULL, 7, 'admin', '2022-06-02 11:13:48', '2022-06-02 11:13:39', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '1'); INSERT INTO `onl_cgform_field` VALUES ('52975c3f03325de8233d3459b2230b09', 'f9fb8bee1a64472889d077c757b9acc7', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 1, 'single', '', '', 1, 'admin', '2021-08-17 13:58:15', '2021-08-17 13:57:48', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('52ee861bc1b62cd8e4f10632b3d9d1b2', '79091e8277c744158530321513119c68', 'name', '顺序会签标题', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 6, 'admin', '2019-05-11 15:29:47', '2019-05-11 15:27:17', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('5531fb261c77e9d12f7cca1af528f70a', '05a3a30dada7411c9109306aa4117068', 'update_time', '更新日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('553a250fb89de39e4ba9f8450fd72ade', '05a3a30dada7411c9109306aa4117068', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 3, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('5531fb261c77e9d12f7cca1af528f70a', '05a3a30dada7411c9109306aa4117068', 'update_time', '更新日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('553a250fb89de39e4ba9f8450fd72ade', '05a3a30dada7411c9109306aa4117068', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 3, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('555f9d43db20204128d76e22226ca36e', '402881e6760269a201760269a2af0000', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 2, NULL, NULL, '2020-11-26 10:37:26', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('5562a7242e4978f02e6d3a08d5828bbf', '53a3e82b54b946c2b904f605875a275c', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 1, 'admin', '2022-10-25 11:10:48', '2020-05-07 22:49:47', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('5562ad3165b1399f97a48f5f06d7fa06', '3b5e18da618247539481816995b6bf9f', 'ccc', 'cc', NULL, 0, 1, 1, 'string', 1000, 0, '', '', '', '', 'umeditor', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 10, 'admin', '2020-07-11 11:27:29', '2020-07-11 11:27:17', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); @@ -2500,7 +2689,7 @@ INSERT INTO `onl_cgform_field` VALUES ('5dfbea516ee2390d712eace5405c5219', '4028 INSERT INTO `onl_cgform_field` VALUES ('5e4484b7348dc3e59a0c58bdc3828cc0', '27fc5f91274344afa7673a732b279939', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, 'admin', '2019-07-01 16:28:20', '2019-07-01 16:26:42', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('5e4ac29ac2007ceabf93368330290a42', '402860816bff91c0016bff91d8830007', 'order_no', '序号', 'order_no', 0, 1, 1, 'int', 10, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 9, 'admin', '2019-07-19 18:04:41', '2019-07-17 18:54:37', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('5e729f9823b5cc96c50b0b7c0f07eb05', '402880e5721355dd01721355dd390000', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 2, NULL, NULL, '2020-05-14 21:18:14', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('5f13f7087caa0bbf47e5eba01d0d0443', '05a3a30dada7411c9109306aa4117068', 'contents', '请假原因', NULL, 0, 1, 1, 'string', 500, 0, '', '', '', '', 'umeditor', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 11, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('5f13f7087caa0bbf47e5eba01d0d0443', '05a3a30dada7411c9109306aa4117068', 'contents', '请假原因', NULL, 0, 1, 1, 'string', 500, 0, '', '', '', '', 'umeditor', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 11, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('60b3b452232904f5a1130348bc1eab53', '402881e6760269a20176026d25650002', 'sys_org_code', '所属部门编码', 'sys_org_code', 0, 1, 1, 'string', 64, 0, NULL, NULL, NULL, NULL, 'text', NULL, 120, NULL, '0', NULL, NULL, 0, 1, 1, 0, 'single', NULL, NULL, 16, NULL, NULL, '2020-11-26 10:41:17', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('60eed6c429cf7796c3f0a17faaed00da', 'b493c5fd4fa64a3a84e74ee171763e37', 'create_time', '创建日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 3, NULL, NULL, '2021-06-07 18:13:37', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('6130dbb6d36bab8ee9154e7ab58af34c', '402880e570a5d7000170a5d700f50000', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 1, NULL, NULL, '2020-03-04 21:58:16', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2516,7 +2705,7 @@ INSERT INTO `onl_cgform_field` VALUES ('654362725195829005036b3db47ec826', '4028 INSERT INTO `onl_cgform_field` VALUES ('656ec51bb57da5a47076f8a26053bbbb', '553a4172fde446419cb602dc70f9ee67', 'zdmrz', '自定义查询', NULL, 0, 1, 1, 'string', 50, 0, NULL, '', '', '', 'text', '', 120, '', '0', '', '1', 1, 1, 1, 0, 'single', '', '', 37, 'admin', '2022-10-14 09:31:05', '2022-10-13 20:59:58', 'admin', '', '1', '', 'sex', '', 'list', '1', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('6603058186832c4ff9e8c6e43baa5c3d', '86bf17839a904636b7ed96201b2fa6ea', 'sys_org_code', '所属部门', NULL, 0, 1, 1, 'string', 64, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 6, 'admin', '2020-05-14 21:18:49', '2020-05-08 23:48:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('66a7ef842bc34e105a90186e48167ef2', 'dbf4675875e14676a3f9a8b2b8941140', 'create_time', '创建日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 3, NULL, NULL, '2019-05-27 18:02:07', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('671e62c685bc86bde3cef0e023418fb4', '05a3a30dada7411c9109306aa4117068', 'sys_org_code', '所属部门', NULL, 0, 1, 1, 'string', 64, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 5, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('671e62c685bc86bde3cef0e023418fb4', '05a3a30dada7411c9109306aa4117068', 'sys_org_code', '所属部门', NULL, 0, 1, 1, 'string', 64, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 5, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('686dea2621feadcd9b4c611df046adb4', '86bf17839a904636b7ed96201b2fa6ea', 'price', '价格', NULL, 0, 1, 1, 'double', 10, 3, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 8, 'admin', '2020-05-14 21:18:49', '2020-05-08 23:48:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('68769fa7e4696e3a28f4cecf63076b7b', '402860816bff91c0016bff91ca7e0002', 'order_no', '序号', 'order_no', 0, 1, 1, 'int', 10, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 8, 'admin', '2019-07-19 18:07:13', '2019-07-17 18:54:33', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('68861523516849eff46a0df045f1031b', '402881e6760269a201760269a2af0000', 'birthday', '时间', NULL, 0, 1, 1, 'Datetime', 0, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', NULL, NULL, 13, NULL, NULL, '2020-11-26 10:37:26', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); @@ -2582,9 +2771,9 @@ INSERT INTO `onl_cgform_field` VALUES ('7e331396f6e544ae801690cf475e7615', '4028 INSERT INTO `onl_cgform_field` VALUES ('7e5013b8a3e970fdcef2b577829bfa83', '402881fd812267500181226750e90000', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 2, NULL, NULL, '2022-06-02 11:13:25', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('7f10901c6ade3aa9d9ff46ed7039c70f', '1acb6f81a1d9439da6cc4e868617b565', 'create_time', '创建日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 3, 'admin', '2019-06-10 14:47:14', '2019-04-23 22:58:19', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('7f610ecd480210d2d12ce6eb47f261f0', '402881fd812267500181226787d90001', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 1, 'admin', '2022-06-02 11:13:48', '2022-06-02 11:13:39', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('7fa8eafb28c52183514179454d62e5b3', '05a3a30dada7411c9109306aa4117068', 'begin_time', '开始时间', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 14, 'admin', '2025-11-27 11:36:01', '2025-06-25 15:10:29', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('809a9fafe0b79c9997de32cb6e831c6f', '05a3a30dada7411c9109306aa4117068', 'birthday', '生日', NULL, 0, 1, 1, 'Datetime', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '', '', 0, 1, 1, 0, 'single', '', '', 9, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('8119d3de514092232935b038531828c5', '05a3a30dada7411c9109306aa4117068', 'sex', '性别', NULL, 0, 1, 1, 'string', 32, 0, '', 'sex', '', '', 'list', '', 120, '', '0', '', '', 1, 1, 1, 0, 'single', '', '', 8, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('7fa8eafb28c52183514179454d62e5b3', '05a3a30dada7411c9109306aa4117068', 'begin_time', '开始时间', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '', '', 0, 1, 0, 0, 'single', '', '', 14, 'admin', '2026-01-21 11:59:02', '2025-06-25 15:10:29', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('809a9fafe0b79c9997de32cb6e831c6f', '05a3a30dada7411c9109306aa4117068', 'birthday', '生日', NULL, 0, 1, 1, 'Datetime', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '', '', 0, 1, 1, 0, 'single', '', '', 9, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('8119d3de514092232935b038531828c5', '05a3a30dada7411c9109306aa4117068', 'sex', '性别', NULL, 0, 1, 1, 'string', 32, 0, '', 'sex', '', '', 'list', '', 120, '', '0', '', '', 1, 1, 1, 0, 'single', '', '', 8, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('813a5ebf7335309c7edb3803f7e4b204', '402880e570a5d7000170a5d700f50000', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 2, NULL, NULL, '2020-03-04 21:58:16', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('817cc5e277e88164dffd4caee1169276', '56efb74326e74064b60933f6f8af30ea', 'remark', '备注', NULL, 0, 1, 1, 'string', 500, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 10, 'admin', '2020-07-10 16:53:27', '2020-05-08 23:45:32', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('81ed9556c9fda1bbb46d94a53a6c90c7', '402860816bff91c0016bff91c0cb0000', 'depart_name', '部门名称', 'depart', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 7, 'admin', '2019-07-19 18:09:01', '2019-07-17 18:54:32', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2696,7 +2885,7 @@ INSERT INTO `onl_cgform_field` VALUES ('a7822f6e4cffb37fc0729cbd4cfd8655', '32f7 INSERT INTO `onl_cgform_field` VALUES ('a7b6ae09441ce36a14c7ce95f17a218e', '86bf17839a904636b7ed96201b2fa6ea', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 2, 'admin', '2020-05-14 21:18:49', '2020-05-08 23:48:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('a82ca42a76e9d2b8dae6d57dbb5edb54', 'deea5a8ec619460c9245ba85dbc59e80', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, 'admin', '2020-05-03 01:01:18', '2019-04-20 11:41:19', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('a83acbadb64ad5ba87a384dd6eea3117', 'f9fb8bee1a64472889d077c757b9acc7', 'ddd', 'dd', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 8, 'admin', '2021-08-17 13:58:15', '2021-08-17 13:57:48', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('a90c0b002021ac3a4a1a96514d58224b', '05a3a30dada7411c9109306aa4117068', 'long_ids', '长类型', NULL, 0, 1, 1, 'long', 19, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 1, 1, 0, 'single', '', '', 15, NULL, NULL, '2025-11-27 11:36:01', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('a90c0b002021ac3a4a1a96514d58224b', '05a3a30dada7411c9109306aa4117068', 'long_ids', '长类型', NULL, 0, 1, 1, 'long', 19, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 1, 1, 0, 'single', '', '', 15, 'admin', '2026-01-21 11:59:02', '2025-11-27 11:36:01', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('a940adc4585fa3b5bd2114ea9abe8491', '402860816bff91c0016bff91ca7e0002', 'cert_level', '证书级别', 'cert_level', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 5, 'admin', '2019-07-19 18:07:13', '2019-07-17 18:54:33', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('a94f1d7da64f3aa35c32155ea00ccb2f', '402860816bff91c0016bffa220a9000b', 'id', 'id', 'id', 1, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'group', '', '', 1, 'admin', '2019-07-22 16:15:32', '2019-07-17 19:12:24', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('a9780eace237a15f26931dd6a9ec02e9', '758334cb1e7445e2822b60e807aec4a3', 'create_time', '创建日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 3, NULL, NULL, '2019-10-18 18:02:09', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2788,7 +2977,7 @@ INSERT INTO `onl_cgform_field` VALUES ('c59f39e7b3bb877398f16796b2cd7962', '997e INSERT INTO `onl_cgform_field` VALUES ('c5a61724b3b1fdfd0eb39c361f22bafd', '8d66ea41c7cc4ef9ab3aab9055657fc9', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, NULL, NULL, '2020-05-07 22:46:32', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('c5dd2fc34ae825ebfced2ec74948654c', '402860816aa5921f016aa5921f480000', 'end_date', '请假结束时间', 'end_date', 0, 1, 1, 'Datetime', 0, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 5, 'admin', '2019-05-11 15:31:54', '2019-05-11 14:26:19', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('c5f6ea01a6523a60df153cc61dc92f4d', 'fbc35f067da94a70adb622ddba259352', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 2, NULL, NULL, '2019-07-03 19:44:23', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('c6024742fbc62f2fc39992e6b59ac13d', '05a3a30dada7411c9109306aa4117068', 'age', '年龄', NULL, 0, 1, 1, 'int', 10, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 1, 1, 1, 0, 'group', '', '', 6, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '1'); +INSERT INTO `onl_cgform_field` VALUES ('c6024742fbc62f2fc39992e6b59ac13d', '05a3a30dada7411c9109306aa4117068', 'age', '年龄', NULL, 0, 1, 1, 'int', 10, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 1, 1, 1, 0, 'group', '', '', 6, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '1'); INSERT INTO `onl_cgform_field` VALUES ('c6730e00df5efd77fedf181df29102de', '402860816bff91c0016bff91c7010001', 'update_by', '更新人', 'update_by', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 9, 'admin', '2019-07-19 18:07:47', '2019-07-17 18:54:32', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('c75a7cb0a21958aa7ca5442f66019669', 'e9faf717024b4aae95cff224ae9b6d97', 'depart', '所属部门', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 9, 'admin', '2019-07-03 18:23:49', '2019-07-03 18:22:35', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('c772ed9cbe2d1dc69e9ffa73d3487021', '4b556f0168f64976a3d20bfb932bc798', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 1, NULL, NULL, '2019-04-12 23:38:28', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2798,7 +2987,7 @@ INSERT INTO `onl_cgform_field` VALUES ('c8027cf4f2483042445c89ba86c4e51f', '4028 INSERT INTO `onl_cgform_field` VALUES ('c91b697b1bcd2be943fc746e2660bc9e', '402860816bff91c0016bff91d2810005', 'real_name', '姓名', 'real_name', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 3, 'admin', '2019-07-19 18:05:55', '2019-07-17 18:54:35', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('c962b89c893e2b8cf1a12c678ba12962', '553a4172fde446419cb602dc70f9ee67', 'zdbdx', '字典表单选', NULL, 0, 1, 1, 'string', 255, 0, NULL, 'id', 'sys_depart', 'depart_name', 'radio', '', 200, '', '0', '', '', 0, 1, 1, 0, 'single', '', '', 39, 'admin', '2022-10-14 09:31:05', '2022-10-13 20:59:58', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('c988bd2b6125c01ceb3579a207dd8784', '3d447fa919b64f6883a834036c14aa67', 'city', '市', NULL, 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 1, 1, 0, 'single', '', '', 2, 'admin', '2025-05-15 18:26:26', '2020-02-20 16:19:00', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('c9969d8427655f34affd6021ecd546ca', '05a3a30dada7411c9109306aa4117068', 'month', '月', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '{\"labelLength\":6,\"picker\":\"month\"}', '', 0, 1, 0, 0, 'single', '', '', 13, 'admin', '2025-11-27 11:36:01', '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('c9969d8427655f34affd6021ecd546ca', '05a3a30dada7411c9109306aa4117068', 'month', '月', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '{\"labelLength\":6,\"picker\":\"month\"}', '', 0, 1, 0, 0, 'single', '', '', 13, 'admin', '2026-01-21 11:59:02', '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('c9b698d3f75aa780ee1eb67ef090b15b', '73162c3b8161413e8ecdca7eb288d0c9', 'wl_code', '物料编码', NULL, 0, 1, 1, 'string', 200, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 8, 'admin', '2019-07-01 14:23:32', '2019-06-10 15:18:34', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('ca68d935c875ba92c998a20fca314bed', '402881fd812267500181226787d90001', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 1, 'single', NULL, NULL, 0, 'admin', '2022-06-02 11:13:48', '2022-06-02 11:13:39', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('caf5a071f2299c0f9ff2f3038d6d0fc6', '402860816bff91c0016bff91ca7e0002', 'update_by', '更新人', 'update_by', 0, 1, 1, 'string', 100, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 11, 'admin', '2019-07-19 18:07:13', '2019-07-17 18:54:33', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -2884,7 +3073,7 @@ INSERT INTO `onl_cgform_field` VALUES ('e88d328af34dd8a17f51437c52b68a2d', '4028 INSERT INTO `onl_cgform_field` VALUES ('e99cc08f4d88dd8f788399db8d448ee8', '62e29cdb81ac44d1a2d8ff89851b853d', 'create_by', '创建人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 2, NULL, NULL, '2019-05-11 14:01:14', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('e9a45935d69f5fd91f0c6880e5e6cfa4', '402881e6760269a20176026d25650002', 'age', '年龄', 'age', 0, 1, 1, 'int', 10, 0, NULL, NULL, NULL, NULL, 'text', NULL, 120, NULL, '0', NULL, NULL, 0, 1, 1, 0, 'single', NULL, NULL, 8, NULL, NULL, '2020-11-26 10:41:17', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('e9b782461fc66dbc77df0400600868f7', '553a4172fde446419cb602dc70f9ee67', 'riqi', '日期', NULL, 0, 1, 1, 'Date', 50, 0, NULL, '', '', '', 'date', '', 120, '', '0', '', '', 1, 1, 1, 0, 'group', '', '', 13, 'admin', '2022-10-14 09:31:05', '2022-10-13 20:59:58', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); -INSERT INTO `onl_cgform_field` VALUES ('e9fb150adabaaacdd804b1953e6bad24', '05a3a30dada7411c9109306aa4117068', 'create_time', '创建日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 2, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('e9fb150adabaaacdd804b1953e6bad24', '05a3a30dada7411c9109306aa4117068', 'create_time', '创建日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, '', '0', '', '', 0, 0, 0, 0, 'single', '', '', 2, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('ea309f9cd81ede7b9b36a1377a3a40d8', '997ee931515a4620bc30a9c1246429a9', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, 'admin', '2020-05-03 00:57:44', '2020-05-03 00:56:56', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('ea644c4c208739640933ba6e568045c1', 'e2faf977fdaf4b25a524f58c2441a51c', 'ruz_date', '入职时间', NULL, 0, 1, 1, 'Datetime', 32, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 9, 'admin', '2019-06-10 17:27:00', '2019-04-24 17:12:11', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('ea749346b5eb9e70df2058ade2b0bbfa', '402881e6760269a201760269a2af0000', 'fuwenb', '富文本', NULL, 0, 1, 1, 'Text', 0, 0, '', '', '', '', 'umeditor', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', NULL, NULL, 17, NULL, NULL, '2020-11-26 10:37:26', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); @@ -2909,7 +3098,7 @@ INSERT INTO `onl_cgform_field` VALUES ('f0a453930aa16ca32f2e3be860bfe542', '4028 INSERT INTO `onl_cgform_field` VALUES ('f12753b4a3815697a72017a7436fe733', 'e2faf977fdaf4b25a524f58c2441a51c', 'update_time', '更新日期', NULL, 0, 1, 1, 'Datetime', 20, 0, '', '', '', '', 'datetime', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 5, 'admin', '2019-06-10 17:27:00', '2019-04-24 17:12:11', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('f1ab7d3b55ade57eeac6c55b32ce813a', '1acb6f81a1d9439da6cc4e868617b565', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 4, 'admin', '2019-06-10 14:47:14', '2019-04-23 22:58:19', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('f1c7fde21f26c7ed64a0ef1095900c52', '4028318169e81b970169e81b97650000', 'request_type', '请求类型', 'request_type', 0, 1, 1, 'string', 10, 0, NULL, NULL, NULL, NULL, 'text', NULL, 120, NULL, '0', NULL, NULL, 0, 1, 1, 0, 'group', NULL, NULL, 11, NULL, NULL, '2019-04-04 19:28:36', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('f32068148faf57abaf4511cd94adb3e4', '05a3a30dada7411c9109306aa4117068', 'year', '年', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '{\"labelLength\":6,\"picker\":\"year\"}', '', 0, 1, 0, 0, 'single', '', '', 12, 'admin', '2025-11-27 11:36:01', '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('f32068148faf57abaf4511cd94adb3e4', '05a3a30dada7411c9109306aa4117068', 'year', '年', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '{\"labelLength\":6,\"picker\":\"year\"}', '', 0, 1, 0, 0, 'single', '', '', 12, 'admin', '2026-01-21 11:59:02', '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('f3284a1ce6da9b887dce89091eaa0f6b', '402880e570a5d7000170a5d700f50000', 'pro_type', '产品类型', NULL, 0, 1, 1, 'string', 32, 0, '', 'sex', '', '', 'radio', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', NULL, NULL, 9, NULL, NULL, '2020-03-04 21:58:16', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('f38319e2add8da6a7223d77359144a22', '402880e5721355dd01721355dd390000', 'update_by', '更新人', NULL, 0, 1, 1, 'string', 50, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', NULL, NULL, 4, NULL, NULL, '2020-05-14 21:18:14', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('f3a82b0b74e8feb37b423571c443357c', '553a4172fde446419cb602dc70f9ee67', 'kaiguan', '开关', NULL, 0, 1, 1, 'string', 50, 0, NULL, '', '', '', 'switch', '', 120, '', '0', '[1,2]', '', 0, 1, 1, 0, 'single', '', '', 12, 'admin', '2022-10-14 09:31:05', '2022-10-13 20:59:58', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); @@ -2931,7 +3120,7 @@ INSERT INTO `onl_cgform_field` VALUES ('f7f84f3337548e36430f81640b028b41', '5517 INSERT INTO `onl_cgform_field` VALUES ('f81c2df076ceea5312648efc45311cf0', '402881fd812267500181226787d90001', 'month', '月', NULL, 0, 1, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, '', '0', '{\"labelLength\":6,\"picker\":\"month\"}', '', 0, 1, 1, 0, 'single', '', '', 13, NULL, NULL, '2024-06-12 11:21:08', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('f81d7103c0c857e5c744cda2bc4c000a', '402860816bff91c0016bff91ca7e0002', 'cert_organizations', '发证机关', 'cert_organizations', 0, 1, 1, 'string', 255, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 6, 'admin', '2019-07-19 18:07:13', '2019-07-17 18:54:33', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('f82db8edef5babf741914b0fa221329b', '4028839a6de2ebd3016de2ebd3870000', 'bpm_status', '流程状态', 'bpm_status', 0, 1, 1, 'string', 2, 0, NULL, NULL, NULL, NULL, 'text', NULL, 120, NULL, '0', NULL, NULL, 0, 1, 1, 0, 'group', NULL, NULL, 16, NULL, NULL, '2019-10-19 15:29:30', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO `onl_cgform_field` VALUES ('f857d4fd2d63c1ad94ed4698f5b173f5', '05a3a30dada7411c9109306aa4117068', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 1, 'single', '', '', 0, 'admin', '2025-11-27 11:36:01', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); +INSERT INTO `onl_cgform_field` VALUES ('f857d4fd2d63c1ad94ed4698f5b173f5', '05a3a30dada7411c9109306aa4117068', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, '', '0', '', '', 0, 0, 0, 1, 'single', '', '', 0, 'admin', '2026-01-21 11:59:02', '2020-05-06 11:34:31', 'admin', '', '', '', '', '', NULL, '0', NULL, NULL, '0'); INSERT INTO `onl_cgform_field` VALUES ('f8a0fd20a1173270afdfed1129d5c669', '402860816bff91c0016bffa220a9000b', 'depart_id', '所在部门id', NULL, 0, 1, 1, 'string', 32, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'single', '', '', 44, 'admin', '2019-07-22 16:15:32', '2019-07-19 15:33:44', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('f8cc6be747fec10802eb625ac529c16f', '402860816bff91c0016bff91cfea0004', 'create_time', '创建时间', 'create_time', 0, 1, 1, 'Datetime', 0, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 1, 1, 0, 'group', '', '', 10, 'admin', '2019-07-19 18:05:13', '2019-07-17 18:54:35', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `onl_cgform_field` VALUES ('f90bcb38fb89988bd40d1618aa75cea0', '758334cb1e7445e2822b60e807aec4a3', 'id', '主键', NULL, 1, 0, 1, 'string', 36, 0, '', '', '', '', 'text', '', 120, NULL, '0', '', '', 0, 0, 0, 0, 'single', '', '', 1, NULL, NULL, '2019-10-18 18:02:09', 'admin', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); @@ -3005,12 +3194,12 @@ CREATE TABLE `onl_cgform_head` ( INDEX `idx_och_table_name`(`form_template`) USING BTREE, INDEX `idx_och_form_template_mobile`(`form_template_mobile`) USING BTREE, INDEX `idx_och_table_version`(`table_version`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_head -- ---------------------------- -INSERT INTO `onl_cgform_head` VALUES ('05a3a30dada7411c9109306aa4117068', 'test_note', 1, 28, '请假单@JS增强示例', 'Y', 'Y', 'Y', 'N', NULL, 'UUID', 'single', NULL, NULL, NULL, NULL, NULL, NULL, 'temp', '1', NULL, 1, NULL, 0, NULL, '{\"reportPrintShow\":0,\"reportPrintUrl\":\"\",\"joinQuery\":0,\"modelFullscreen\":0,\"modalMinWidth\":0,\"commentStatus\":1,\"tableFixedAction\":1,\"tableFixedActionType\":\"right\",\"formLabelLengthShow\":0,\"formLabelLength\":null,\"enableExternalLink\":0,\"externalLinkActions\":\"add,edit,detail\"}', 'admin', '2025-11-27 11:36:04', 'admin', '2020-05-06 11:34:31', 'normal', 'N', '', 0, NULL); +INSERT INTO `onl_cgform_head` VALUES ('05a3a30dada7411c9109306aa4117068', 'test_note', 1, 29, '请假单@JS增强示例', 'Y', 'Y', 'Y', 'N', NULL, 'UUID', 'single', NULL, NULL, NULL, NULL, NULL, NULL, 'temp', '1', NULL, 1, NULL, 0, NULL, '{\"reportPrintShow\":0,\"reportPrintUrl\":\"\",\"joinQuery\":0,\"modelFullscreen\":0,\"modalMinWidth\":0,\"commentStatus\":1,\"tableFixedAction\":1,\"tableFixedActionType\":\"right\",\"formLabelLengthShow\":0,\"formLabelLength\":null,\"enableExternalLink\":0,\"externalLinkActions\":\"add,edit,detail\"}', 'admin', '2026-01-21 11:59:02', 'admin', '2020-05-06 11:34:31', 'normal', 'N', '', 0, NULL); INSERT INTO `onl_cgform_head` VALUES ('3d447fa919b64f6883a834036c14aa67', 'test_enhance_select', 1, 7, '三级联动控件', 'N', 'Y', 'Y', 'N', NULL, 'UUID', 'single', NULL, NULL, NULL, NULL, NULL, NULL, 'bdfl_include', '1', NULL, 0, NULL, 0, NULL, '{\"reportPrintShow\":0,\"reportPrintUrl\":\"\",\"joinQuery\":0,\"modelFullscreen\":0,\"modalMinWidth\":\"\",\"commentStatus\":0,\"tableFixedAction\":1,\"tableFixedActionType\":\"right\",\"formLabelLengthShow\":0,\"formLabelLength\":null,\"enableExternalLink\":0,\"externalLinkActions\":\"add,edit,detail\"}', 'admin', '2025-05-15 18:26:26', 'admin', '2020-02-20 16:19:00', 'normal', 'N', '', 0, NULL); INSERT INTO `onl_cgform_head` VALUES ('402880e570a5d7000170a5d700f50000', 'test_order_product$1', 1, 11, '订单产品明细', 'N', 'N', 'Y', 'N', NULL, 'UUID', 'single', NULL, NULL, NULL, NULL, NULL, NULL, 'bdfl_include', '1', NULL, 0, 1, 1, 'deea5a8ec619460c9245ba85dbc59e80', NULL, NULL, NULL, 'admin', '2020-03-04 21:58:16', NULL, NULL, NULL, 0, NULL); INSERT INTO `onl_cgform_head` VALUES ('402880e5721355dd01721355dd390000', 'ces_order_goods$1', 1, 1, '订单商品', 'Y', 'N', 'Y', 'N', NULL, 'UUID', 'single', NULL, NULL, NULL, NULL, NULL, NULL, 'temp', '1', NULL, 1, 1, 1, '86bf17839a904636b7ed96201b2fa6ea', NULL, NULL, NULL, 'admin', '2020-05-14 21:18:14', 'normal', NULL, NULL, 0, NULL); @@ -3041,7 +3230,7 @@ CREATE TABLE `onl_cgform_index` ( `del_flag` int(1) NULL DEFAULT 0 COMMENT '是否删除 0未删除 1删除', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_oci_cgform_head_id`(`cgform_head_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgform_index @@ -3070,7 +3259,7 @@ CREATE TABLE `onl_cgreport_head` ( `create_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人id', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `index_onlinereport_code`(`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgreport_head @@ -3078,7 +3267,7 @@ CREATE TABLE `onl_cgreport_head` ( INSERT INTO `onl_cgreport_head` VALUES ('1256627801873821698', 'report002', '统计登录每日登录次数', 'select DATE_FORMAT(create_time, \'%Y-%m-%d\') as date,count(*) as num from sys_log group by DATE_FORMAT(create_time, \'%Y-%m-%d\')', NULL, NULL, '1', NULL, NULL, 0, NULL, '2022-10-13 16:47:57', 'admin', '2020-05-03 00:53:10', 'admin'); INSERT INTO `onl_cgreport_head` VALUES ('1260179852088135681', 'tj_user_report', '统一有效系统用户', 'select id,realname,username,sex,birthday,avatar,phone,email from sys_user', NULL, NULL, '1', NULL, NULL, 0, NULL, '2023-10-17 16:25:56', 'admin', '2020-05-12 20:07:44', 'admin'); INSERT INTO `onl_cgreport_head` VALUES ('1590154651759259649', 'withparamreport', '带参数报表', 'select * from demo where sex = \'${sex}\'', NULL, NULL, '1', NULL, NULL, 0, NULL, '2024-01-03 11:08:34', 'admin', '2022-11-09 09:29:47', 'admin'); -INSERT INTO `onl_cgreport_head` VALUES ('1705487386450534402', 'seelog', '查看日志', 'select * from sys_log', NULL, NULL, '1', 'local_mysql', NULL, 0, NULL, '2025-09-13 17:15:34', 'admin', '2023-09-23 15:40:54', 'admin'); +INSERT INTO `onl_cgreport_head` VALUES ('1705487386450534402', 'seelog', '查看日志', 'select * from sys_log', NULL, NULL, '1', NULL, NULL, 0, NULL, '2026-01-23 16:45:40', 'admin', '2023-09-23 15:40:54', 'admin'); INSERT INTO `onl_cgreport_head` VALUES ('6c7f59741c814347905a938f06ee003c', 'report_user', '统计在线用户', 'select realname,username,sex,birthday,avatar,phone,email from sys_user', NULL, NULL, '1', NULL, NULL, 0, NULL, '2022-10-25 11:41:18', 'admin', '2019-03-25 11:20:45', 'admin'); INSERT INTO `onl_cgreport_head` VALUES ('87b55a515d3441b6b98e48e5b35474a6', 'demo', 'Report Demo', 'select * from demo', NULL, NULL, '1', NULL, NULL, 0, NULL, '2020-05-03 01:14:35', 'admin', '2019-03-12 11:25:16', 'admin'); @@ -3111,7 +3300,7 @@ CREATE TABLE `onl_cgreport_item` ( INDEX `idx_oci_cgrhead_id`(`cgrhead_id`) USING BTREE, INDEX `idx_oci_is_show`(`is_show`) USING BTREE, INDEX `idx_oci_order_num`(`order_num`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgreport_item @@ -3190,7 +3379,7 @@ CREATE TABLE `onl_cgreport_param` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_ocp_cgrhead_id`(`cgrhead_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_cgreport_param @@ -3216,7 +3405,7 @@ CREATE TABLE `onl_drag_comp` ( `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '组件库' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '组件库' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_comp @@ -3337,7 +3526,7 @@ CREATE TABLE `onl_drag_dataset_head` ( `low_app_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '应用ID', `tenant_id` int(10) NULL DEFAULT NULL COMMENT '租户ID', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_dataset_head @@ -3454,7 +3643,7 @@ CREATE TABLE `onl_drag_dataset_item` ( `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_oddi_head_id`(`head_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_dataset_item @@ -3712,7 +3901,7 @@ CREATE TABLE `onl_drag_dataset_param` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_oddp_head_id`(`head_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_dataset_param @@ -3752,7 +3941,7 @@ CREATE TABLE `onl_drag_page` ( `visits_num` int(11) NULL DEFAULT NULL COMMENT '访问次数', `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态( 0未删除 1已删除)', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '可视化拖拽界面' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '可视化拖拽界面' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_page @@ -3821,7 +4010,7 @@ CREATE TABLE `onl_drag_page_comp` ( `update_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '可视化拖拽页面组件' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '可视化拖拽页面组件' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_page_comp @@ -4941,7 +5130,7 @@ CREATE TABLE `onl_drag_share` ( `share_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分享token', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uniq_ods_drag_id`(`drag_id`) USING BTREE COMMENT '仪表盘id唯一索引' -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仪表盘预览分享表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仪表盘预览分享表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_share @@ -4984,7 +5173,7 @@ CREATE TABLE `onl_drag_table_relation` ( INDEX `idx_del_flag`(`del_flag`) USING BTREE, INDEX `idx_tenant_id`(`tenant_id`) USING BTREE, INDEX `idx_create_by`(`create_by`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仪表盘聚合表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '仪表盘聚合表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of onl_drag_table_relation @@ -5011,7 +5200,7 @@ CREATE TABLE `open_api` ( `headers_json` json NULL COMMENT '请求头json', `params_json` json NULL COMMENT '请求参数json', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '接口表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '接口表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of open_api @@ -5033,7 +5222,7 @@ CREATE TABLE `open_api_auth` ( `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', `system_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关联系统用户名', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of open_api_auth @@ -5052,7 +5241,7 @@ CREATE TABLE `open_api_log` ( `used_time` bigint(20) NULL DEFAULT NULL COMMENT '耗时', `response_time` datetime NULL DEFAULT NULL COMMENT '响应时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '调用记录表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '调用记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of open_api_log @@ -5098,7 +5287,7 @@ CREATE TABLE `open_api_permission` ( `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'openapi授权' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'openapi授权' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of open_api_permission @@ -5117,7 +5306,7 @@ CREATE TABLE `oss_file` ( `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人登录名称', `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Oss File' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'Oss File' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oss_file @@ -5138,7 +5327,7 @@ CREATE TABLE `qrtz_blob_triggers` ( `BLOB_DATA` blob NULL, PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_blob_triggers @@ -5153,7 +5342,7 @@ CREATE TABLE `qrtz_calendars` ( `CALENDAR_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `CALENDAR` blob NOT NULL, PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_calendars @@ -5171,7 +5360,7 @@ CREATE TABLE `qrtz_cron_triggers` ( `TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_cron_triggers @@ -5196,7 +5385,7 @@ CREATE TABLE `qrtz_fired_triggers` ( `IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_fired_triggers @@ -5218,7 +5407,7 @@ CREATE TABLE `qrtz_job_details` ( `REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `JOB_DATA` blob NULL, PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_job_details @@ -5232,7 +5421,7 @@ CREATE TABLE `qrtz_locks` ( `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_locks @@ -5248,7 +5437,7 @@ CREATE TABLE `qrtz_paused_trigger_grps` ( `SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `TRIGGER_GROUP` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_paused_trigger_grps @@ -5264,12 +5453,12 @@ CREATE TABLE `qrtz_scheduler_state` ( `LAST_CHECKIN_TIME` bigint(13) NOT NULL, `CHECKIN_INTERVAL` bigint(13) NOT NULL, PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_scheduler_state -- ---------------------------- -INSERT INTO `qrtz_scheduler_state` VALUES ('MyScheduler', 'qin1764830369413', 1764830679109, 15000); +INSERT INTO `qrtz_scheduler_state` VALUES ('MyScheduler', 'qin1769584805968', 1769584846824, 15000); -- ---------------------------- -- Table structure for qrtz_simple_triggers @@ -5284,7 +5473,7 @@ CREATE TABLE `qrtz_simple_triggers` ( `TIMES_TRIGGERED` bigint(10) NOT NULL, PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_simple_triggers @@ -5311,7 +5500,7 @@ CREATE TABLE `qrtz_simprop_triggers` ( `BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_simprop_triggers @@ -5341,7 +5530,7 @@ CREATE TABLE `qrtz_triggers` ( PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE, INDEX `SCHED_NAME`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE, CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of qrtz_triggers @@ -5363,7 +5552,7 @@ CREATE TABLE `rep_demo_dxtj` ( `jperson` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '紧急联系人', `sex` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'xingbie', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of rep_demo_dxtj @@ -5431,7 +5620,7 @@ CREATE TABLE `rep_demo_employee` ( `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', `del_flag` tinyint(1) NULL DEFAULT NULL COMMENT '删除标识0-正常,1-已删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of rep_demo_employee @@ -5452,7 +5641,7 @@ CREATE TABLE `rep_demo_gongsi` ( `zhaiyao` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of rep_demo_gongsi @@ -5476,7 +5665,7 @@ CREATE TABLE `rep_demo_jianpiao` ( `shihelv` varchar(125) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `s_id` int(11) NOT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of rep_demo_jianpiao @@ -5583,7 +5772,7 @@ CREATE TABLE `rep_demo_order_main` ( `descc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', `xiala` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉多选', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of rep_demo_order_main @@ -5612,7 +5801,7 @@ CREATE TABLE `rep_demo_order_product` ( `order_fk_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订单外键ID', `pro_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品类型', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of rep_demo_order_product @@ -5701,7 +5890,7 @@ CREATE TABLE `sys_announcement` ( INDEX `idx_sanno_tenant_id`(`tenant_id`) USING BTREE, INDEX `idx_sanno_sender`(`sender`) USING BTREE, INDEX `idx_sanno_create_time`(`create_time`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统通告表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统通告表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_announcement @@ -5734,7 +5923,7 @@ CREATE TABLE `sys_announcement_send` ( INDEX `idx_sacm_user_id`(`user_id`) USING BTREE, INDEX `idx_sacm_read_flag`(`read_flag`) USING BTREE, INDEX `idx_sacm_star_flag`(`star_flag`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户通告阅读标记表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户通告阅读标记表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_announcement_send @@ -5758,12 +5947,12 @@ INSERT INTO `sys_announcement_send` VALUES ('1957253194031812610', '195725313036 INSERT INTO `sys_announcement_send` VALUES ('1957253194031812611', '1957253130366472194', '1955218454478983170', 0, NULL, 'admin', '2025-08-18 09:28:20', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1957253194031812612', '1957253130366472194', '3d464b4ea0d2491aab8a7bde74c57e95', 0, NULL, 'admin', '2025-08-18 09:28:20', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1957253194031812613', '1957253130366472194', 'a75d45a015c44384a04449ee80dc3503', 0, NULL, 'admin', '2025-08-18 09:28:20', NULL, NULL, NULL); -INSERT INTO `sys_announcement_send` VALUES ('1957253194036006913', '1957253130366472194', 'e9ca23d68d884d4ebb19d07889727dae', 1, '2025-11-25 17:04:35', 'admin', '2025-08-18 09:28:20', 'admin', '2025-11-25 17:04:35', NULL); +INSERT INTO `sys_announcement_send` VALUES ('1957253194036006913', '1957253130366472194', 'e9ca23d68d884d4ebb19d07889727dae', 1, '2026-01-21 17:53:10', 'admin', '2025-08-18 09:28:20', 'admin', '2026-01-21 17:53:10', NULL); INSERT INTO `sys_announcement_send` VALUES ('1966817120570503170', '1966817120570503169', '1714471285016895490', 0, NULL, 'admin', '2025-09-13 18:51:58', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1993520115190149121', '1993520100581388289', '1714471285016895490', 0, NULL, 'admin', '2025-11-26 11:20:08', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1993520115198537729', '1993520100581388289', '3d464b4ea0d2491aab8a7bde74c57e95', 0, NULL, 'admin', '2025-11-26 11:20:08', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1993520115198537730', '1993520100581388289', 'a75d45a015c44384a04449ee80dc3503', 0, NULL, 'admin', '2025-11-26 11:20:08', NULL, NULL, NULL); -INSERT INTO `sys_announcement_send` VALUES ('1993520115198537731', '1993520100581388289', 'e9ca23d68d884d4ebb19d07889727dae', 1, '2025-11-26 11:24:44', 'admin', '2025-11-26 11:20:08', 'admin', '2025-11-26 11:24:44', NULL); +INSERT INTO `sys_announcement_send` VALUES ('1993520115198537731', '1993520100581388289', 'e9ca23d68d884d4ebb19d07889727dae', 1, '2026-01-21 17:53:01', 'admin', '2025-11-26 11:20:08', 'admin', '2026-01-21 17:53:01', NULL); INSERT INTO `sys_announcement_send` VALUES ('1993520300238647297', '1993520281771126785', '1714471285016895490', 0, NULL, 'admin', '2025-11-26 11:20:52', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1993520300247035906', '1993520281771126785', '3d464b4ea0d2491aab8a7bde74c57e95', 0, NULL, 'admin', '2025-11-26 11:20:52', NULL, NULL, NULL); INSERT INTO `sys_announcement_send` VALUES ('1993520300247035907', '1993520281771126785', 'a75d45a015c44384a04449ee80dc3503', 0, NULL, 'admin', '2025-11-26 11:20:52', NULL, NULL, NULL); @@ -5787,7 +5976,7 @@ CREATE TABLE `sys_category` ( `tenant_id` int(10) NULL DEFAULT 0 COMMENT '租户ID', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `index_scg_code`(`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_category @@ -5838,13 +6027,13 @@ CREATE TABLE `sys_check_rule` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_scr_rule_code`(`rule_code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_check_rule -- ---------------------------- INSERT INTO `sys_check_rule` VALUES ('1224980593992388610', '通用编码规则', 'common', '[{\"digits\":1,\"pattern\":\"^[a-z|A-Z]$\",\"message\":\"第一位只能是字母\"},{\"digits\":\"*\",\"pattern\":\"^[0-9|a-z|A-Z|_]{0,}$\",\"message\":\"只能填写数字、大小写字母、下划线\"},{\"digits\":\"*\",\"pattern\":\"^.{3,}$\",\"message\":\"最少输入3位数\"},{\"digits\":\"*\",\"pattern\":\"^.{3,12}$\",\"message\":\"最多输入12位数\"}]', '规则:1、首位只能是字母;2、只能填写数字、大小写字母、下划线;3、最少3位数,最多12位数。', 'admin', '2025-09-13 18:54:19', 'admin', '2020-02-05 16:58:27'); -INSERT INTO `sys_check_rule` VALUES ('1225001845524004866', '负责的功能测试', 'test', '[{\"digits\":\"*\",\"pattern\":\"^.{3,12}$\",\"message\":\"只能输入3-12位字符\"},{\"digits\":\"3\",\"pattern\":\"^\\\\d{3}$\",\"message\":\"前3位必须是数字\"},{\"digits\":\"*\",\"pattern\":\"^[^pP]*$\",\"message\":\"不能输入P\"},{\"digits\":\"4\",\"pattern\":\"^@{4}$\",\"message\":\"第4-7位必须都为 @\"},{\"digits\":\"2\",\"pattern\":\"^#=$\",\"message\":\"第8-9位必须是 #=\"},{\"digits\":\"1\",\"pattern\":\"^O$\",\"message\":\"第10位必须为大写的O\"},{\"digits\":\"*\",\"pattern\":\"^.*。$\",\"message\":\"必须以。结尾\"}]', '包含长度校验、特殊字符校验等', 'admin', '2020-02-07 11:57:31', 'admin', '2020-02-05 18:22:54'); +INSERT INTO `sys_check_rule` VALUES ('1225001845524004866', '负责的功能测试', 'test', '[{\"digits\":\"*\",\"pattern\":\"^.{3,12}$\",\"message\":\"只能输入3-12位字符\"},{\"digits\":3,\"pattern\":\"^\\\\d{3}$\",\"message\":\"前3位必须是数字\"},{\"digits\":4,\"pattern\":\"^@{4}$\",\"message\":\"第4-7位必须都为 @\"},{\"digits\":2,\"pattern\":\"^#=$\",\"message\":\"第8-9位必须是 #=\"},{\"digits\":1,\"pattern\":\"^O$\",\"message\":\"第10位必须为大写的O\"},{\"digits\":\"*\",\"pattern\":\"^[^pP]*$\",\"message\":\"不能输入P\"},{\"digits\":\"*\",\"pattern\":\"^.*。$\",\"message\":\"必须以。结尾\"}]', '包含长度校验、特殊字符校验等', 'admin', '2026-01-21 09:55:31', 'admin', '2020-02-05 18:22:54'); -- ---------------------------- -- Table structure for sys_comment @@ -5864,7 +6053,7 @@ CREATE TABLE `sys_comment` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_table_data_id`(`table_name`, `table_data_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统评论回复表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统评论回复表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_comment @@ -5908,7 +6097,7 @@ CREATE TABLE `sys_data_log` ( `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'json' COMMENT '类型', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_sdl_data_table_id`(`data_table`, `data_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_data_log @@ -5925,6 +6114,11 @@ INSERT INTO `sys_data_log` VALUES ('1966815600902860801', 'admin', '管理员', INSERT INTO `sys_data_log` VALUES ('1993341836390940673', NULL, 'admin', '2025-11-25 23:31:43', NULL, NULL, 'aaa_01', '1993341836277694465', ' 创建了记录', 1, 'comment'); INSERT INTO `sys_data_log` VALUES ('1993886566388453377', NULL, 'admin', '2025-11-27 11:36:17', NULL, NULL, 'test_note', '1993886566258429953', ' 创建了记录', 1, 'comment'); INSERT INTO `sys_data_log` VALUES ('1993988133426835457', NULL, 'admin', '2025-11-27 18:19:52', NULL, NULL, 'test_order_main', '1833472350097121281', '子表[订单产品明细]:修改了1条数据', 1, 'comment'); +INSERT INTO `sys_data_log` VALUES ('2010992400041795585', NULL, 'admin', '2026-01-13 16:28:45', NULL, NULL, 'test_note', '2010992399911772161', ' 创建了记录', 1, 'comment'); +INSERT INTO `sys_data_log` VALUES ('2010992549400961026', NULL, 'admin', '2026-01-13 16:29:21', NULL, NULL, 'test_note', '2010992399911772161', ' 将名称为【长类型】的字段内容 空 修改为 1', 1, 'comment'); +INSERT INTO `sys_data_log` VALUES ('2010992564651450369', NULL, 'admin', '2026-01-13 16:29:25', NULL, NULL, 'test_note', '2010992399911772161', ' 将名称为【长类型】的字段内容 1 修改为 12', 1, 'comment'); +INSERT INTO `sys_data_log` VALUES ('2013993932534431746', NULL, 'admin', '2026-01-21 23:15:46', NULL, NULL, 'test_note', '1966815579977478145', ' 将名称为【性别】的字段内容 男 修改为 男; 将名称为【年龄】的字段内容 11 修改为 0', 1, 'comment'); +INSERT INTO `sys_data_log` VALUES ('2013994123417206786', NULL, 'admin', '2026-01-21 23:16:32', NULL, NULL, 'test_note', '2010992399911772161', ' 将名称为【长类型】的字段内容 12 修改为 空', 1, 'comment'); -- ---------------------------- -- Table structure for sys_data_source @@ -5949,7 +6143,7 @@ CREATE TABLE `sys_data_source` ( `tenant_id` int(10) NULL DEFAULT 0 COMMENT '租户ID', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_sdc_rule_code`(`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_data_source @@ -5993,7 +6187,7 @@ CREATE TABLE `sys_depart` ( INDEX `idx_sd_depart_order`(`depart_order`) USING BTREE, INDEX `idx_sd_position_id`(`position_id`) USING BTREE, INDEX `idx_sd_dep_post_parent_id`(`dep_post_parent_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '组织机构表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '组织机构表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_depart @@ -6059,7 +6253,7 @@ CREATE TABLE `sys_depart_permission` ( `permission_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限id', `data_rule_ids` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据规则id', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_depart_permission @@ -6086,7 +6280,7 @@ CREATE TABLE `sys_depart_role` ( `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人', `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_depart_role @@ -6109,7 +6303,7 @@ CREATE TABLE `sys_depart_role_permission` ( INDEX `idx_sdrp_role_per_id`(`role_id`, `permission_id`) USING BTREE, INDEX `idx_sdrp_role_id`(`role_id`) USING BTREE, INDEX `idx_sdrp_per_id`(`permission_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_depart_role_permission @@ -6128,7 +6322,7 @@ CREATE TABLE `sys_depart_role_user` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_sdr_user_id`(`user_id`) USING BTREE, INDEX `idx_sdr_role_id`(`drole_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色用户表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '部门角色用户表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_depart_role_user @@ -6154,7 +6348,7 @@ CREATE TABLE `sys_dict` ( PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_sd_dict_code`(`dict_code`) USING BTREE, INDEX `uk_sd_tenant_id`(`tenant_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dict @@ -6239,7 +6433,7 @@ CREATE TABLE `sys_dict_item` ( INDEX `idx_sditem_role_sort_order`(`sort_order`) USING BTREE, INDEX `idx_sditem_status`(`status`) USING BTREE, INDEX `idx_sditem_dict_val`(`dict_id`, `item_value`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dict_item @@ -6362,7 +6556,7 @@ INSERT INTO `sys_dict_item` VALUES ('1891458099609354241', '1891456510739890177' INSERT INTO `sys_dict_item` VALUES ('1891672501432479746', '1891672414555860993', '文本', 'text', NULL, NULL, 1, 1, 'jeecg', '2025-02-18 10:14:05', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1891672540963794946', '1891672414555860993', '文件', 'file', NULL, NULL, 1, 1, 'jeecg', '2025-02-18 10:14:14', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1891672567924781058', '1891672414555860993', '网页', 'web', NULL, NULL, 1, 1, 'jeecg', '2025-02-18 10:14:20', NULL, NULL); -INSERT INTO `sys_dict_item` VALUES ('1894701277019959298', '1894701158027554818', '简单配置', 'chatSimple', NULL, NULL, 1, 1, 'jeecg', '2025-02-26 18:49:21', NULL, NULL); +INSERT INTO `sys_dict_item` VALUES ('1894701277019959298', '1894701158027554818', '智能体', 'chatSimple', NULL, NULL, 1, 1, 'jeecg', '2025-02-26 18:49:21', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1894701332930031618', '1894701158027554818', '高级编排', 'chatFLow', NULL, NULL, 2, 1, 'jeecg', '2025-02-26 18:49:34', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1934846897383485441', '1934846825077878786', '发布性通知', '1', NULL, NULL, 1, 1, 'admin', '2025-06-17 13:33:43', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1934846933030875138', '1934846825077878786', '转发性通知', '2', NULL, NULL, 1, 1, 'admin', '2025-06-17 13:33:51', NULL, NULL); @@ -6385,6 +6579,7 @@ INSERT INTO `sys_dict_item` VALUES ('1964945142854979586', '1964944899916697602' INSERT INTO `sys_dict_item` VALUES ('1964945196395270146', '1964944899916697602', '职员', '5', NULL, NULL, 5, 1, 'admin', '2025-09-08 14:53:36', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1ce390c52453891f93514c1bd2795d44', 'ad7c65ba97c20a6805d5dcdf13cdaf36', '000', '00', NULL, NULL, 1, 1, 'admin', '2019-03-22 16:34:34', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('1db531bcff19649fa82a644c8a939dc4', '4c03fca6bf1f0299c381213961566349', '组合布局', 'combination', NULL, '', 4, 1, 'admin', '2019-05-11 16:07:08', NULL, NULL); +INSERT INTO `sys_dict_item` VALUES ('2008087927907045378', '1891456510739890177', '图像模型', 'IMAGE', NULL, NULL, 3, 1, 'admin', '2026-01-05 16:07:25', 'admin', '2026-01-05 16:07:31'); INSERT INTO `sys_dict_item` VALUES ('222705e11ef0264d4214affff1fb4ff9', '4f69be5f507accea8d5df5f11346181a', '文本', '1', NULL, '', 1, 1, 'admin', '2023-02-28 10:50:36', 'admin', '2022-07-04 16:29:21'); INSERT INTO `sys_dict_item` VALUES ('23a5bb76004ed0e39414e928c4cde155', '4e4602b3e3686f0911384e188dc7efb4', '不等于', '!=', NULL, '不等于', 3, 1, 'admin', '2019-04-01 16:46:15', 'admin', '2019-04-01 17:48:40'); INSERT INTO `sys_dict_item` VALUES ('25847e9cb661a7c711f9998452dc09e6', '4e4602b3e3686f0911384e188dc7efb4', '小于等于', '<=', NULL, '小于等于', 6, 1, 'admin', '2019-04-01 16:44:34', 'admin', '2019-04-01 17:49:10'); @@ -6405,7 +6600,7 @@ INSERT INTO `sys_dict_item` VALUES ('5584c21993bde231bbde2b966f2633ac', '4e4602b INSERT INTO `sys_dict_item` VALUES ('58b73b344305c99b9d8db0fc056bbc0a', '72cce0989df68887546746d8f09811aa', '主表', '2', NULL, NULL, 2, 1, 'admin', '2019-03-27 10:13:36', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('5b65a88f076b32e8e69d19bbaadb52d5', '2f0320997ade5dd147c90130f7218c3e', '全体用户', 'ALL', NULL, NULL, NULL, 1, 'admin', '2020-10-17 21:22:43', 'admin', '2019-03-28 22:17:09'); INSERT INTO `sys_dict_item` VALUES ('5d833f69296f691843ccdd0c91212b6b', '880a895c98afeca9d9ac39f29e67c13e', '修改', '3', NULL, '', 3, 1, 'admin', '2019-07-22 10:55:07', 'admin', '2019-07-22 10:55:41'); -INSERT INTO `sys_dict_item` VALUES ('5d84a8634c8fdfe96275385075b105c9', '3d9a351be3436fbefb1307d4cfb49bf2', '女', '2', NULL, NULL, 2, 1, NULL, '2019-01-04 14:56:56', NULL, '2019-01-04 17:38:12'); +INSERT INTO `sys_dict_item` VALUES ('5d84a8634c8fdfe96275385075b105c9', '3d9a351be3436fbefb1307d4cfb49bf2', '女', '2', '#08C9C9', NULL, 2, 1, NULL, '2019-01-04 14:56:56', 'admin', '2026-01-21 23:15:36'); INSERT INTO `sys_dict_item` VALUES ('66c952ae2c3701a993e7db58f3baf55e', '4e4602b3e3686f0911384e188dc7efb4', '大于', '>', NULL, '大于', 1, 1, 'admin', '2019-04-01 10:45:46', 'admin', '2019-04-01 17:48:29'); INSERT INTO `sys_dict_item` VALUES ('6937c5dde8f92e9a00d4e2ded9198694', 'ad7c65ba97c20a6805d5dcdf13cdaf36', 'easyui', '3', NULL, NULL, 1, 1, 'admin', '2019-03-22 16:32:15', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('69cacf64e244100289ddd4aa9fa3b915', 'a9d9942bd0eccb6e89de92d130ec4c4a', '未发送', '0', NULL, NULL, 1, 1, 'admin', '2019-04-12 18:19:23', NULL, NULL); @@ -6446,7 +6641,7 @@ INSERT INTO `sys_dict_item` VALUES ('c53da022b9912e0aed691bbec3c78473', '880a895 INSERT INTO `sys_dict_item` VALUES ('c5700a71ad08994d18ad1dacc37a71a9', 'a7adbcd86c37f7dbc9b66945c82ef9e6', '否', '0', NULL, '', 1, 1, 'admin', '2019-05-22 19:29:55', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('cbfcc5b88fc3a90975df23ffc8cbe29c', 'c5a14c75172783d72cbee6ee7f5df5d1', '曲线图', 'line', NULL, NULL, 2, 1, 'admin', '2019-05-12 17:05:30', 'admin', '2019-04-12 17:06:06'); INSERT INTO `sys_dict_item` VALUES ('d217592908ea3e00ff986ce97f24fb98', 'c5a14c75172783d72cbee6ee7f5df5d1', '数据列表', 'table', NULL, NULL, 4, 1, 'admin', '2019-04-12 17:05:56', NULL, NULL); -INSERT INTO `sys_dict_item` VALUES ('df168368dcef46cade2aadd80100d8aa', '3d9a351be3436fbefb1307d4cfb49bf2', '男', '1', NULL, NULL, 1, 1, NULL, '2027-08-04 14:56:49', 'admin', '2019-03-23 22:44:44'); +INSERT INTO `sys_dict_item` VALUES ('df168368dcef46cade2aadd80100d8aa', '3d9a351be3436fbefb1307d4cfb49bf2', '男', '1', '#FF9300', NULL, 1, 1, NULL, '2027-08-04 14:56:49', 'admin', '2026-01-21 23:15:33'); INSERT INTO `sys_dict_item` VALUES ('e6329e3a66a003819e2eb830b0ca2ea0', '4e4602b3e3686f0911384e188dc7efb4', '小于', '<', NULL, '小于', 2, 1, 'admin', '2019-04-01 16:44:15', 'admin', '2019-04-01 17:48:34'); INSERT INTO `sys_dict_item` VALUES ('e94eb7af89f1dbfa0d823580a7a6e66a', '236e8a4baff0db8c62c00dd95632834f', '不同步', '0', NULL, '不同步', 2, 1, 'admin', '2019-05-15 15:28:28', NULL, NULL); INSERT INTO `sys_dict_item` VALUES ('f0162f4cc572c9273f3e26b2b4d8c082', 'ad7c65ba97c20a6805d5dcdf13cdaf36', 'booostrap', '1', NULL, NULL, 1, 1, 'admin', '2021-08-22 16:32:04', 'admin', '2019-03-22 16:33:57'); @@ -6488,7 +6683,7 @@ CREATE TABLE `sys_files` ( PRIMARY KEY (`id`) USING BTREE, INDEX `index_tenant_id`(`tenant_id`) USING BTREE, INDEX `index_del_flag`(`del_flag`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '知识库-文档管理' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '知识库-文档管理' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_files @@ -6513,7 +6708,7 @@ CREATE TABLE `sys_fill_rule` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_sfr_rule_code`(`rule_code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_fill_rule @@ -6537,7 +6732,7 @@ CREATE TABLE `sys_form_file` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_table_form`(`table_name`, `table_data_id`) USING BTREE, INDEX `index_file_id`(`file_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_form_file @@ -6572,7 +6767,7 @@ CREATE TABLE `sys_gateway_route` ( `sys_org_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属部门', `del_flag` int(11) NULL DEFAULT NULL COMMENT '删除状态', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_gateway_route @@ -6611,7 +6806,7 @@ CREATE TABLE `sys_log` ( INDEX `idx_sl_log_type`(`log_type`) USING BTREE, INDEX `idx_sl_operate_type`(`operate_type`) USING BTREE, INDEX `idx_sl_create_time`(`create_time`) USING BTREE -) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统日志表' ROW_FORMAT = Dynamic; +) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统日志表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_log @@ -7187,16 +7382,176 @@ INSERT INTO `sys_log` VALUES ('1996179141321416705', 1, '用户名: admin,登录 INSERT INTO `sys_log` VALUES ('1996179282229059585', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-03 19:26:43', NULL, NULL, NULL, 'pc'); INSERT INTO `sys_log` VALUES ('1996463287717433345', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:15:15', NULL, NULL, NULL, 'pc'); INSERT INTO `sys_log` VALUES ('1996463828690374658', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:17:24', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996464560625745921', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:20:18', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996464673276362753', 2, '编辑用户,username: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:20:45', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996464697875955714', 2, '删除用户,id: 3d464b4ea0d2491aab8a7bde74c57e95', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:20:51', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996465168392978433', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:22:43', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996465978866728961', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:25:57', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996467841552941057', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:33:21', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996467955352797186', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:33:48', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996467975837777922', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:33:53', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996469548546633730', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:40:08', NULL, NULL, NULL, 'pc'); -INSERT INTO `sys_log` VALUES ('1996469699273142274', 2, '修改角色ID: 1996463539853824001 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-04 14:40:44', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('1996789427157913602', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-05 11:51:13', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('1998219872567361537', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-09 10:35:17', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('1998219899046002690', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4280649', NULL, 12, NULL, '2025-12-09 10:35:24', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('1998242544999321602', 1, '用户名: 管理员,退出成功!', NULL, 'admin', '管理员', '127.0.0.1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-09 12:05:23', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('1998242571230498817', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-09 12:05:29', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('1998243410003111938', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-09 12:08:49', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('1998660530545360897', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-10 15:46:18', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2000384098396278785', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-15 09:55:09', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010929136633143297', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 12:17:22', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010929177896706049', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4a86a2ea', NULL, 17, NULL, '2026-01-13 12:17:32', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010966953996353538', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 14:47:38', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010966954499670018', 4, 'java.lang.ClassCastException:class java.util.ArrayList cannot be cast to class org.jeecg.modules.system.entity.SysRoleIndex (java.util.ArrayList is in module java.base of loader \'bootstrap\'; org.jeecg.modules.system.entity.SysRoleIndex is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768286858470', '/jeecg-boot/sys/user/getUserInfo', 'java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class org.jeecg.modules.system.entity.SysRoleIndex (java.util.ArrayList is in module java.base of loader \'bootstrap\'; org.jeecg.modules.system.entity.SysRoleIndex is in unnamed module of loader \'app\')\r\n at org.jeecg.modules.system.service.impl.SysRoleIndexServiceImpl$$SpringCGLIB$$0.queryDefaultIndex()\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl.getDynamicIndexByUserRole(SysUserServiceImpl.java:423)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl$$SpringCGLIB$$0.getDynamicIndexByUserRole()\r\n at org.jeecg.modules.system.controller.LoginController.getUserInfo(LoginController.java:153)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.controller.LoginController$$SpringCGLIB$$0.getUserInfo()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 14:47:39', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010967181461848066', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 14:48:33', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975424741400577', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 15:21:18', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975462951510017', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@177f1c8c', NULL, 59, NULL, '2026-01-13 15:21:27', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010975462976675841', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768288887025', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:21:27', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975462993453058', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768288887023', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:21:27', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975641704357889', 4, 'java.lang.ClassCastException:class java.util.ArrayList cannot be cast to class com.alibaba.fastjson.JSONArray (java.util.ArrayList is in module java.base of loader \'bootstrap\'; com.alibaba.fastjson.JSONArray is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'pageNo=1&pageSize=10&onlRepUrlParamStr=&_t=1768288929645', '/jeecg-boot/online/cgreport/api/getColumnsAndData/1705487386450534402', 'java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class com.alibaba.fastjson.JSONArray (java.util.ArrayList is in module java.base of loader \'bootstrap\'; com.alibaba.fastjson.JSONArray is in unnamed module of loader \'app\')\r\n at org.jeecg.modules.online.cgreport.a.a.a(OnlCgreportAPI.java:109)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.PermissionDataAspect.arround(PermissionDataAspect.java:80)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgreport.a.a$$SpringCGLIB$$0.a()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:22:10', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975954968535042', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 15:23:24', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975960731508738', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289005744', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:23:26', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975960760868865', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@7a8377b2', NULL, 25, NULL, '2026-01-13 15:23:26', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010975960777646081', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289005743', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:23:26', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975986023161857', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289011803', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:23:32', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010975986094465026', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@427930b9', NULL, 42, NULL, '2026-01-13 15:23:32', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010975986123825154', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289011802', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:23:32', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010976017711128578', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4bd3d943', NULL, 11, NULL, '2026-01-13 15:23:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010976017736294401', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289019371', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:23:39', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010976017736294402', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289019370', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:23:39', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010976377146220545', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@2e186846', NULL, 80, NULL, '2026-01-13 15:25:05', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010976377196552194', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289104930', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:25:05', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010976377196552193', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768289104932', '/jeecg-boot/online/cgform/api/getFormItem/05a3a30dada7411c9109306aa4117068', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.common.system.vo.DictModel (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.common.system.vo.DictModel is in unnamed module of loader \'app\')\r\n at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178)\r\n at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)\r\n at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)\r\n at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\r\n at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)\r\n at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\r\n at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)\r\n at org.jeecg.modules.online.cgform.d.d.b(CgformUtil.java:2932)\r\n at org.jeecg.modules.online.cgform.c.a.c(OnlCgformApiController.java:392)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.AutoLogAspect.around(AutoLogAspect.java:58)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.online.cgform.c.a$$SpringCGLIB$$0.c()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:25:05', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010982571415973890', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 15:49:42', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010982572309360642', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.modules.system.entity.SysRoleIndex (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.modules.system.entity.SysRoleIndex is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768290581962', '/jeecg-boot/sys/user/getUserInfo', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.modules.system.entity.SysRoleIndex (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.modules.system.entity.SysRoleIndex is in unnamed module of loader \'app\')\r\n at org.jeecg.modules.system.service.impl.SysRoleIndexServiceImpl$$SpringCGLIB$$0.queryDefaultIndex()\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl.getDynamicIndexByUserRole(SysUserServiceImpl.java:423)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl$$SpringCGLIB$$0.getDynamicIndexByUserRole()\r\n at org.jeecg.modules.system.controller.LoginController.getUserInfo(LoginController.java:153)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.controller.LoginController$$SpringCGLIB$$0.getUserInfo()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:49:42', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010982680572735489', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 15:50:08', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010983369462009858', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 15:52:52', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010983370225373185', 4, 'java.lang.ClassCastException:class java.util.LinkedHashMap cannot be cast to class org.jeecg.modules.system.entity.SysRoleIndex (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.modules.system.entity.SysRoleIndex is in unnamed module of loader \'app\')', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768290772224', '/jeecg-boot/sys/user/getUserInfo', 'java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class org.jeecg.modules.system.entity.SysRoleIndex (java.util.LinkedHashMap is in module java.base of loader \'bootstrap\'; org.jeecg.modules.system.entity.SysRoleIndex is in unnamed module of loader \'app\')\r\n at org.jeecg.modules.system.service.impl.SysRoleIndexServiceImpl$$SpringCGLIB$$0.queryDefaultIndex()\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl.getDynamicIndexByUserRole(SysUserServiceImpl.java:423)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl$$SpringCGLIB$$0.getDynamicIndexByUserRole()\r\n at org.jeecg.modules.system.controller.LoginController.getUserInfo(LoginController.java:153)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.controller.LoginController$$SpringCGLIB$$0.getUserInfo()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-13 15:52:52', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010987862526279681', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 16:10:43', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010987863176396801', 4, 'org.springframework.data.redis.serializer.SerializationException:Could not read JSON: Unexpected token (`JsonToken.START_OBJECT`), expected `JsonToken.START_ARRAY`: need Array value to contain `As.WRAPPER_ARRAY` type information for class java.lang.Object\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #0]', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768291843450', '/jeecg-boot/sys/user/getUserInfo', 'org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Unexpected token (`JsonToken.START_OBJECT`), expected `JsonToken.START_ARRAY`: need Array value to contain `As.WRAPPER_ARRAY` type information for class java.lang.Object\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #0]\r\n at org.springframework.data.redis.serializer.JacksonJsonRedisSerializer.deserialize(JacksonJsonRedisSerializer.java:143)\r\n at org.springframework.data.redis.serializer.DefaultRedisElementReader.read(DefaultRedisElementReader.java:46)\r\n at org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.read(RedisSerializationContext.java:276)\r\n at org.springframework.data.redis.cache.RedisCache.deserializeCacheValue(RedisCache.java:375)\r\n at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:188)\r\n at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58)\r\n at org.springframework.cache.transaction.TransactionAwareCacheDecorator.get(TransactionAwareCacheDecorator.java:82)\r\n at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:78)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:563)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.findCachedValue(CacheAspectSupport.java:513)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:438)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:404)\r\n at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysRoleIndexServiceImpl$$SpringCGLIB$$0.queryDefaultIndex()\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl.getDynamicIndexByUserRole(SysUserServiceImpl.java:423)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl$$SpringCGLIB$$0.getDynamicIndexByUserRole()\r\n at org.jeecg.modules.system.controller.LoginController.getUserInfo(LoginController.java:153)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.controller.LoginController$$SpringCGLIB$$0.getUserInfo()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\nCaused by: tools.jackson.databind.exc.MismatchedInputException: Unexpected token (`JsonToken.START_OBJECT`), expected `JsonToken.START_ARRAY`: need Array value to contain `As.WRAPPER_ARRAY` type information for class java.lang.Object\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #0]\r\n at tools.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:63)\r\n at tools.jackson.databind.DeserializationContext.wrongTokenException(DeserializationContext.java:1982)\r\n at tools.jackson.databind.DeserializationContext.reportWrongTokenException(DeserializationContext.java:1766)\r\n at tools.jackson.databind.jsontype.impl.AsArrayTypeDeserializer._locateTypeId(AsArrayTypeDeserializer.java:142)\r\n at tools.jackson.databind.jsontype.impl.AsArrayTypeDeserializer._deserialize(AsArrayTypeDeserializer.java:91)\r\n at tools.jackson.databind.jsontype.impl.AsArrayTypeDeserializer.deserializeTypedFromAny(AsArrayTypeDeserializer.java:65)\r\n at tools.jackson.databind.deser.jdk.UntypedObjectDeserializerNR.deserializeWithType(UntypedObjectDeserializerNR.java:98)\r\n at tools.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:72)\r\n at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:265)\r\n at tools.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2610)\r\n at tools.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1676)\r\n at org.springframework.data.redis.serializer.JacksonObjectReader.lambda$create$0(JacksonObjectReader.java:52)\r\n at org.springframework.data.redis.serializer.JacksonJsonRedisSerializer.deserialize(JacksonJsonRedisSerializer.java:141)\r\n ... 124 more\r\n', NULL, NULL, NULL, '2026-01-13 16:10:44', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010989755801559042', 1, '用户名: 管理员,退出成功!', NULL, 'admin', '管理员', '127.0.0.1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 16:18:15', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010989771576336386', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 16:18:19', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010989771911880706', 4, 'org.springframework.data.redis.serializer.SerializationException:Could not read JSON: Could not resolve subtype of [simple type, class java.lang.Object]: missing type id property \'@class\'\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #251]', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', '_t=1768292298601', '/jeecg-boot/sys/user/getUserInfo', 'org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Could not resolve subtype of [simple type, class java.lang.Object]: missing type id property \'@class\'\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #251]\r\n at org.springframework.data.redis.serializer.JacksonJsonRedisSerializer.deserialize(JacksonJsonRedisSerializer.java:143)\r\n at org.springframework.data.redis.serializer.DefaultRedisElementReader.read(DefaultRedisElementReader.java:46)\r\n at org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.read(RedisSerializationContext.java:276)\r\n at org.springframework.data.redis.cache.RedisCache.deserializeCacheValue(RedisCache.java:375)\r\n at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:188)\r\n at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58)\r\n at org.springframework.cache.transaction.TransactionAwareCacheDecorator.get(TransactionAwareCacheDecorator.java:82)\r\n at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:78)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:563)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.findCachedValue(CacheAspectSupport.java:513)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:438)\r\n at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:404)\r\n at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:64)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysRoleIndexServiceImpl$$SpringCGLIB$$0.queryDefaultIndex()\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl.getDynamicIndexByUserRole(SysUserServiceImpl.java:423)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.service.impl.SysUserServiceImpl$$SpringCGLIB$$0.getDynamicIndexByUserRole()\r\n at org.jeecg.modules.system.controller.LoginController.getUserInfo(LoginController.java:153)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:648)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:630)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:96)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:719)\r\n at org.jeecg.modules.system.controller.LoginController$$SpringCGLIB$$0.getUserInfo()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:934)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:853)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:86)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:866)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:892)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:622)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:874)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:128)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.boot.servlet.actuate.web.exchanges.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:89)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:199)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:107)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:77)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1778)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:946)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:480)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:57)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\nCaused by: tools.jackson.databind.exc.InvalidTypeIdException: Could not resolve subtype of [simple type, class java.lang.Object]: missing type id property \'@class\'\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); byte offset: #251]\r\n at tools.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:41)\r\n at tools.jackson.databind.DeserializationContext.missingTypeIdException(DeserializationContext.java:2113)\r\n at tools.jackson.databind.DeserializationContext.handleMissingTypeId(DeserializationContext.java:1698)\r\n at tools.jackson.databind.jsontype.impl.TypeDeserializerBase._handleMissingTypeId(TypeDeserializerBase.java:285)\r\n at tools.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedUsingDefaultImpl(AsPropertyTypeDeserializer.java:173)\r\n at tools.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:112)\r\n at tools.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:203)\r\n at tools.jackson.databind.deser.jdk.UntypedObjectDeserializerNR.deserializeWithType(UntypedObjectDeserializerNR.java:98)\r\n at tools.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:72)\r\n at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:265)\r\n at tools.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2610)\r\n at tools.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1676)\r\n at org.springframework.data.redis.serializer.JacksonObjectReader.lambda$create$0(JacksonObjectReader.java:52)\r\n at org.springframework.data.redis.serializer.JacksonJsonRedisSerializer.deserialize(JacksonJsonRedisSerializer.java:141)\r\n ... 124 more\r\n', NULL, NULL, NULL, '2026-01-13 16:18:19', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010990026099286018', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-13 16:19:19', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2010990034102018049', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@7044b33d', NULL, 42, NULL, '2026-01-13 16:19:21', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990034143961089', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@22332d92', NULL, 44, NULL, '2026-01-13 16:19:21', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990034135572482', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@6b0a9270', NULL, 48, NULL, '2026-01-13 16:19:21', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990186145538050', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@250becb0', NULL, 22, NULL, '2026-01-13 16:19:57', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990186162315265', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@60f04b6c', NULL, 26, NULL, '2026-01-13 16:19:57', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990186187481089', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@59b03a45', NULL, 30, NULL, '2026-01-13 16:19:57', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990191661047809', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1966815579977478145', NULL, 12, NULL, '2026-01-13 16:19:59', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990197281415169', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:19:59\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 189, NULL, '2026-01-13 16:20:00', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010990207913975810', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:20:02\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 16, NULL, '2026-01-13 16:20:03', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010991617489506306', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@6a81e3c7', NULL, 201, NULL, '2026-01-13 16:25:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010991617850216450', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@66eafe8', NULL, 277, NULL, '2026-01-13 16:25:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010991617980239874', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@37426c4d', NULL, 322, NULL, '2026-01-13 16:25:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992311567147010', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@79e2d221', NULL, 69, NULL, '2026-01-13 16:28:24', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992333943758849', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@3be227b4', NULL, 121, NULL, '2026-01-13 16:28:30', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992334153474050', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@433e1fa4', NULL, 171, NULL, '2026-01-13 16:28:30', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992334182834177', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@73500a14', NULL, 178, NULL, '2026-01-13 16:28:30', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992339719315457', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1923203898831777793', NULL, 28, NULL, '2026-01-13 16:28:31', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992345083830273', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"\",\"year\":\"\",\"sex\":\"2\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:28:32\",\"jeecg_row_key\":\"1923203898831777793\",\"month\":\"\",\"contents\":\"\",\"name\":\"jeecg\",\"id\":\"1923203898831777793\",\"update_by\":\"admin\",\"age\":10}]', NULL, 196, NULL, '2026-01-13 16:28:32', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992363282915330', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1966815579977478145', NULL, 24, NULL, '2026-01-13 16:28:36', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992367317835777', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:28:37\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 57, NULL, '2026-01-13 16:28:37', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992400201179137', 2, 'online新增数据,表名:test_note,添加成功!', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"\",\"create_by\":\"admin\",\"sys_org_code\":\"A01A03\",\"create_time\":\"2026-01-13 16:28:45\",\"id\":\"2010992399911772161\",\"age\":11},null]', NULL, 71, NULL, '2026-01-13 16:28:45', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992529775812609', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@5cc7abd4', NULL, 121, NULL, '2026-01-13 16:29:16', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992530065219586', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@413e4e3c', NULL, 190, NULL, '2026-01-13 16:29:16', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992530065219587', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@2ce51db', NULL, 190, NULL, '2026-01-13 16:29:16', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992537078095874', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 2010992399911772161', NULL, 50, NULL, '2026-01-13 16:29:18', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992549535178753', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"\",\"year\":\"\",\"sex\":\"\",\"begin_time\":\"\",\"long_ids\":\"1\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:29:20\",\"jeecg_row_key\":\"2010992399911772161\",\"month\":\"\",\"contents\":\"\",\"name\":\"\",\"id\":\"2010992399911772161\",\"update_by\":\"admin\",\"age\":11}]', NULL, 106, NULL, '2026-01-13 16:29:21', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992555256209410', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 2010992399911772161', NULL, 43, NULL, '2026-01-13 16:29:22', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992564722753538', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"\",\"year\":\"\",\"sex\":\"\",\"begin_time\":\"\",\"long_ids\":\"12\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:29:24\",\"jeecg_row_key\":\"2010992399911772161\",\"month\":\"\",\"contents\":\"\",\"name\":\"\",\"id\":\"2010992399911772161\",\"update_by\":\"admin\",\"age\":11}]', NULL, 100, NULL, '2026-01-13 16:29:25', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992570296983554', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1966815579977478145', NULL, 41, NULL, '2026-01-13 16:29:26', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992576462610433', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:29:27\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 81, NULL, '2026-01-13 16:29:27', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992675821477890', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:29:51\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 78, NULL, '2026-01-13 16:29:51', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010992791768817666', 2, 'online修改数据,修改失败,Incorrect integer value: \'\' for column \'long_ids\' at row 1', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-13 16:30:18\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 52, NULL, '2026-01-13 16:30:19', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010993489944256514', 2, 'online列表加载,表名:test_shoptype_tree,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 997ee931515a4620bc30a9c1246429a9 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@ed8733f', NULL, 111, NULL, '2026-01-13 16:33:05', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010993490082668546', 2, 'online表单加载,表名:test_shoptype_tree,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 997ee931515a4620bc30a9c1246429a9 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@7a8d72b4', NULL, 146, NULL, '2026-01-13 16:33:05', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010993490191720449', 2, 'online表单加载,表名:test_shoptype_tree,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 997ee931515a4620bc30a9c1246429a9 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@6315e820', NULL, 172, NULL, '2026-01-13 16:33:05', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010993496344764417', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 997ee931515a4620bc30a9c1246429a9 id: 1923190583678107649', NULL, 54, NULL, '2026-01-13 16:33:07', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2010993500664897537', 2, 'online修改数据,表名:test_shoptype_tree,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"997ee931515a4620bc30a9c1246429a9\",{\"type_name\":\"水果\",\"update_time\":\"2026-01-13 16:33:07\",\"jeecg_row_key\":\"1923190583678107649\",\"children\":\"[object Object]\",\"pid\":\"0\",\"pic\":\"\",\"has_child\":\"1\",\"id\":\"1923190583678107649\",\"update_by\":\"admin\"}]', NULL, 168, NULL, '2026-01-13 16:33:08', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013518346812674050', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 15:45:58', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013518434012254209', 1, '用户名: 管理员,退出成功!', NULL, 'admin', '管理员', '127.0.0.1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 15:46:19', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013518463078780930', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 15:46:26', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013518923273621506', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 15:48:15', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013562550297362434', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@1352513e', NULL, 30, NULL, '2026-01-20 18:41:37', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013562624029032449', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@5dae4544', NULL, 6, NULL, '2026-01-20 18:41:54', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013562891352997889', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@226eb573', NULL, 4, NULL, '2026-01-20 18:42:58', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013562899917766658', 2, '填值规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysFillRuleController.queryPageList()', NULL, ' sysFillRule: SysFillRule(id=null, ruleName=null, ruleCode=null, ruleClass=null, ruleParams=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@67caf0f9', NULL, 31, NULL, '2026-01-20 18:43:00', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013562995740835842', 2, '修改角色ID: 1501570619841810433 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 18:43:23', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013563053244743681', 2, '修改角色ID: f6817f48af4fb3af11b9e8bf182f618b 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 18:43:37', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013564035835953155', 2, '修改角色ID: 1501570619841810433 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 18:47:31', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013564317399580678', 2, '修改角色ID: 1501570619841810433 的权限配置,操作人: admin', 2, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-20 18:48:38', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013791979686658049', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-21 09:53:17', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013792531006947330', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@307ade5c', NULL, 8, NULL, '2026-01-21 09:55:29', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013792542616780801', 2, '编码校验规则-编辑', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.edit()', NULL, '[{\"id\":\"1225001845524004866\",\"ruleCode\":\"test\",\"ruleDescription\":\"包含长度校验、特殊字符校验等\",\"ruleJson\":\"[{\\\"digits\\\":\\\"*\\\",\\\"pattern\\\":\\\"^.{3,12}$\\\",\\\"message\\\":\\\"只能输入3-12位字符\\\"},{\\\"digits\\\":3,\\\"pattern\\\":\\\"^\\\\\\\\d{3}$\\\",\\\"message\\\":\\\"前3位必须是数字\\\"},{\\\"digits\\\":4,\\\"pattern\\\":\\\"^@{4}$\\\",\\\"message\\\":\\\"第4-7位必须都为 @\\\"},{\\\"digits\\\":2,\\\"pattern\\\":\\\"^#=$\\\",\\\"message\\\":\\\"第8-9位必须是 #=\\\"},{\\\"digits\\\":1,\\\"pattern\\\":\\\"^O$\\\",\\\"message\\\":\\\"第10位必须为大写的O\\\"},{\\\"digits\\\":\\\"*\\\",\\\"pattern\\\":\\\"^[^pP]*$\\\",\\\"message\\\":\\\"不能输入P\\\"},{\\\"digits\\\":\\\"*\\\",\\\"pattern\\\":\\\"^.*。$\\\",\\\"message\\\":\\\"必须以。结尾\\\"}]\",\"ruleName\":\"负责的功能测试\",\"updateBy\":\"admin\",\"updateTime\":\"2026-01-21 09:55:31\"}]', NULL, 13, NULL, '2026-01-21 09:55:31', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013792542872633345', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@1b9f8863', NULL, 3, NULL, '2026-01-21 09:55:31', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013793200195567617', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-21 09:58:08', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013857418638819330', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-21 14:13:19', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013884181142077442', 4, 'org.springframework.web.servlet.resource.NoResourceFoundException:No static resource airag/word/list.', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'column=createTime&order=desc&pageNo=1&pageSize=10&_t=1768982379472', '/jeecg-boot/airag/word/list', 'org.springframework.web.servlet.resource.NoResourceFoundException: No static resource airag/word/list.\r\n at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)\r\n at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.boot.actuate.web.exchanges.servlet.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:88)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-21 15:59:40', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013884210225381377', 4, 'org.springframework.web.servlet.resource.NoResourceFoundException:No static resource airag/word/list.', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'column=createTime&order=desc&pageNo=1&pageSize=10&_t=1768982386521', '/jeecg-boot/airag/word/list', 'org.springframework.web.servlet.resource.NoResourceFoundException: No static resource airag/word/list.\r\n at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)\r\n at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.boot.actuate.web.exchanges.servlet.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:88)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-21 15:59:47', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013884622055763969', 4, 'org.springframework.jdbc.BadSqlGrammarException:\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \'jeecg-boot.eoa_word_template\' doesn\'t exist\r\n### The error may exist in org/jeecg/modules/airag/wordtpl/mapper/EoaWordTemplateMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(*) AS total FROM eoa_word_template\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \'jeecg-boot.eoa_word_template\' doesn\'t exist\n; bad SQL grammar []', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'column=createTime&order=desc&pageNo=1&pageSize=10&_t=1768982484392', '/jeecg-boot/airag/word/list', 'org.springframework.jdbc.BadSqlGrammarException: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \'jeecg-boot.eoa_word_template\' doesn\'t exist\r\n### The error may exist in org/jeecg/modules/airag/wordtpl/mapper/EoaWordTemplateMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(*) AS total FROM eoa_word_template\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \'jeecg-boot.eoa_word_template\' doesn\'t exist\n; bad SQL grammar []\r\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246)\r\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107)\r\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:93)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347)\r\n at jdk.proxy2/jdk.proxy2.$Proxy184.selectList(Unknown Source)\r\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:194)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:164)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:156)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:93)\r\n at jdk.proxy2/jdk.proxy2.$Proxy264.selectList(Unknown Source)\r\n at com.baomidou.mybatisplus.core.mapper.BaseMapper.selectPage(BaseMapper.java:458)\r\n at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:182)\r\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:93)\r\n at jdk.proxy2/jdk.proxy2.$Proxy264.selectPage(Unknown Source)\r\n at com.baomidou.mybatisplus.extension.repository.IRepository.page(IRepository.java:342)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:724)\r\n at org.jeecg.modules.airag.wordtpl.service.impl.EoaWordTemplateServiceImpl$$SpringCGLIB$$0.page()\r\n at org.jeecg.modules.airag.wordtpl.controller.EoaWordTemplateController.queryPageList(EoaWordTemplateController.java:67)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)\r\n at org.jeecg.modules.airag.wordtpl.controller.EoaWordTemplateController$$SpringCGLIB$$0.queryPageList()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.boot.actuate.web.exchanges.servlet.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:88)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\nCaused by: java.sql.SQLSyntaxErrorException: Table \'jeecg-boot.eoa_word_template\' doesn\'t exist\r\n at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)\r\n at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)\r\n at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:371)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3462)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3460)\r\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)\r\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3460)\r\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:158)\r\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483)\r\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:65)\r\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:80)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at jdk.proxy2/jdk.proxy2.$Proxy392.query(Unknown Source)\r\n at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:65)\r\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:336)\r\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158)\r\n at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61)\r\n at jdk.proxy2/jdk.proxy2.$Proxy391.query(Unknown Source)\r\n at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:135)\r\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:75)\r\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)\r\n at jdk.proxy2/jdk.proxy2.$Proxy391.query(Unknown Source)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)\r\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333)\r\n ... 128 more\r\n', NULL, NULL, NULL, '2026-01-21 16:01:25', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013886075214241793', 2, 'word模版管理-编辑', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.airag.wordtpl.controller.EoaWordTemplateController.edit()', NULL, '[{\"footer\":\"[]\",\"header\":\"[]\",\"height\":1124,\"id\":\"1957327567174488065\",\"margins\":\"[100,120,100,120]\",\"name\":\"红头文件\",\"paperDirection\":\"vertical\",\"updateBy\":\"admin\",\"updateTime\":\"2026-01-21 16:07:11\",\"watermark\":\"{\\\"data\\\":\\\"\\\",\\\"color\\\":\\\"#AEB5C0\\\",\\\"opacity\\\":0.3,\\\"size\\\":200,\\\"font\\\":\\\"Microsoft YaHei\\\",\\\"repeat\\\":false,\\\"gap\\\":[10,10]}\",\"width\":795}]', NULL, 33, NULL, '2026-01-21 16:07:11', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013886467343917058', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-21 16:08:45', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013919325844414465', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@19f27537', NULL, 29, NULL, '2026-01-21 18:19:19', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013919398716252161', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@253b3a92', NULL, 16, NULL, '2026-01-21 18:19:36', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013919402554040321', 2, '填值规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysFillRuleController.queryPageList()', NULL, ' sysFillRule: SysFillRule(id=null, ruleName=null, ruleCode=null, ruleClass=null, ruleParams=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@eccc38d', NULL, 44, NULL, '2026-01-21 18:19:37', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013927304283037698', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@327e0879', NULL, 9, NULL, '2026-01-21 18:51:01', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013927306971586561', 2, '填值规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysFillRuleController.queryPageList()', NULL, ' sysFillRule: SysFillRule(id=null, ruleName=null, ruleCode=null, ruleClass=null, ruleParams=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@42b9b551', NULL, 8, NULL, '2026-01-21 18:51:02', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013937058971774977', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4176373b', NULL, 21, NULL, '2026-01-21 19:29:47', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013937062759231489', 2, '填值规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysFillRuleController.queryPageList()', NULL, ' sysFillRule: SysFillRule(id=null, ruleName=null, ruleCode=null, ruleClass=null, ruleParams=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@224c1b53', NULL, 20, NULL, '2026-01-21 19:29:48', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993461568618498', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-21 23:13:54', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2013993639017037825', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@58e1e4ca', NULL, 174, NULL, '2026-01-21 23:14:36', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993639121895426', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@ef0493', NULL, 195, NULL, '2026-01-21 23:14:36', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993639121895427', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@5d9ecd8', NULL, 198, NULL, '2026-01-21 23:14:36', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993662849073154', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@2e6ee306', NULL, 94, NULL, '2026-01-21 23:14:42', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993663096537091', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4411704e', NULL, 153, NULL, '2026-01-21 23:14:42', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993663096537090', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@20aa6ca', NULL, 153, NULL, '2026-01-21 23:14:42', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993706666967041', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@262fe310', NULL, 90, NULL, '2026-01-21 23:14:53', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993706897653762', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4d417598', NULL, 144, NULL, '2026-01-21 23:14:53', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993706897653763', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@3178707d', NULL, 144, NULL, '2026-01-21 23:14:53', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993731274948609', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@7972c86b', NULL, 100, NULL, '2026-01-21 23:14:58', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993731501441026', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@673ceda8', NULL, 154, NULL, '2026-01-21 23:14:58', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993731501441027', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@20146d69', NULL, 154, NULL, '2026-01-21 23:14:58', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993797607866370', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1966815579977478145', NULL, 32, NULL, '2026-01-21 23:15:14', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993817769885697', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-21 23:15:18\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":11}]', NULL, 99, NULL, '2026-01-21 23:15:19', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993903119777794', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@6cc48c42', NULL, 93, NULL, '2026-01-21 23:15:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993903279161346', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@59d0f19c', NULL, 131, NULL, '2026-01-21 23:15:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993903291744258', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@236940ac', NULL, 135, NULL, '2026-01-21 23:15:39', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993909541257218', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@dedfce6', NULL, 81, NULL, '2026-01-21 23:15:41', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993909776138241', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@2275976d', NULL, 135, NULL, '2026-01-21 23:15:41', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993909776138242', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@ccb7366', NULL, 138, NULL, '2026-01-21 23:15:41', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993917791453185', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1966815579977478145', NULL, 32, NULL, '2026-01-21 23:15:43', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013993932563791874', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-09-19 00:00:00\",\"year\":\"\",\"sex\":\"2\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-21 23:15:46\",\"jeecg_row_key\":\"1966815579977478145\",\"month\":\"\",\"contents\":\"\",\"name\":\"ceshi\",\"id\":\"1966815579977478145\",\"update_by\":\"admin\",\"age\":0}]', NULL, 79, NULL, '2026-01-21 23:15:46', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994081780350977', 2, 'online列表加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@1054d48f', NULL, 76, NULL, '2026-01-21 23:16:22', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994081985871874', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@68c6e072', NULL, 125, NULL, '2026-01-21 23:16:22', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994081985871873', 2, 'online表单加载,表名:test_note,操作成功', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@75e85fcb', NULL, 125, NULL, '2026-01-21 23:16:22', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994087081951234', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 2010992399911772161', NULL, 35, NULL, '2026-01-21 23:16:23', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994095206318081', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"\",\"year\":\"\",\"sex\":\"\",\"begin_time\":\"\",\"long_ids\":12,\"sheng\":\"\",\"update_time\":\"2026-01-21 23:16:25\",\"jeecg_row_key\":\"2010992399911772161\",\"month\":\"\",\"contents\":\"\",\"name\":\"\",\"id\":\"2010992399911772161\",\"update_by\":\"admin\",\"age\":11}]', NULL, 74, NULL, '2026-01-21 23:16:25', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994099660668930', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 1943500714139598850', NULL, 25, NULL, '2026-01-21 23:16:26', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994104303763457', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"2025-07-29 00:00:00\",\"year\":\"\",\"sex\":\"1\",\"begin_time\":\"\",\"long_ids\":\"\",\"sheng\":\"140311\",\"update_time\":\"2026-01-21 23:16:27\",\"jeecg_row_key\":\"1943500714139598850\",\"month\":\"\",\"contents\":\"

经过上述讨论, 我们不得不面对一个非常尴尬的事实, 那就是, 这样看来, 一般来讲, 我们都必须务必慎重的考虑考虑. 就我个人来说, 随机一段废话对我的意义, 不能不说非常重大. 
每个人都不得不面对这些问题. 在面对这种问题时, 随机一段废话, 发生了会如何, 不发生又会如何. 总结的来说, 
这种事实对本人来说意义重大, 相信对这个世界也是有一定意义的.所谓随机一段废话, 关键是x需要

\",\"name\":\"admin\",\"id\":\"1943500714139598850\",\"update_by\":\"admin\",\"age\":1212}]', NULL, 64, NULL, '2026-01-21 23:16:27', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994111262113794', 2, 'online表单数据查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.c()', NULL, ' code: 05a3a30dada7411c9109306aa4117068 id: 2010992399911772161', NULL, 33, NULL, '2026-01-21 23:16:29', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2013994123513675777', 2, 'online修改数据,表名:test_note,修改成功!', 3, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.online.cgform.c.a.a()', NULL, '[\"05a3a30dada7411c9109306aa4117068\",{\"birthday\":\"\",\"year\":\"\",\"sex\":\"\",\"begin_time\":\"\",\"sheng\":\"\",\"update_time\":\"2026-01-21 23:16:31\",\"jeecg_row_key\":\"2010992399911772161\",\"month\":\"\",\"contents\":\"\",\"name\":\"\",\"id\":\"2010992399911772161\",\"update_by\":\"admin\",\"age\":11}]', NULL, 74, NULL, '2026-01-21 23:16:32', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014154460842008577', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-22 09:53:39', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014156825800232962', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-22 10:03:03', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014620486993981442', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-23 16:45:29', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014625393528549378', 4, 'org.jeecg.common.exception.JeecgBootException:调用绘画AI接口失败,详情请查看后台日志。', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiPoster', 'org.jeecg.common.exception.JeecgBootException: 调用绘画AI接口失败,详情请查看后台日志。\r\n at org.jeecg.modules.airag.llm.handler.AIChatHandler.imageGenerate(AIChatHandler.java:462)\r\n at org.jeecg.modules.airag.llm.handler.AIChatHandler.imageGenerate(AIChatHandler.java:433)\r\n at org.jeecg.modules.airag.app.service.impl.AiragChatServiceImpl.genAiPoster(AiragChatServiceImpl.java:1701)\r\n at org.jeecg.modules.airag.app.controller.AiragChatController.genAiPoster(AiragChatController.java:270)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor197.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)\r\n at org.jeecg.modules.airag.app.controller.AiragChatController$$SpringCGLIB$$0.genAiPoster()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.boot.actuate.web.exchanges.servlet.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:88)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 17:04:58', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014625729198698498', 4, 'org.jeecg.common.exception.JeecgBootException:调用绘画AI接口失败,详情请查看后台日志。', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiPoster', 'org.jeecg.common.exception.JeecgBootException: 调用绘画AI接口失败,详情请查看后台日志。\r\n at org.jeecg.modules.airag.llm.handler.AIChatHandler.imageGenerate(AIChatHandler.java:462)\r\n at org.jeecg.modules.airag.llm.handler.AIChatHandler.imageGenerate(AIChatHandler.java:433)\r\n at org.jeecg.modules.airag.app.service.impl.AiragChatServiceImpl.genAiPoster(AiragChatServiceImpl.java:1701)\r\n at org.jeecg.modules.airag.app.controller.AiragChatController.genAiPoster(AiragChatController.java:270)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor197.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)\r\n at org.jeecg.modules.airag.app.controller.AiragChatController$$SpringCGLIB$$0.genAiPoster()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.boot.actuate.web.exchanges.servlet.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:88)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 17:06:18', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014626119340273666', 4, 'org.jeecg.common.exception.JeecgBootException:调用绘画AI接口失败,详情请查看后台日志。', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiPoster', 'org.jeecg.common.exception.JeecgBootException: 调用绘画AI接口失败,详情请查看后台日志。\r\n at org.jeecg.modules.airag.llm.handler.AIChatHandler.imageGenerate(AIChatHandler.java:462)\r\n at org.jeecg.modules.airag.llm.handler.AIChatHandler.imageGenerate(AIChatHandler.java:433)\r\n at org.jeecg.modules.airag.app.service.impl.AiragChatServiceImpl.genAiPoster(AiragChatServiceImpl.java:1701)\r\n at org.jeecg.modules.airag.app.controller.AiragChatController.genAiPoster(AiragChatController.java:270)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\r\n at org.jeecg.common.aspect.DictAspect.doAround(DictAspect.java:64)\r\n at jdk.internal.reflect.GeneratedMethodAccessor197.invoke(Unknown Source)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)\r\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)\r\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)\r\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)\r\n at org.jeecg.modules.airag.app.controller.AiragChatController$$SpringCGLIB$$0.genAiPoster()\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)\r\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at com.alibaba.druid.support.jakarta.WebStatFilter.doFilter(WebStatFilter.java:113)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.boot.actuate.web.exchanges.servlet.HttpExchangesFilter.doFilterInternal(HttpExchangesFilter.java:88)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\r\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\r\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\r\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 17:07:51', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014631987658104834', 2, 'word模版管理-通过id删除', 4, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.airag.wordtpl.controller.EoaWordTemplateController.delete()', NULL, ' id: 2014631939473940481', NULL, 12, NULL, '2026-01-23 17:31:11', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014632079131680770', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiWriter', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 17:31:32', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014634234844553218', 2, '多数据源管理-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysDataSourceController.queryPageList()', NULL, ' sysDataSource: SysDataSource(id=null, code=null, name=null, remark=null, dbType=null, dbDriver=null, dbUrl=null, dbName=null, dbUsername=null, dbPassword=null, createBy=null, createTime=null, updateBy=null, updateTime=null, sysOrgCode=null, tenantId=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@5f1ae660', NULL, 94, NULL, '2026-01-23 17:40:06', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014634244701167617', 2, '多数据源管理-通过id查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysDataSourceController.queryById()', NULL, ' id: 1209779538310004737', NULL, 579, NULL, '2026-01-23 17:40:09', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014634442189971457', 2, '多数据源管理-通过id查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysDataSourceController.queryById()', NULL, ' id: 1209779538310004737', NULL, 6, NULL, '2026-01-23 17:40:56', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014636193441914882', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', '_t=1769161538505', '/jeecg-boot/airag/chat/receive/402881829bea2598019bea3ea6c50017', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 17:47:53', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014639365761802242', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiWriter', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 18:00:30', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014639467167490049', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiWriter', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 18:00:54', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014639834504634370', 2, '填值规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysFillRuleController.queryPageList()', NULL, ' sysFillRule: SysFillRule(id=null, ruleName=null, ruleCode=null, ruleClass=null, ruleParams=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@42729599', NULL, 40, NULL, '2026-01-23 18:02:21', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014639909930803202', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/genAiWriter', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-23 18:02:39', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2014640365604184065', 2, '角色首页配置-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysRoleIndexController.queryPageList()', NULL, ' sysRoleIndex: SysRoleIndex(id=null, roleCode=null, url=null, component=null, route=null, priority=null, status=null, createBy=null, createTime=null, updateBy=null, updateTime=null, sysOrgCode=null, relationType=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@58ac3c3d', NULL, 35, NULL, '2026-01-23 18:04:28', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014644846156849154', 2, '填值规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysFillRuleController.queryPageList()', NULL, ' sysFillRule: SysFillRule(id=null, ruleName=null, ruleCode=null, ruleClass=null, ruleParams=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 req: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@4807616d', NULL, 10, NULL, '2026-01-23 18:22:16', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014644850082717697', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@65d06773', NULL, 38, NULL, '2026-01-23 18:22:17', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2014645507799916545', 2, '编码校验规则-分页列表查询', 1, 'admin', '管理员', '0:0:0:0:0:0:0:1', 'org.jeecg.modules.system.controller.SysCheckRuleController.queryPageList()', NULL, ' sysCheckRule: SysCheckRule(id=null, ruleName=null, ruleCode=null, ruleJson=null, ruleDescription=null, updateBy=null, updateTime=null, createBy=null, createTime=null) pageNo: 1 pageSize: 10 request: org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@6d3dcc75', NULL, 9, NULL, '2026-01-23 18:24:54', NULL, NULL, NULL, NULL); +INSERT INTO `sys_log` VALUES ('2015701636197933058', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-26 16:21:35', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2015702124893069313', 4, 'org.springframework.web.context.request.async.AsyncRequestNotUsableException:Response not usable after response errors.', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/send', 'org.springframework.web.context.request.async.AsyncRequestNotUsableException: Response not usable after response errors.\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.obtainLockOrRaiseException(StandardServletAsyncWebRequest.java:338)\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.flushBuffer(StandardServletAsyncWebRequest.java:320)\r\n at org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:105)\r\n at org.springframework.http.server.DelegatingServerHttpResponse.flush(DelegatingServerHttpResponse.java:61)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler$DefaultSseEmitterHandler.complete(ResponseBodyEmitterReturnValueHandler.java:325)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter.complete(ResponseBodyEmitter.java:251)\r\n at org.jeecg.modules.airag.app.service.impl.AiragChatServiceImpl.lambda$createSSE$4(AiragChatServiceImpl.java:496)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter$ErrorCallback.accept(ResponseBodyEmitter.java:400)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter$ErrorCallback.accept(ResponseBodyEmitter.java:388)\r\n at org.springframework.web.context.request.async.DeferredResult$LifecycleInterceptor.handleError(DeferredResult.java:338)\r\n at org.springframework.web.context.request.async.DeferredResultInterceptorChain.triggerAfterError(DeferredResultInterceptorChain.java:99)\r\n at org.springframework.web.context.request.async.WebAsyncManager.lambda$startDeferredResultProcessing$6(WebAsyncManager.java:455)\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest.lambda$onError$0(StandardServletAsyncWebRequest.java:195)\r\n at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest.onError(StandardServletAsyncWebRequest.java:195)\r\n at org.apache.catalina.core.AsyncListenerWrapper.fireOnError(AsyncListenerWrapper.java:49)\r\n at org.apache.catalina.core.AsyncContextImpl.setErrorState(AsyncContextImpl.java:413)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:155)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-26 16:23:31', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2015703034134290434', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', '_t=1769415995325', '/jeecg-boot/airag/chat/receive/402881829bf96559019bf96559f40002', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-26 16:27:08', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2016403617082372097', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-28 14:51:00', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2016403790978215938', 1, '用户名: admin,登录成功!', NULL, 'admin', '管理员', '0:0:0:0:0:0:0:1', NULL, NULL, NULL, NULL, NULL, NULL, '2026-01-28 14:51:41', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2016404348782899202', 4, 'org.springframework.web.context.request.async.AsyncRequestNotUsableException:Response not usable after response errors.', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', NULL, '/jeecg-boot/airag/chat/send', 'org.springframework.web.context.request.async.AsyncRequestNotUsableException: Response not usable after response errors.\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.obtainLockOrRaiseException(StandardServletAsyncWebRequest.java:338)\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest$LifecycleHttpServletResponse.flushBuffer(StandardServletAsyncWebRequest.java:320)\r\n at org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:105)\r\n at org.springframework.http.server.DelegatingServerHttpResponse.flush(DelegatingServerHttpResponse.java:61)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler$DefaultSseEmitterHandler.complete(ResponseBodyEmitterReturnValueHandler.java:325)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter.complete(ResponseBodyEmitter.java:251)\r\n at org.jeecg.modules.airag.app.service.impl.AiragChatServiceImpl.lambda$createSSE$4(AiragChatServiceImpl.java:496)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter$ErrorCallback.accept(ResponseBodyEmitter.java:400)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter$ErrorCallback.accept(ResponseBodyEmitter.java:388)\r\n at org.springframework.web.context.request.async.DeferredResult$LifecycleInterceptor.handleError(DeferredResult.java:338)\r\n at org.springframework.web.context.request.async.DeferredResultInterceptorChain.triggerAfterError(DeferredResultInterceptorChain.java:99)\r\n at org.springframework.web.context.request.async.WebAsyncManager.lambda$startDeferredResultProcessing$6(WebAsyncManager.java:455)\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest.lambda$onError$0(StandardServletAsyncWebRequest.java:195)\r\n at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)\r\n at org.springframework.web.context.request.async.StandardServletAsyncWebRequest.onError(StandardServletAsyncWebRequest.java:195)\r\n at org.apache.catalina.core.AsyncListenerWrapper.fireOnError(AsyncListenerWrapper.java:49)\r\n at org.apache.catalina.core.AsyncContextImpl.setErrorState(AsyncContextImpl.java:413)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:155)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-28 14:53:54', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2016404349659508738', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', '_t=1769583206767', '/jeecg-boot/airag/chat/receive/402881829c035f70019c0360ca7f000d', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-28 14:53:55', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2016409247742443522', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', '_t=1769584380278', '/jeecg-boot/airag/chat/receive/402881829c036e42019c0372ab65000d', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-28 15:13:22', NULL, NULL, NULL, 'pc'); +INSERT INTO `sys_log` VALUES ('2016409247822135298', 4, 'org.springframework.http.converter.HttpMessageNotWritableException:No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'', NULL, NULL, NULL, '0:0:0:0:0:0:0:1', '_t=1769584380321', '/jeecg-boot/airag/chat/receive/402881829c036e42019c0372ab65000d', 'org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.LinkedHashMap] with preset Content-Type \'text/event-stream\'\r\n at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:365)\r\n at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:263)\r\n at org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler.handleReturnValue(ResponseEntityReturnValueHandler.java:79)\r\n at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\r\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:136)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)\r\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)\r\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\r\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\r\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\r\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\r\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\r\n at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:65)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:109)\r\n at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:138)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:70)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:463)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.lambda$doFilterInternal$0(AbstractShiroFilter.java:378)\r\n at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:91)\r\n at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:84)\r\n at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:389)\r\n at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:376)\r\n at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:156)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)\r\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\r\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\r\n at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:612)\r\n at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:491)\r\n at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:439)\r\n at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:358)\r\n at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:209)\r\n at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)\r\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150)\r\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\r\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\r\n at org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:239)\r\n at org.apache.coyote.AbstractProcessor.dispatch(AbstractProcessor.java:243)\r\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57)\r\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)\r\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1769)\r\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)\r\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)\r\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\r\n at java.base/java.lang.Thread.run(Thread.java:842)\r\n', NULL, NULL, NULL, '2026-01-28 15:13:22', NULL, NULL, NULL, 'pc'); -- ---------------------------- -- Table structure for sys_permission @@ -7237,7 +7592,7 @@ CREATE TABLE `sys_permission` ( INDEX `index_menu_del_flag`(`del_flag`) USING BTREE, INDEX `index_menu_url`(`url`) USING BTREE, INDEX `index_menu_sort_no`(`sort_no`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_permission @@ -7251,10 +7606,169 @@ INSERT INTO `sys_permission` VALUES ('1214462306546319362', '3f915b2769fc80648e9 INSERT INTO `sys_permission` VALUES ('1280350452934307841', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '多租户管理', '/system/tenant', 'system/tenant/index', 1, NULL, NULL, 1, NULL, '1', 6.00, 0, 'ant-design:appstore-twotone', 0, 0, 0, 0, NULL, 'admin', '2020-07-07 11:58:30', 'admin', '2025-06-25 14:16:36', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1438108176273760258', '', '主页', '/dashboard', 'layouts/default/index', 1, NULL, '/dashboard/analysis', 0, NULL, '1', 1.00, 0, 'ant-design:home-outlined', 0, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:23', 'admin', '2025-09-13 18:49:01', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1438108176814825473', '1438108176273760258', '工作台', '/dashboard/workbench', 'dashboard/workbench/index', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, 'ant-design:appstore-twotone', 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:23', 'jeecg', '2024-06-13 11:37:46', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108176932265985', '1438108178010202113', '权限管理', '/permission', 'layouts/default/index', 1, NULL, '/permission/front/page', 0, NULL, '1', 2.00, 0, 'ion:key-outline', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108177074872321', '1438108176932265985', '基于前端权限', '/permission/front', NULL, 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108177188118529', '1438108176932265985', '基于后台权限', '/permission/back', NULL, 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108177351696386', '1438108177074872321', '页面权限', '/permission/front/page', 'demo/permission/front/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', 'admin', '2021-09-16 14:37:49', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108177565605889', '1438108177074872321', '按钮权限', '/permission/front/btn', 'demo/permission/front/Btn', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', 'admin', '2021-09-15 19:57:23', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108177720795137', '1438108177188118529', '页面权限', '/permission/back/page', 'demo/permission/back/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', 'admin', '2021-09-15 19:56:40', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108177880178689', '1438108177188118529', '按钮权限', '/permission/back/btn', 'demo/permission/back/Btn', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', 'admin', '2021-09-15 19:57:00', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178010202113', '1438108196993622018', '功能示例', '/feat', 'layouts/default/index', 1, NULL, '/feat/icon', 0, NULL, '1', 20.00, 0, 'ion:git-compare-outline', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178127642626', '1438108197958315557', '图标', '/comp/basic/icon', 'demo/feat/icon/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178257666049', '1438108178010202113', 'websocket测试', '/feat/ws', 'demo/feat/ws/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178421243905', '1438108178010202113', '登录过期', '/feat/session-timeout', 'demo/feat/session-timeout/index', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178643542017', '1438108197958311677', '打印', '/comp/third/print', 'demo/feat/print/index', 1, NULL, NULL, 1, NULL, '1', 3.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178781954049', '1438108197958315557', 'Tab操作', '/comp/basic/tabs', 'demo/feat/tabs/index', 1, NULL, NULL, 1, NULL, '1', 4.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178781954050', '1438108197958315557', 'TabDetail', '/comp/basic/tabs/detail/:id', 'demo/feat/tabs/TabDetail', 1, NULL, '/comp/basic/tabs/detail', 1, NULL, '1', 4.00, 0, NULL, 1, 0, 1, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108178911977473', '1438108187455774722', '面包屑导航', '/feat/breadcrumb', 'layouts/default/index', 1, NULL, '/feat/breadcrumb/flat', 1, NULL, '1', 5.00, 0, 'ant-design:right-square-filled', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', 'admin', '2021-09-17 15:48:07', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108179226550273', '1438108197958311677', '右键菜单', '/comp/third/context-menu', 'demo/feat/context-menu/index', 1, NULL, NULL, 1, NULL, '1', 6.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108179381739521', '1438108197958311677', '文件下载', '/comp/third/download', 'demo/feat/download/index', 1, NULL, NULL, 1, NULL, '1', 7.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108179599843330', '1438108197958311677', 'ClickOutSide组件', '/comp/third/click-out-side', 'demo/feat/click-out-side/index', 1, NULL, NULL, 1, NULL, '1', 8.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:23', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108179910221825', '1438108197958311677', '图片预览', '/comp/third/img-preview', 'demo/feat/img-preview/index', 1, NULL, NULL, 1, NULL, '1', 9.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108180077993985', '1438108197958311677', '剪切板', '/comp/third/copy', 'demo/feat/copy/index', 1, NULL, NULL, 1, NULL, '1', 10.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108180258349057', '1438108197958315557', '消息提示', '/comp/basic/msg', 'demo/feat/msg/index', 1, NULL, NULL, 1, NULL, '1', 11.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108180434509826', '1438108197958311677', '水印', '/comp/third/watermark', 'demo/feat/watermark/index', 1, NULL, NULL, 1, NULL, '1', 12.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108180631642113', '1438108197958311677', '水波纹', '/comp/third/ripple', 'demo/feat/ripple/index', 1, NULL, NULL, 1, NULL, '1', 13.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108180770054145', '1438108178010202113', '全屏', '/feat/full-screen', 'demo/feat/full-screen/index', 1, NULL, NULL, 1, NULL, '1', 14.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108182116425729', '1438108197958311677', '日历(New)', '/comp/third/fullCalendar', 'demo/fullcalendar/index', 1, NULL, NULL, 1, NULL, '1', 16.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 1, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183085309954', '1438108178010202113', '错误日志', '/feat/error-log', 'sys/error-log/index', 1, NULL, NULL, 1, NULL, '1', 17.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183219527682', '1438108196993622018', 'Excel', '/feat/excel', 'layouts/default/index', 1, NULL, '/feat/excel/customExport', 1, NULL, '1', 18.00, 0, 'ant-design:file-excel-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-17 15:54:57', 1, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183395688450', '1438108187455774722', 'Tab带参', '/feat/testTab/:id', 'demo/feat/tab-params/index', 1, NULL, NULL, 1, NULL, '1', 19.00, 0, 'ant-design:insert-row-above-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-17 15:48:57', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183492157442', '1438108187455774722', 'Menu带参', '/feat/testParam/:id', 'layouts/default/index', 1, NULL, NULL, 1, NULL, '1', 20.00, 0, 'ant-design:menu-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-17 15:49:12', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183630569474', '1438108178911977473', '平级模式', '/feat/breadcrumb/flat', 'demo/feat/breadcrumb/FlatList', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-15 20:12:01', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183630569477', '1438108178911977473', '平级详情', '/feat/breadcrumb/flatDetail', 'demo/feat/breadcrumb/FlatListDetail', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 1, 1, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-18 11:07:07', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183777370114', '1438108183630569474', '平级详情', '/feat/breadcrumb/flatDetail', 'demo/feat/breadcrumb/FlatListDetail', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 1, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-15 20:13:41', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108183907393538', '1438108178911977473', '层级模式', '/feat/breadcrumb/children', 'demo/feat/breadcrumb/ChildrenList', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-15 20:11:57', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108184049999873', '1438108183907393538', '层级详情', '/feat/breadcrumb/children/childrenDetail', 'demo/feat/breadcrumb/ChildrenListDetail', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:24', 'admin', '2021-09-15 20:11:49', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108185660612609', '1438108183219527682', '选择导出格式', '/feat/excel/customExport', 'demo/excel/CustomExport', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-15 20:15:59', 1, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108185815801858', '1438108183219527682', 'JSON数据导出', '/feat/excel/jsonExport', 'demo/excel/JsonExport', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-15 20:16:15', 1, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108185958408193', '1438108183219527682', 'Array数据导出', '/feat/excel/arrayExport', 'demo/excel/ArrayExport', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-15 20:16:32', 1, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108186289758209', '1438108183219527682', '导入', '/feat/excel/importExcel', 'demo/excel/ImportExcel', 1, NULL, NULL, 1, NULL, '1', 3.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-15 20:16:43', 1, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108186717577217', '1438108183492157442', 'Menu带参1', '/feat/testParam/:id/sub1', 'demo/feat/menu-params/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-15 20:17:23', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108187103453186', '1438108183492157442', 'Menu带参2', '/feat/testParam/:id/sub2', 'demo/feat/menu-params/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-15 20:17:36', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108187455774722', '', '导航示例', '/page-demo', 'layouts/default/index', 1, NULL, '/page-demo/form/basic', 0, NULL, '1', 12.00, 0, 'ion:aperture-outline', 0, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2025-06-25 14:22:40', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108187678072833', '1438108187455774722', '表单页', '/page-demo/form', 'layouts/default/index', 1, NULL, '/page-demo/form/basic', 1, NULL, '1', 0.00, 0, 'ant-design:form-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-17 15:45:30', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108187871010818', '1438108187455774722', '详情页', '/page-demo/desc', 'layouts/default/index', 1, NULL, '/page-demo/desc/basic', 1, NULL, '1', 1.00, 0, 'ant-design:border-right-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-17 15:46:10', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108188034588674', '1438108187455774722', '结果页', '/page-demo/result', 'layouts/default/index', 1, NULL, '/page-demo/result/success', 1, NULL, '1', 2.00, 0, 'ant-design:account-book-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:25', 'admin', '2021-09-17 15:47:04', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108188378521602', '1438108187455774722', '个人页', '/page-demo/account', 'layouts/default/index', 1, NULL, '/page-demo/account/setting', 1, NULL, '1', 3.00, 0, 'ant-design:user-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', 'admin', '2021-09-17 15:47:23', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108188542099458', '1438108187455774722', '异常页', '/page-demo/exception', 'layouts/default/index', 1, NULL, '/page-demo/exception/404', 1, NULL, '1', 4.00, 0, 'ant-design:bug-twotone', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', 'admin', '2021-09-17 15:47:41', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108188714065922', '1438108187455774722', '列表页', '/page-demo/list', 'layouts/default/index', 1, NULL, '/page-demo/list/card', 1, NULL, '1', 5.00, 0, 'ant-design:table-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', 'admin', '2021-09-17 15:48:19', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108189062193153', '1438108187678072833', '基础表单', '/page-demo/form/basic', 'demo/page/form/basic/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108189427097601', '1438108187678072833', '分步表单', '/page-demo/form/step', 'demo/page/form/step/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108189754253313', '1438108187678072833', '高级表单', '/page-demo/form/high', 'demo/page/form/high/index', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108190110769154', '1438108187871010818', '基础详情页', '/page-demo/desc/basic', 'demo/page/desc/basic/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108190404370433', '1438108187871010818', '高级详情页', '/page-demo/desc/high', 'demo/page/desc/high/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108190777663490', '1438108188034588674', '成功页', '/page-demo/result/success', 'demo/page/result/success/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108191356477442', '1438108188034588674', '失败页', '/page-demo/result/fail', 'demo/page/result/fail/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:26', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108192623157249', '1438108188378521602', '个人中心', '/page-demo/account/center', 'demo/page/account/center/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:27', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108193701093378', '1438108188378521602', '个人设置', '/page-demo/account/setting', 'demo/page/account/setting/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:27', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108194992939010', '1438108188542099458', '403', '/page-demo/exception/403', 'sys/exception/NotAccessException', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:27', 'admin', '2021-09-18 18:02:47', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108195307511809', '1438108188542099458', '404', '/page-demo/exception/404', 'sys/exception/Exception', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:27', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108195487866881', '1438108188542099458', '500', '/page-demo/exception/500', 'sys/exception/ServerErrorException', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:27', 'admin', '2021-09-18 18:04:34', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108195638861825', '1438108188542099458', '网络错误', '/page-demo/exception/net-work-error', 'sys/exception/NetworkErrorException', 1, NULL, NULL, 1, NULL, '1', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:27', 'admin', '2021-09-18 18:05:05', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108195924074497', '1438108188542099458', '无数据', '/page-demo/exception/not-data', 'sys/exception/NotDataErrorException', 1, NULL, NULL, 1, NULL, '1', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:27', 'admin', '2021-09-18 18:05:40', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108196263813121', '1438108188714065922', '标准列表', '/page-demo/list/basic', 'demo/page/list/basic/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:27', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108196528054273', '1438108188714065922', '卡片列表', '/page-demo/list/card', 'demo/page/list/card/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:27', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108196855209985', '1438108188714065922', '搜索列表', '/page-demo/list/search', 'demo/page/list/search/index', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108196993622018', '', '组件示例', '/comp', 'layouts/default/index', 1, NULL, '/comp/basic', 0, NULL, '1', 11.00, 0, 'ion:layers-outline', 0, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2025-06-25 14:22:30', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197270446081', '1438108197958311537', '自定义组件示例', '/comp/jeecg/basic', 'demo/jeecg/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197790539778', '1438108197958315557', 'Button组件', '/comp/basic/button', 'demo/comp/button/index', 1, NULL, NULL, 1, NULL, '1', 8.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 09:31:48', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197958311537', '1438108196993622018', 'Jeecg组件示例', '/comp/jeecg', 'layouts/default/index', 1, NULL, '/comp/jeecg/basic', 1, NULL, '1', 1.00, 0, 'ant-design:sketch-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:49:57', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197958311637', '1438108196993622018', '弹框抽屉', '/comp/modal', 'layouts/default/index', 1, NULL, '/comp/modal/basic', 1, NULL, '1', 6.00, 0, 'ant-design:laptop-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:53:10', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197958311677', '1438108196993622018', '第三方组件', '/comp/third', 'layouts/default/index', 1, NULL, '/comp/third/basic', 1, NULL, '1', 7.00, 0, 'ant-design:slack-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:53:31', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197958311937', '1438108196993622018', 'Form示例', '/comp/form', 'layouts/default/index', 1, NULL, '/comp/form/basic', 1, NULL, '1', 2.00, 0, 'ant-design:pic-left-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:50:39', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108197958315557', '1438108196993622018', '基础组件', '/comp/basic', 'layouts/default/index', 1, NULL, '/comp/basic', 1, NULL, '1', 1.00, 0, 'ant-design:insert-row-left-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:50:27', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108198113501186', '1438108196993622018', 'Table示例', '/comp/table', 'layouts/default/index', 1, NULL, '/comp/table/basic', 1, NULL, '1', 3.00, 0, 'ant-design:table-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:50:51', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108198339993602', '1438108197958311677', '动画组件', '/comp/third/transition', 'demo/comp/transition/index', 1, NULL, NULL, 1, NULL, '1', 9.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108198679732226', '1438108197958311537', '一对多示例', '/comp/jeecg/oneToMore', 'demo/vextable/index', 1, NULL, NULL, 1, NULL, '1', 6.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108198855892993', '1438108197958311677', '图片裁剪', '/comp/third/basic', 'demo/comp/cropper/index', 1, NULL, NULL, 1, NULL, '1', 7.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108199120134145', '1438108197958311677', '相对时间', '/comp/third/timestamp', 'demo/comp/time/index', 1, NULL, NULL, 1, NULL, '1', 8.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108199304683521', '1438108197958311677', '数字动画', '/comp/third/countTo', 'demo/comp/count-to/index', 1, NULL, NULL, 1, NULL, '1', 9.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108199413735425', '1438108196993622018', 'Tree示例', '/comp/tree', 'layouts/default/index', 1, NULL, '/comp/tree/basic', 1, NULL, '1', 4.00, 0, 'ant-design:partition-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:54:17', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108199539564546', '1438108196993622018', '编辑器', '/comp/editor', 'layouts/default/index', 1, NULL, '/comp/editor/markdown', 1, NULL, '1', 5.00, 0, 'ant-design:credit-card-twotone', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:52:47', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108199631839234', '1438108196993622018', '滚动组件', '/comp/scroll', 'layouts/default/index', 1, NULL, '/comp/scroll/basic', 1, NULL, '1', 11.00, 0, 'ant-design:column-height-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:53:43', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108200076435458', '1438108197958311637', '弹窗扩展', '/comp/modal/basic', 'demo/comp/modal/index', 1, NULL, NULL, 1, NULL, '1', 12.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108200391008257', '1438108197958311637', '抽屉扩展', '/comp/modal/drawer', 'demo/comp/drawer/index', 1, NULL, NULL, 1, NULL, '1', 13.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108200672026626', '1438108197958315557', '详情组件', '/comp/desc', 'demo/comp/desc/index', 1, NULL, NULL, 1, NULL, '1', 14.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108200802050050', '1438108196993622018', '懒加载组件', '/comp/lazy', 'layouts/default/index', 1, NULL, '/comp/lazy/basic', 1, NULL, '1', 15.00, 0, 'ant-design:small-dash-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:28', 'admin', '2021-09-17 15:53:59', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108200919490562', '1438108196993622018', '验证组件', '/comp/verify', 'layouts/default/index', 1, NULL, '/comp/verify/drag', 1, NULL, '1', 16.00, 0, 'ant-design:field-binary-outlined', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', 'admin', '2021-09-17 15:54:36', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108201150177281', '1438108197958311677', '二维码组件', '/comp/third/qrcode', 'demo/comp/qrcode/index', 1, NULL, NULL, 1, NULL, '1', 17.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108201502498817', '1438108197958311677', '密码强度组件', '/comp/third/strength-meter', 'demo/comp/strength-meter/index', 1, NULL, NULL, 1, NULL, '1', 18.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108202060341249', '1438108197958311677', 'Loading', '/comp/third/loading', 'demo/comp/loading/index', 1, NULL, NULL, 1, NULL, '1', 20.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108202366525441', '1438108197958311937', '基础表单', '/comp/form/basic', 'demo/form/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108203649982466', '1438108197958311937', 'useForm', '/comp/form/useForm', 'demo/form/UseForm', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108203817754625', '1438108197958311937', 'RefForm', '/comp/form/refForm', 'demo/form/RefForm', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108204023275521', '1438108197958311937', '可收缩表单', '/comp/form/advancedForm', 'demo/form/AdvancedForm', 1, NULL, NULL, 1, NULL, '1', 3.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108204232990721', '1438108197958311937', '表单验证', '/comp/form/ruleForm', 'demo/form/RuleForm', 1, NULL, NULL, 1, NULL, '1', 4.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108204400762881', '1438108197958311937', '动态表单', '/comp/form/dynamicForm', 'demo/form/DynamicForm', 1, NULL, NULL, 1, NULL, '1', 5.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108204576923649', '1438108197958311937', '自定义组件', '/comp/form/customerForm', 'demo/form/CustomerForm', 1, NULL, NULL, 1, NULL, '1', 6.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108204732112898', '1438108197958311937', '表单增删示例', '/comp/form/appendForm', 'demo/form/AppendForm', 1, NULL, NULL, 1, NULL, '1', 7.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108205004742657', '1438108198113501186', '基础表格', '/comp/table/basic', 'demo/table/Basic', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:29', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108205180903426', '1438108198113501186', '树形表格', '/comp/table/treeTable', 'demo/table/TreeTable', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108205357064193', '1438108198113501186', '远程加载示例', '/comp/table/fetchTable', 'demo/table/FetchTable', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108205587750914', '1438108198113501186', '固定列', '/comp/table/fixedColumn', 'demo/table/FixedColumn', 1, NULL, NULL, 1, NULL, '1', 3.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108205742940161', '1438108198113501186', '自定义列', '/comp/table/customerCell', 'demo/table/CustomerCell', 1, NULL, NULL, 1, NULL, '1', 4.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108205919100930', '1438108198113501186', '开启搜索区域', '/comp/table/formTable', 'demo/table/FormTable', 1, NULL, NULL, 1, NULL, '1', 5.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108206086873089', '1438108198113501186', 'UseTable', '/comp/table/useTable', 'demo/table/UseTable', 1, NULL, NULL, 1, NULL, '1', 6.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108206258839553', '1438108198113501186', 'RefTable', '/comp/table/refTable', 'demo/table/RefTable', 1, NULL, NULL, 1, NULL, '1', 7.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108206489526274', '1438108198113501186', '多级表头', '/comp/table/multipleHeader', 'demo/table/MultipleHeader', 1, NULL, NULL, 1, NULL, '1', 8.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108206661492738', '1438108198113501186', '合并单元格', '/comp/table/mergeHeader', 'demo/table/MergeHeader', 1, NULL, NULL, 1, NULL, '1', 9.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108206959288321', '1438108198113501186', '嵌套子表格', '/comp/table/nestedTable', 'demo/table/NestedTable', 1, NULL, NULL, 1, NULL, '1', 10.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108207160614913', '1438108198113501186', '可展开表格', '/comp/table/expandTable', 'demo/table/ExpandTable', 1, NULL, NULL, 1, NULL, '1', 11.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108207374524418', '1438108198113501186', '定高/头部自定义', '/comp/table/fixedHeight', 'demo/table/FixedHeight', 1, NULL, NULL, 1, NULL, '1', 12.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108207563268097', '1438108198113501186', '表尾行合计', '/comp/table/footerTable', 'demo/table/FooterTable', 1, NULL, NULL, 1, NULL, '1', 13.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108207793954818', '1438108198113501186', '可编辑单元格', '/comp/table/editCellTable', 'demo/table/EditCellTable', 1, NULL, NULL, 1, NULL, '1', 14.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108208024641538', '1438108198113501186', '可编辑行', '/comp/table/editRowTable', 'demo/table/EditRowTable', 1, NULL, NULL, 1, NULL, '1', 15.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108208297271297', '1438108198113501186', '权限列', '/comp/table/authColumn', 'demo/table/AuthColumn', 1, NULL, NULL, 1, NULL, '1', 16.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108208817364993', '1438108199413735425', '基础树', '/comp/tree/basic', 'demo/tree/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108208980942850', '1438108199413735425', '可搜索/工具栏', '/comp/tree/editTree', 'demo/tree/EditTree', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108209228406785', '1438108199413735425', '函数操作示例', '/comp/tree/actionTree', 'demo/tree/ActionTree', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108210117599234', '1438108199539564546', 'Json编辑器', '/comp/editor/json', 'demo/editor/json/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:31', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108210260205570', '1438108199539564546', 'markdown编辑器', '/comp/editor/markdown', NULL, 1, NULL, '/comp/editor/markdown/index', 1, NULL, '1', 1.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:31', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108211325558785', '1438108210260205570', '基础使用', '/comp/editor/markdown/index', 'demo/editor/markdown/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:31', 'admin', '2021-09-16 14:40:59', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108211661103106', '1438108210260205570', '嵌入form', '/comp/editor/markdown/editor', 'demo/editor/markdown/Editor', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:31', 'admin', '2021-09-16 14:41:04', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108211778543618', '1438108199539564546', '富文本', '/comp/editor/tinymce', NULL, 1, NULL, '/comp/editor/tinymce/index', 1, NULL, '1', 2.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:31', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108214882328577', '1438108211778543618', '基础使用', '/comp/editor/tinymce/index', 'demo/editor/tinymce/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108215335313409', '1438108211778543618', '嵌入form', '/comp/editor/tinymce/editor', 'demo/editor/tinymce/Editor', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108215511474177', '1438108199631839234', '基础滚动', '/comp/scroll/basic', 'demo/comp/scroll/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108215687634945', '1438108199631839234', '滚动函数', '/comp/scroll/action', 'demo/comp/scroll/Action', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108215989624834', '1438108199631839234', '虚拟滚动', '/comp/scroll/virtualScroll', 'demo/comp/scroll/VirtualScroll', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108216300003330', '1438108200802050050', '基础示例', '/comp/lazy/basic', 'demo/comp/lazy/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108216597798914', '1438108200802050050', '动画效果', '/comp/lazy/transition', 'demo/comp/lazy/Transition', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108216971091969', '1438108200919490562', '拖拽校验', '/comp/verify/drag', 'demo/comp/verify/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108217449242626', '1438108200919490562', '图片还原', '/comp/verify/rotate', 'demo/comp/verify/Rotate', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108217562488834', '1438108187455774722', '图表', '/charts', 'layouts/default/index', 1, NULL, '/charts/echarts/map', 0, NULL, '1', 7.00, 0, 'ion:bar-chart-outline', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:32', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108217860284417', '1438108217562488834', '百度地图', '/charts/baiduMap', 'demo/charts/map/Baidu', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108218049028097', '1438108217562488834', '高德地图', '/charts/aMap', 'demo/charts/map/Gaode', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108218409738242', '1438108217562488834', 'Echarts', '/charts/echarts', NULL, 1, NULL, '/charts/echarts/map', 1, NULL, '1', 3.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108218787225601', '1438108218409738242', '地图', '/charts/echarts/map', 'demo/charts/Map', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108219034689538', '1438108218409738242', '折线图', '/charts/echarts/line', 'demo/charts/Line', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108219240210434', '1438108218409738242', '饼图', '/charts/echarts/pie', 'demo/charts/Pie', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108219445731330', '1438108187455774722', '外部页面', '/frame', 'layouts/default/index', 1, NULL, '/frame/doc', 0, NULL, '1', 8.00, 0, 'ion:tv-outline', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108219592531970', '1438108219445731330', '项目文档(内嵌)', '/frame/doc', 'http://vue3.jeecg.com', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2021-11-15 17:59:32', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108219793858561', '1438108219445731330', 'antVue文档(内嵌)', '/frame/antv', 'https://2x.antdv.com/docs/vue/introduce-cn', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2021-11-11 17:11:10', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108220137791489', '1438108219445731330', '项目文档(外链)', '/', 'http://vue3.jeecg.com/', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2021-10-25 13:46:59', 0, 0, '1', 1); +INSERT INTO `sys_permission` VALUES ('1438108220418809857', '1438108187455774722', '多级菜单', '/level', 'layouts/default/index', 1, NULL, '/level/menu1/menu1-1/menu1-1-1', 0, NULL, '1', 9.00, 0, 'ion:menu-outline', 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108220523667458', '1438108220418809857', 'Menu1', '/level/menu1', NULL, 1, NULL, '/level/menu1/menu1-1/menu1-1-1', 1, NULL, '1', 0.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108220724994049', '1438108220418809857', 'Menu2', '/level/menu2', 'demo/level/Menu2', 1, 'Menu2Demo', NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2022-09-20 15:24:13', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108220896960513', '1438108220523667458', 'Menu1-1', '/level/menu1/menu1-1', NULL, 1, NULL, '/level/menu1/menu1-1/menu1-1-1', 1, NULL, '1', 0.00, 0, NULL, 0, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:33', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108221127647234', '1438108220896960513', 'Menu1-1-1', '/level/menu1/menu1-1/menu1-1-1', 'demo/level/Menu111', 1, 'Menu111Demo', NULL, 1, NULL, '1', 0.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2022-09-20 15:24:03', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108221270253570', '1438108220523667458', 'Menu1-2', '/level/menu1/menu1-2', 'demo/level/Menu12', 1, 'Menu12Demo', NULL, 1, NULL, '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2022-09-20 15:24:08', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108221551271937', '1438108196993622018', 'Mock示例', '/system', 'layouts/default/index', 1, NULL, '/system/account', 1, NULL, '1', 10.00, 0, 'ion:settings-outline', 0, 0, 0, 0, NULL, 'admin', '2021-09-15 19:51:33', 'admin', '2025-06-25 14:22:54', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108221849067522', '1438108221551271937', '测试功能', '/system/test', 'demo/system/test/index', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, 'ant-design:bulb-outlined', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', 'admin', '2021-09-17 15:55:36', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108222218166273', '1438108221551271937', '账号管理', '/system/account', 'demo/system/account/index', 1, NULL, NULL, 1, NULL, '1', 1.00, 0, 'ant-design:user-outlined', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', 'admin', '2021-09-17 15:55:46', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108222721482753', '1438108221551271937', '账号详情', '/system/account_detail/:id', 'demo/system/account/AccountDetail', 1, NULL, NULL, 1, NULL, '1', 2.00, 0, 'ant-design:idcard-twotone', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', 'admin', '2021-09-17 15:56:12', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108223489040385', '1438108221551271937', '部门管理', '/system/dept', 'demo/system/dept/index', 1, NULL, NULL, 1, NULL, '1', 5.00, 0, 'ant-design:usergroup-add-outlined', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', 'admin', '2021-09-17 15:56:34', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108223661006850', '1438108221551271937', '修改密码', '/system/changePassword', 'demo/system/password/index', 1, NULL, NULL, 1, NULL, '1', 6.00, 0, 'ant-design:field-number-outlined', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', 'admin', '2021-09-17 15:56:46', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108225263230978', '1438108178010202113', '引导页', '/setup/index', 'demo/setup/index', 1, NULL, NULL, 1, NULL, '1', 12.00, 0, 'whh:paintroll', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', 'admin', '2021-09-17 09:02:19', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438108225451974658', '', '关于', '/about/index', 'sys/about/index', 1, NULL, NULL, 0, NULL, '1', 13.00, 0, 'simple-icons:about-dot-me', 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 19:51:34', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438115924159881218', '1438108183395688450', 'Tab带参1', '/testTab/id1', 'demo/feat/tab-params/index', 1, NULL, NULL, 1, NULL, '0', 0.00, 0, NULL, 1, 0, 0, NULL, NULL, 'admin', '2021-09-15 20:22:10', 'admin', '2021-09-16 14:38:32', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1438116003012796418', '1438108183395688450', 'Tab带参2', '/feat/testTab/id2', 'demo/feat/tab-params/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-15 20:22:29', 'admin', '2023-08-25 13:32:42', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1438469604861403137', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '职务级别', '/system/position', 'system/position/index', 1, NULL, NULL, 1, NULL, '0', 5.00, 0, 'ant-design:database-filled', 1, 0, 0, NULL, NULL, 'admin', '2021-09-16 19:47:33', 'admin', '2021-09-17 15:58:22', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1438782530717495298', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '分类字典', '/system/category', 'system/category/index', 1, NULL, NULL, 1, NULL, '0', 9.00, 0, 'ant-design:group-outlined', 1, 0, 0, NULL, NULL, 'admin', '2021-09-17 16:31:01', NULL, NULL, 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1438782641187074050', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '数据字典', '/system/dict', 'system/dict/index', 1, NULL, NULL, 1, NULL, '0', 4.00, 0, 'ant-design:hdd-twotone', 0, 0, 0, 0, NULL, 'admin', '2021-09-17 16:31:27', 'admin', '2023-03-04 15:01:55', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1438782851980210178', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '通知公告', '/system/notice', 'system/notice/index', 1, NULL, NULL, 1, NULL, '0', 8.00, 0, 'ant-design:bell-outlined', 1, 0, 0, NULL, NULL, 'admin', '2021-09-17 16:32:17', 'admin', '2021-09-17 16:36:15', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1438783058792951810', '1438108197958311537', '单表示例', '/system/examples/demo', 'system/examples/demo/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-17 16:33:07', 'admin', '2021-12-08 14:10:47', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1439398677984878593', '', '系统监控', '/monitor', 'layouts/RouteView', 1, NULL, NULL, 0, NULL, '0', 5.00, 0, 'ant-design:video-camera-filled', 0, 0, 0, 0, NULL, 'admin', '2021-09-19 09:19:22', 'admin', '2022-10-14 16:21:08', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1439399179791409153', '1439398677984878593', '网关路由', '/monitor/route', 'monitor/route/index', 1, NULL, NULL, 1, NULL, '0', 0.00, 0, 'ant-design:branches-outlined', 0, 0, 0, 0, NULL, 'admin', '2021-09-19 09:21:21', 'admin', '2025-07-31 11:32:32', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1439488251473993730', '1439398677984878593', '定时任务', '/monitor/quartz', 'monitor/quartz/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, 'ant-design:history-outlined', 0, 0, 0, 0, NULL, 'admin', '2021-09-19 15:15:18', NULL, NULL, 0, 0, NULL, 0); @@ -7266,20 +7780,38 @@ INSERT INTO `sys_permission` VALUES ('1439784356766064642', '1439398677984878593 INSERT INTO `sys_permission` VALUES ('1439797053314342913', '1439398677984878593', '性能监控', '/monitor/server', 'monitor/server/index', 1, NULL, NULL, 1, NULL, '0', 9.00, 0, 'ant-design:thunderbolt-filled', 1, 0, 0, 0, NULL, 'admin', '2021-09-20 11:42:22', 'admin', '2021-09-20 14:13:14', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1439839507094740994', '1439398677984878593', 'Redis监控', '/monitor/redis', 'monitor/redis/index', 1, NULL, NULL, 1, NULL, '0', 10.00, 0, 'ant-design:trademark-outlined', 1, 0, 0, 0, NULL, 'admin', '2021-09-20 14:31:04', NULL, NULL, 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1439842640030113793', '1439398677984878593', '请求追踪', '/monitor/trace', 'monitor/trace/index', 1, NULL, NULL, 1, NULL, '0', 11.00, 0, 'ant-design:ie-circle-filled', 1, 0, 0, 0, NULL, 'admin', '2021-09-20 14:43:31', NULL, NULL, 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1441340399835742209', '1438108197958311537', '打印示例', '/jeecg/PrintDemo', 'demo/jeecg/PrintDemo', 1, NULL, NULL, 1, NULL, '0', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-24 17:55:05', 'admin', '2021-09-24 17:55:20', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1441357157443371009', '1438108197958311537', '表格合计', '/jeecg/tableTotal', 'demo/jeecg/TableTotal', 1, NULL, NULL, 1, NULL, '0', 8.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-24 19:01:40', NULL, NULL, 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1441361249200832513', '1438108197958311537', '异步树表格', '/jeecg/AsyncTreeTable', 'demo/jeecg/AsyncTreeTable', 1, NULL, NULL, 1, NULL, '0', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-24 19:17:56', 'admin', '2021-09-26 16:05:55', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1442055284830769154', '1438108197958311537', '对象存储', '/system/ossfile', 'system/ossfile/index', 1, NULL, NULL, 1, NULL, '0', 11.00, 0, 'ant-design:file-add-outlined', 0, 0, 0, 0, NULL, 'jeecg', '2021-09-26 17:15:47', 'admin', '2022-10-14 16:23:35', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1443390062919208961', '', '消息中心', '/message', 'layouts/default/index', 1, NULL, '/message/manage', 0, NULL, '0', 7.00, 0, 'ant-design:message-outlined', 0, 0, 0, 0, NULL, 'admin', '2021-09-30 09:39:43', 'admin', '2025-07-31 11:32:02', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1443391584864358402', '1443390062919208961', '消息模板', '/message/template', 'system/message/template/index', 1, NULL, NULL, 1, NULL, '0', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-09-30 09:45:45', 'admin', '2022-09-22 10:32:42', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1446778415130722306', '1438108219445731330', 'JEECG官网', '/', 'http://www.jeecg.com', 0, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2021-10-09 18:03:49', 'admin', '2021-11-15 18:01:26', 0, 0, NULL, 1); +INSERT INTO `sys_permission` VALUES ('1447535997560909826', '1438108197270446081', '禁用', NULL, NULL, 0, NULL, NULL, 2, 'demo.dbarray', '2', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-10-11 20:14:10', 'admin', '2021-10-11 20:18:48', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1447763172274495489', '', '统计报表', '/report', 'layouts/RouteView', 1, NULL, NULL, 0, NULL, '0', 10.00, 0, 'ant-design:bar-chart-outlined', 0, 0, 0, 0, NULL, 'jeecg', '2021-10-12 11:16:53', 'admin', '2025-06-25 14:24:19', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1447763517847396354', '1447763172274495489', 'EChartDemo', '/report/chartDemo', 'report/chartdemo/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2021-10-12 11:18:15', 'jeecg', '2021-10-14 14:36:38', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1448252726202859522', '1447763172274495489', '布局统计报表', '/statisticst', 'report/statisticst/index', 1, NULL, NULL, 1, NULL, '0', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2021-10-13 19:42:12', NULL, NULL, 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1450308897429536769', '1438108197958311537', 'JVxeTable示例', '/jeecg/j-vxe-table-demo', 'demo/jeecg/JVxeTableDemo/index', 1, NULL, NULL, 1, NULL, '0', 10.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2021-10-19 11:52:41', 'admin', '2021-10-19 11:54:46', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1452508868884353026', '1866001513609637890', '报表设计器', '/jmreport', '{{ window._CONFIG[\'domianURL\'] }}/jmreport/list?token=${token}', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, '', 1, 0, 0, 0, NULL, 'admin', '2021-10-25 13:34:35', 'admin', '2025-05-22 10:53:59', 0, 0, '1', 1); -INSERT INTO `sys_permission` VALUES ('1455100420297859074', '', '零代码开发', '/online', 'layouts/default/index', 1, NULL, '/online/cgform', 0, NULL, '0', 3.00, 0, 'ant-design:cloud-outlined', 0, 0, 0, 0, NULL, 'admin', '2021-11-01 17:12:29', 'admin', '2025-12-04 14:25:30', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1455101470794850305', '1455100420297859074', '在线表单', '/online/cgform', 'super/online/cgform/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2021-11-01 17:16:40', 'admin', '2025-12-04 14:25:16', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1453250018282573826', '1438108197958311537', '一对多内嵌', '/innerTable', 'demo/jeecg/InnerExpandTable', 1, NULL, NULL, 1, NULL, '0', 12.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-10-27 14:39:39', 'admin', '2021-10-27 14:40:29', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1454031324835807233', '1450308897429536769', '综合示例', '/jeecg/j-vxe-table-demo/normal', 'demo/jeecg/JVxeTableDemo/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-10-29 18:24:17', 'admin', '2021-10-29 18:25:28', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1454031820661260289', '1450308897429536769', '即时保存', '/jeecg/j-vxe-table-demo/jsbc', 'demo/jeecg/JVxeTableDemo/func-demo/JSBCDemo', 1, NULL, NULL, 1, NULL, '0', 2.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-10-29 18:26:15', NULL, NULL, 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1454034512171302914', '1450308897429536769', '无痕刷新', '/jeecg/j-vxe-table-demo/whsx', 'demo/jeecg/JVxeTableDemo/func-demo/SocketReload', 1, NULL, NULL, 1, NULL, '0', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-10-29 18:36:57', NULL, NULL, 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1455019819440021505', '1450308897429536769', '弹出子表', '/jeecg/j-vxe-table-demo/tczb', 'demo/jeecg/JVxeTableDemo/func-demo/PopupSubTable', 1, NULL, NULL, 1, NULL, '0', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-11-01 11:52:13', 'admin', '2021-11-01 11:52:19', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1455067599277662209', '1450308897429536769', '布局模板', '/jeecg/j-vxe-table-demo/layout', 'demo/jeecg/JVxeTableDemo/layout-demo/index', 1, NULL, NULL, 1, NULL, '0', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-11-01 15:02:04', NULL, NULL, 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1455100420297859074', '', '低代码开发', '/online', 'layouts/default/index', 1, NULL, '/online/cgform', 0, NULL, '0', 2.00, 0, 'ant-design:cloud-outlined', 0, 0, 0, 0, NULL, 'admin', '2021-11-01 17:12:29', 'admin', '2025-11-25 16:20:16', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1455101470794850305', '1455100420297859074', 'Online表单开发', '/online/cgform', 'super/online/cgform/index', 1, NULL, NULL, 1, NULL, '0', 1.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2021-11-01 17:16:40', 'admin', '2022-04-04 18:36:25', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1455735714507472898', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '通讯录', '/address', 'system/address/index', 1, NULL, NULL, 1, NULL, '0', 20.00, 0, 'ant-design:book-outlined', 1, 0, 0, 0, NULL, 'admin', '2021-11-03 11:16:55', 'admin', '2023-10-18 13:54:58', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1457678003102879745', '1455100420297859074', '系统编码规则', '/system/fillrule', 'system/fillRule/index', 1, NULL, NULL, 1, NULL, '0', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-11-08 19:54:53', 'jeecg', '2024-06-13 11:36:43', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1458353686530232321', '1455100420297859074', '系统校验规则', '/system/checkrule', 'system/checkRule/index', 1, NULL, NULL, 1, NULL, '0', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2021-11-10 16:39:48', 'jeecg', '2024-06-13 11:36:37', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1460888189937176577', '1455100420297859074', '在线报表', '/online/cgreport', 'super/online/cgreport/index', 1, NULL, NULL, 1, NULL, '0', 2.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2021-11-17 16:31:01', 'admin', '2025-12-04 14:25:21', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1458389305235984385', '1438108197958311537', '一对多ERP', '/erplist', 'demo/jeecg/erplist/index', 1, NULL, NULL, 1, NULL, '0', 11.00, 0, '', 1, 0, 0, 0, NULL, 'admin', '2021-11-10 19:01:21', 'admin', '2021-11-30 14:06:53', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1460888189937176577', '1455100420297859074', 'Online报表配置', '/online/cgreport', 'super/online/cgreport/index', 1, NULL, NULL, 1, NULL, '0', 2.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2021-11-17 16:31:01', 'admin', '2021-12-08 10:55:32', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1461270075543347202', '1455100420297859074', 'Online表单视图', '/online/copyform/:code', 'super/online/cgform/CgformCopyList', 1, NULL, NULL, 1, NULL, '0', 99.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2021-11-18 17:48:30', NULL, NULL, 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1461291438825558017', '1455100420297859074', 'AUTO在线报表', '/online/cgreport/:id', 'super/online/cgreport/auto/OnlCgReportList', 1, NULL, NULL, 1, NULL, '0', 21.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2021-11-18 19:13:23', 'jeecg', '2024-06-13 11:36:13', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1465686870713782273', '1455100420297859074', 'AUTO在线表单', '/online/cgformList/:id', 'super/online/cgform/auto/default/OnlineAutoList', 1, NULL, NULL, 1, NULL, '0', 25.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2021-11-30 22:19:16', 'jeecg', '2024-06-13 11:37:14', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1473927410093187073', '1866001513609637890', '大屏设计器', '/report/drag', '{{ window._CONFIG[\'domianURL\'] }}/drag/list?token=${token}&tenantId=${tenantId}', 0, NULL, NULL, 1, NULL, '0', 2.00, 0, '', 0, 0, 0, 0, NULL, 'admin', '2021-12-23 16:04:13', 'admin', '2025-12-04 14:24:02', 0, 0, NULL, 1); +INSERT INTO `sys_permission` VALUES ('1473927410093187073', '1866001513609637890', '大屏和仪表盘', '/report/drag', '{{ window._CONFIG[\'domianURL\'] }}/drag/list?token=${token}&tenantId=${tenantId}', 0, NULL, NULL, 1, NULL, '0', 2.00, 0, '', 0, 0, 0, 0, NULL, 'admin', '2021-12-23 16:04:13', 'admin', '2025-05-22 10:53:53', 0, 0, NULL, 1); INSERT INTO `sys_permission` VALUES ('1509417558230999041', '1455100420297859074', 'AUTO树表单列表', '/online/cgformTreeList/:id', 'super/online/cgform/auto/tree/OnlineAutoTreeList', 1, NULL, NULL, 1, NULL, '0', 25.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2022-03-31 14:29:24', 'jeecg', '2024-06-13 11:37:18', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1534418199197323265', '1438108197958311537', '单表原生示例', '/one/OneNativeList', 'demo/jeecg/Native/one/OneNativeList', 1, NULL, NULL, 1, NULL, '0', 13.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-06-08 14:13:01', 'admin', '2022-06-08 14:13:12', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1534500282601893890', '1455101470794850305', '代码生成', NULL, NULL, 0, NULL, NULL, 2, 'online:form:generateCode', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-06-08 19:39:11', 'admin', '2022-06-30 13:39:19', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1535225446864011265', '1460888189937176577', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'online:report:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-06-10 19:40:44', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1535226870641475586', '1455101470794850305', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'online:form:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-06-10 19:46:23', NULL, NULL, 0, 0, '1', 0); @@ -7295,7 +7827,14 @@ INSERT INTO `sys_permission` VALUES ('1542383907281563650', '1455101470794850305 INSERT INTO `sys_permission` VALUES ('1542385335362383873', '1473927410093187073', '删除仪表盘', NULL, NULL, 0, NULL, NULL, 2, 'onl:drag:page:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-06-30 13:51:35', 'admin', '2022-06-30 13:51:42', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1546736974756032513', '1455101470794850305', '选择代码生成路径', NULL, NULL, 0, NULL, NULL, 2, 'online:codeGenerate:projectPath', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-07-12 14:03:26', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1554384900763729922', '1473927410093187073', '模板设置', NULL, NULL, 0, NULL, NULL, 2, 'drag:template:edit', '2', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2022-08-02 16:33:34', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1580833876002627585', '1447763172274495489', 'Online报表例子', '/online/cgreport/1256627801873821698', '1', 0, '', NULL, 1, NULL, '0', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-10-14 16:12:21', 'admin', '2022-10-14 16:21:55', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1580834045490257922', '1447763172274495489', 'Online表单例子', '/online/cgformList/d35109c3632c4952a19ecc094943dd71', '1', 0, '', NULL, 1, NULL, '0', 4.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-10-14 16:13:02', 'jeecg', '2024-06-13 11:39:36', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1580835899477483522', '1447763172274495489', '积木报表例子', '/jmreport/view/961455b47c0b86dc961e90b5893bff05', '{{ window._CONFIG[\'domianURL\'] }}/jmreport/view/961455b47c0b86dc961e90b5893bff05?token=${token}', 1, '', NULL, 1, NULL, '0', 5.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-10-14 16:20:24', 'admin', '2022-10-14 16:20:51', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1580877743141933058', '1447763172274495489', '生产销售监控大屏', '/test/bigScreen/templat/index1', '{{ window._CONFIG[\'domianURL\'] }}/test/bigScreen/templat/index1', 1, '', NULL, 1, NULL, '0', 6.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-10-14 19:06:40', 'admin', '2023-09-20 21:15:55', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1580877931331964929', '1447763172274495489', '智慧物流监控大屏', '/test/bigScreen/templat/index2', '{{ window._CONFIG[\'domianURL\'] }}/test/bigScreen/templat/index2', 1, '', NULL, 1, NULL, '0', 7.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-10-14 19:07:25', 'admin', '2023-09-20 21:16:03', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1580878668472504321', '1447763172274495489', '积木大屏案例', '/test/jmbigscreen2', 'https://cloud.jimureport.com/bigscreen/#/view/bs_1394991793166094338', 1, '', NULL, 1, NULL, '0', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-10-14 19:10:21', 'admin', '2022-10-28 10:18:19', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1588513553652436993', '3f915b2769fc80648e92d04e84ca059d', '修改密码', NULL, NULL, 0, NULL, NULL, 2, 'system:user:changepwd', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-04 20:48:39', 'admin', '2022-11-04 20:49:06', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1590154870697734146', '1447763172274495489', '带参数报表', '/online/cgreport/1590154651759259649?sex=1', 'layouts/RouteView', 0, '1', NULL, 1, NULL, '0', 11.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-09 09:30:39', 'jeecg', '2024-06-21 15:03:29', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1592102143467200514', '1597419994965786625', '给指定角色添加用户', NULL, NULL, 0, NULL, NULL, 2, 'system:user:addUserRole', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-14 19:18:49', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1592112984361365505', '1170592628746878978', '添加菜单', NULL, NULL, 0, NULL, NULL, 2, 'system:permission:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-14 19:11:30', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1592113148350263298', '190c2b43bec6a5f7a4194a85db67d96a', '保存角色授权', NULL, NULL, 0, NULL, NULL, 2, 'system:permission:saveRole', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-14 19:12:09', NULL, NULL, 0, 0, '1', 0); @@ -7363,6 +7902,7 @@ INSERT INTO `sys_permission` VALUES ('1593161608362369026', '1439488251473993730 INSERT INTO `sys_permission` VALUES ('1593161657385394177', '1439488251473993730', '停止定时任务', NULL, NULL, 0, NULL, NULL, 2, 'system:quartzJob:pause', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-17 16:38:33', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1593161697348722689', '1439488251473993730', '启动定时任务', NULL, NULL, 0, NULL, NULL, 2, 'system:quartzJob:resume', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-17 16:38:43', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1593161743607701505', '1439488251473993730', '立即执行定时任务', NULL, NULL, 0, NULL, NULL, 2, 'system:quartzJob:execute', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-17 16:38:54', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1593173018886709250', '1442055284830769154', '文件oos上传', NULL, NULL, 0, NULL, NULL, 2, 'system:ossFile:upload', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-17 17:23:42', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1593185714482880514', '3f915b2769fc80648e92d04e84ca059d', '用户导出', NULL, NULL, 0, NULL, NULL, 2, 'system:user:export', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-17 18:14:09', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1594930803956920321', '1439398677984878593', '在线用户', '/system/onlineuser', 'system/onlineuser/OnlineUserList', 1, '', NULL, 1, NULL, '0', 12.00, 0, 'ant-design:aliwangwang-outlined', 1, 0, 0, 0, NULL, 'admin', '2022-11-22 13:48:31', 'admin', '2023-03-04 15:15:36', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1596141938193747970', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '用户设置', '/system/usersetting', 'system/usersetting/UserSetting', 1, '', NULL, 1, NULL, '0', 12.00, 0, 'ant-design:setting-twotone', 0, 0, 1, 0, NULL, 'admin', '2022-11-25 22:01:08', 'admin', '2023-03-04 15:00:26', 0, 0, NULL, 0); @@ -7391,14 +7931,14 @@ INSERT INTO `sys_permission` VALUES ('1613620712498288641', '1280350452934307841 INSERT INTO `sys_permission` VALUES ('1620261087828418562', '1280350452934307841', '获取租户删除的列表', NULL, NULL, 0, NULL, NULL, 2, 'system:tenant:recycleBinPageList', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-01-31 11:22:01', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1620305415648989186', '1280350452934307841', '彻底删除租户', NULL, NULL, 0, NULL, NULL, 2, 'system:tenant:deleteTenantLogic', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-01-31 14:18:10', 'admin', '2023-01-31 14:19:51', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1620327825894981634', '1280350452934307841', '租户还原', NULL, NULL, 0, NULL, NULL, 2, 'system:tenant:revertTenantLogic', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-01-31 15:47:13', NULL, NULL, 0, 0, '1', 0); -INSERT INTO `sys_permission` VALUES ('1620709334357532673', '1438108176273760258', 'JeecgAI官网', 'https://jeecg.com/aigcIndex', 'https://jeecg.com/aigcIndex', 0, '', NULL, 1, NULL, '0', 5.00, 0, 'ant-design:layout-filled', 1, 0, 0, 0, NULL, 'jeecg', '2023-02-01 17:03:11', 'admin', '2025-12-04 14:41:13', 0, 0, NULL, 1); +INSERT INTO `sys_permission` VALUES ('1620709334357532673', '1438108176273760258', '官网', 'https://jeecg.com', 'https://jeecg.com', 0, '', NULL, 1, NULL, '0', 5.00, 0, 'ant-design:layout-filled', 1, 0, 0, 0, NULL, 'jeecg', '2023-02-01 17:03:11', 'admin', '2025-09-13 18:54:44', 0, 0, NULL, 1); INSERT INTO `sys_permission` VALUES ('1621620772498288641', '1280350452934307841', '添加租户', NULL, NULL, 0, NULL, NULL, 2, 'system:tenant:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-01-11 15:08:29', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1629109281748291586', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '第三方配置', '/third/app', 'system/appconfig/ThirdAppConfigList', 1, '', NULL, 1, NULL, '0', 13.00, 0, 'ant-design:setting-outlined', 1, 0, 0, 0, NULL, 'admin', '2023-02-24 21:21:35', 'admin', '2023-02-24 21:51:05', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1660568280725127169', '1439533711676973057', '日志列表', NULL, NULL, 1, NULL, NULL, 2, 'system:log:list', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-22 16:48:25', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1660568368558047234', '1439533711676973057', '日志删除', NULL, NULL, 1, NULL, NULL, 2, 'system:log:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-22 16:48:46', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1660568426632380417', '1439533711676973057', '日志批量删除', NULL, NULL, 1, NULL, NULL, 2, 'system:log:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-22 16:48:59', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1668174661456171010', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '租户默认套餐', '/tenant/TenantDefaultPack', 'system/tenant/pack/TenantDefaultPackList', 1, '', NULL, 1, NULL, '0', 7.00, 0, 'ant-design:deployment-unit-outlined', 1, 0, 0, 0, NULL, 'admin', '2023-06-12 16:33:27', 'admin', '2025-07-30 17:34:03', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1674708136602542082', '', '我的租户', '/mytenant', 'layouts/RouteView', 1, '', NULL, 0, NULL, '0', 6.00, 0, 'ant-design:user-outlined', 0, 0, 0, 0, NULL, 'admin', '2023-06-30 17:15:09', 'admin', '2025-12-04 14:24:18', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1674708136602542082', '', '我的租户', '/mytenant', 'layouts/RouteView', 1, '', NULL, 0, NULL, '0', 4.20, 0, 'ant-design:user-outlined', 0, 0, 0, 0, NULL, 'admin', '2023-06-30 17:15:09', 'admin', '2024-06-17 15:42:29', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1691031996d593131521', '1455100420297859074', 'AUTO在线ERP表单', '/online/cgformErpList/:id', 'super/online/cgform/auto/erp/OnlCgformErpList', 1, '', NULL, 1, NULL, '0', 21.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'jeecg', '2024-06-13 11:37:04', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1691031996d5931315212', '1455100420297859074', 'AUTO在线一对多内嵌', '/online/cgformInnerTableList/:id', 'super/online/cgform/auto/innerTable/OnlCgformInnerTableList', 1, '', NULL, 1, NULL, '0', 21.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'jeecg', '2024-06-13 11:37:07', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1691031996d5931315213', '1455100420297859074', 'AUTO在线Tab风格', '/online/cgformTabList/:id', 'super/online/cgform/auto/tab/OnlCgformTabList', 1, '', NULL, 1, NULL, '0', 21.00, 0, NULL, 1, 0, 1, 0, NULL, 'admin', '2023-08-14 18:20:20', 'jeecg', '2024-06-13 11:37:11', 0, 0, NULL, 0); @@ -7421,6 +7961,7 @@ INSERT INTO `sys_permission` VALUES ('1701475606988812289', '1473927410093187073 INSERT INTO `sys_permission` VALUES ('1701575168519839746', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '白名单管理', '/system/tableWhiteList', 'system/tableWhiteList/SysTableWhiteListList', 1, '', NULL, 1, NULL, '0', 4.00, 0, 'ant-design:table-outlined', 0, 0, 0, 0, NULL, 'admin', '2023-09-12 20:35:09', 'jeecg', '2024-06-13 11:38:28', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1746709108126285826', '1455100420297859074', 'AUTO在线表单详情', '/online/cgformDetail/:id', 'super/online/cgform/auto/default/OnlineAutoDetail', 1, '', NULL, 1, NULL, '0', 21.00, 0, NULL, 1, 0, 1, 0, NULL, 'jeecg', '2024-01-15 09:41:18', 'jeecg', '2024-06-13 11:37:01', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1750128461040648193', '1170592628746878978', '设置默认首页', NULL, NULL, 0, NULL, NULL, 2, 'system:permission:setDefIndex', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-01-24 20:08:35', NULL, NULL, 0, NULL, '1', 0); +INSERT INTO `sys_permission` VALUES ('1783334031927627777', '1438108198113501186', '原生总结栏', '/comp/table/tableSummary', 'demo/table/AntdTableSummary', 1, '', NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-04-25 11:15:40', NULL, NULL, 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1800372628805861377', '1701575168519839746', '列表权限', NULL, NULL, 0, NULL, NULL, 2, 'system:tableWhite:list', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-06-11 11:40:59', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1800372727493640194', '1701575168519839746', '添加权限', NULL, NULL, 0, NULL, NULL, 2, 'system:tableWhite:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-06-11 11:41:22', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1800372811518132225', '1701575168519839746', '修改权限', NULL, NULL, 0, NULL, NULL, 2, 'system:tableWhite:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-06-11 11:41:42', NULL, NULL, 0, NULL, '1', 0); @@ -7428,23 +7969,24 @@ INSERT INTO `sys_permission` VALUES ('1800372906330374146', '1701575168519839746 INSERT INTO `sys_permission` VALUES ('1800373633509441537', '1701575168519839746', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'system:tableWhite:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-06-11 11:44:58', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1800373733220630530', '1701575168519839746', '通过id查询', NULL, NULL, 0, NULL, NULL, 2, 'system:tableWhite:queryById', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-06-11 11:45:22', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1801954937339428865', '1460888189937176577', '测试数据源连接', NULL, NULL, 0, NULL, NULL, 2, 'online:report:testConnection', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-06-15 20:28:30', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1804046424930480129', '1447763172274495489', '仪表盘集成示例', '/drag/view/964024982110830592', '{{ window._CONFIG[\'domianURL\'] }}/drag/view?pageId=910475721247866880&token=${token}&tenantId=${tenantId}', 1, '', NULL, 1, NULL, '0', 3.00, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2024-06-21 14:59:20', 'admin', '2025-08-08 22:32:01', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1808098125316870145', '3f915b2769fc80648e92d04e84ca059d', 'app端编辑用户', NULL, NULL, 0, NULL, NULL, 2, 'system:user:app:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-07-02 19:19:21', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1810652607946940417', '1438782641187074050', '批量彻底删除', NULL, NULL, 0, NULL, NULL, 2, 'system:dict:deleteRecycleBin', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-09 20:29:57', '15931993294', '2024-07-09 20:30:39', 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1810923799513612290', '1439399179791409153', '彻底删除', NULL, NULL, 0, NULL, NULL, 2, 'system:gateway:deleteRecycleBin', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-10 14:27:34', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1811685368354754561', '1439399179791409153', '复制路由', NULL, NULL, 0, NULL, NULL, 2, 'system:gateway:copyRoute', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-12 16:53:46', NULL, NULL, 0, NULL, '1', 0); INSERT INTO `sys_permission` VALUES ('1811685464467230721', '1439399179791409153', '还原逻辑删除', NULL, NULL, 0, NULL, NULL, 2, 'system:gateway:putRecycleBin', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, '15931993294', '2024-07-12 16:54:09', NULL, NULL, 0, NULL, '1', 0); -INSERT INTO `sys_permission` VALUES ('1866001513609637890', '', '数据可视化', '/dataVisual', 'layouts/default/index', 1, '', NULL, 0, NULL, '0', 4.00, 0, 'ant-design:sliders-outlined', 0, 0, 0, 0, NULL, 'admin', '2024-12-09 14:06:44', 'admin', '2025-12-04 14:21:57', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1866001513609637890', '', '数据可视化', '/dataVisual', 'layouts/default/index', 1, '', NULL, 0, NULL, '0', 3.00, 0, 'ant-design:sliders-outlined', 0, 0, 0, 0, NULL, 'admin', '2024-12-09 14:06:44', 'admin', '2025-04-02 20:18:40', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1876220177009315842', '1473927410093187073', '表单设计页面查询', NULL, NULL, 0, NULL, NULL, 2, 'drag:design:getTotalData', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-01-06 18:52:03', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1887447660072292354', '1280350452934307841', '初始化套餐包', NULL, NULL, 0, NULL, NULL, 2, 'system:tenant:syncDefaultPack', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2025-02-06 18:26:04', 'jeecg', '2025-02-06 18:26:53', 0, 0, '1', 0); -INSERT INTO `sys_permission` VALUES ('1890213291321749505', '1892553163993931777', 'AI流程设计', '/process/list/airag', 'super/airag/aiflow/pages/ProcessList', 1, '', NULL, 1, NULL, '0', 3.00, 0, 'ant-design:box-plot-outlined', 0, 0, 0, 0, NULL, 'admin', '2025-02-14 09:35:41', 'admin', '2025-03-06 20:31:08', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1892553163993931777', '', 'AI应用平台', '/airag', 'layouts/default/index', 1, '', NULL, 0, NULL, '0', 2.00, 0, 'ant-design:box-plot-outlined', 0, 0, 0, 0, NULL, 'admin', '2025-02-20 20:33:31', 'admin', '2025-12-04 14:21:46', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1890213291321749505', '1892553163993931777', 'AI流程设计', '/process/list/airag', 'super/airag/aiflow/pages/ProcessList', 1, '', NULL, 1, NULL, '0', 2.00, 0, 'ant-design:box-plot-outlined', 0, 0, 0, 0, NULL, 'admin', '2025-02-14 09:35:41', 'admin', '2026-01-23 16:52:44', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1892553163993931777', '', 'AI应用平台', '/airag', 'layouts/default/index', 1, '', NULL, 0, NULL, '0', 2.20, 0, 'ant-design:box-plot-outlined', 0, 0, 0, 0, NULL, 'admin', '2025-02-20 20:33:31', 'admin', '2025-11-25 16:20:04', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1892553778493022209', '1892553163993931777', 'AI模型配置', '/super/airag/aimodel/AiModelList', 'super/airag/aimodel/AiModelList', 1, '', NULL, 1, NULL, '0', 4.00, 0, 'ant-design:setting-twotone', 0, 0, 0, 0, NULL, 'admin', '2025-02-20 20:35:57', 'admin', '2025-03-06 20:31:13', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1892557342028226561', '1892553163993931777', 'AI知识库', '/super/airag/aiknowledge/AiKnowledgeBaseList', 'super/airag/aiknowledge/AiKnowledgeBaseList', 1, '', NULL, 1, NULL, '0', 2.00, 0, 'ant-design:book-twotone', 0, 0, 0, 0, NULL, 'admin', '2025-02-20 20:50:07', 'admin', '2025-02-23 17:39:01', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1892557342028226561', '1892553163993931777', 'AI知识库', '/super/airag/aiknowledge/AiKnowledgeBaseList', 'super/airag/aiknowledge/AiKnowledgeBaseList', 1, '', NULL, 1, NULL, '0', 3.00, 0, 'ant-design:book-twotone', 0, 0, 0, 0, NULL, 'admin', '2025-02-20 20:50:07', 'admin', '2026-01-23 16:52:40', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1893865471550578689', '1892553163993931777', 'AI应用管理', '/super/airag/aiapp/AiAppList', 'super/airag/aiapp/AiAppList', 1, '', NULL, 1, NULL, '0', 1.00, 0, 'ant-design:appstore-twotone', 0, 0, 0, 0, NULL, 'admin', '2025-02-24 11:28:09', 'admin', '2025-03-06 20:30:58', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1895401981290643458', '1892553163993931777', 'AI聊天', '/super/airag/aiapp/chat/AiChat', 'super/airag/aiapp/chat/AiChat', 1, '', NULL, 1, NULL, '0', 5.00, 0, 'ant-design:aliwangwang-outlined', 1, 0, 1, 0, NULL, 'admin', '2025-02-28 17:13:42', 'admin', '2025-02-28 17:30:40', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1907441271556497409', '1473927410093187073', '清空回收站', NULL, NULL, 0, NULL, NULL, 2, 'onl:drag:clear:recovery', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-02 22:33:32', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('190c2b43bec6a5f7a4194a85db67d96a', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '角色管理', '/system/role', 'system/role/index', 1, NULL, NULL, 1, NULL, NULL, 2.00, 0, 'ant-design:solution', 0, 1, 0, NULL, NULL, NULL, '2018-12-25 20:34:38', 'admin', '2021-09-17 15:58:00', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('1912753560201089025', '1892553163993931777', 'OCR识别', '/ai/ocr', 'super/airag/ocr/AiOcrList', 1, '', NULL, 1, NULL, '0', 6.00, 0, 'ant-design:scan-outlined', 1, 0, 0, 0, NULL, 'admin', '2025-04-17 14:22:41', 'admin', '2025-06-26 11:14:58', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1912753560201089025', '2012375501376606210', 'OCR识别', '/ai/ocr', 'super/airag/ocr/AiOcrList', 1, '', NULL, 1, NULL, '0', 8.00, 0, 'ant-design:scan-outlined', 1, 0, 0, 0, NULL, 'admin', '2025-04-17 14:22:41', 'admin', '2026-01-17 12:05:13', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1917957565728198657', '1922109301837606914', '接口文档', '/openapi/SwaggerUI', 'openapi/SwaggerUI', 1, '', NULL, 1, NULL, '0', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-05-01 23:01:32', 'admin', '2025-05-13 09:59:46', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1922109301837606914', '1439398677984878593', 'OpenAPI', '/openapi', 'layouts/RouteView', 1, '', NULL, 1, NULL, '0', 4.00, 0, 'ant-design:swap-outlined', 0, 0, 0, 0, NULL, 'admin', '2025-05-13 09:59:03', 'admin', '2025-09-13 19:31:31', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('1930152938891608066', '1455100420297859074', 'APP版本管理', '/app/version', 'system/appVersion/SysAppVersion', 1, '', NULL, 1, NULL, '0', 11.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2025-06-04 14:41:36', 'admin', '2025-07-30 17:22:24', 0, 0, NULL, 0); @@ -7482,8 +8024,20 @@ INSERT INTO `sys_permission` VALUES ('1963133393868722178', '1674708136602542082 INSERT INTO `sys_permission` VALUES ('1972617196420993025', '45c966826eeff4c99b8f8ebfe74511fc', '部门管理拖拽修改上下级', NULL, NULL, 0, NULL, NULL, 2, 'system:depart:updateChange', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-09-29 18:59:24', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1972645086223814657', '3f915b2769fc80648e92d04e84ca059d', '重置系统密码', NULL, NULL, 0, NULL, NULL, 2, 'system:user:resetPassword', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-09-29 20:50:13', 'admin', '2025-09-30 11:58:29', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1980223355087781889', '1892553163993931777', 'MCP配置', '/super/airag/aimcp/AiragMcpList', 'super/airag/aimcp/AiragMcpList', 1, '', NULL, 1, NULL, '0', 5.00, 0, 'ant-design:tool-twotone', 1, 0, 0, 0, NULL, 'admin', '2025-10-20 18:43:33', 'admin', '2025-10-21 19:00:31', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1996422809213341698', '1892553163993931777', '应用门户', '/app/portal', 'super/airag/aiapp/chat/portal/AppPortal', 1, '', NULL, 1, NULL, '0', 0.00, 0, 'ant-design:home-outlined', 1, 0, 0, 0, NULL, 'admin', '2025-12-04 11:34:24', 'admin', '2026-01-28 15:17:14', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1999306189754236930', '1737321792727388161', '数据集编辑保存', NULL, NULL, 0, NULL, NULL, 2, 'drag:dataset:save', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-12-12 10:31:56', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1999306301071065090', '1737321792727388161', '数据集删除', NULL, NULL, 0, NULL, NULL, 2, 'drag:dataset:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-12-12 10:32:22', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1999367175911657473', '2012376076054974466', 'AI提示词', '/super/airag/aiprompts', 'super/airag/aiprompts/AiragPromptsList', 1, '', NULL, 1, NULL, '0', 7.00, 0, 'ant-design:exclamation-circle-outlined', 1, 0, 0, 0, NULL, 'admin', '2025-12-12 14:34:16', 'admin', '2026-01-17 12:08:01', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('1999406402585542657', '1594930803956920321', '在线用户列表接口', NULL, NULL, 0, NULL, NULL, 2, 'system:online:list', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-12-12 17:10:08', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('1999406500300242946', '1594930803956920321', '强制用户退出接口', NULL, NULL, 0, NULL, NULL, 2, 'system:online:forceLogout', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-12-12 17:10:32', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('1a0811914300741f4e11838ff37a1d3a', '3f915b2769fc80648e92d04e84ca059d', '手机号禁用', '', '', 0, NULL, NULL, 2, 'user:form:phone', '2', 1.00, 0, NULL, 1, NULL, 0, NULL, NULL, 'admin', '2019-05-11 17:19:30', 'admin', '2019-05-11 18:00:22', 0, 0, '1', NULL); INSERT INTO `sys_permission` VALUES ('1d592115213910765570', '3f915b2769fc80648e92d04e84ca059d', '通过ID查询用户拥有的角色', NULL, NULL, 0, NULL, NULL, 2, 'system:user:queryUserRole', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-11-14 19:20:22', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2000880658872508417', '2012376076054974466', 'AI评估器', '/super/airag/experiment', 'super/airag/aiprompts/AiragExtDataExperiment', 1, '', NULL, 1, NULL, '0', 7.10, 0, 'ant-design:sliders-outlined', 1, 0, 0, 0, NULL, 'admin', '2025-12-16 18:48:18', 'admin', '2026-01-17 12:08:14', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('2005541199412592642', '1890213291321749505', 'ai流程复制', NULL, NULL, 0, NULL, NULL, 2, 'airag:flow:copy', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-12-29 15:27:38', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2008516285254000642', '2012375501376606210', 'Ai海报', '/airag/aiposter/AiPoster', 'super/airag/aiposter/AiPoster', 1, '', NULL, 1, NULL, '0', 8.00, 0, 'ant-design:file-image-filled', 1, 0, 0, 0, NULL, 'admin', '2026-01-06 20:29:33', 'admin', '2026-01-17 12:05:05', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('2010623918706446338', '2012375501376606210', 'AI写作', '/airag/aiwriter/AiWriter', 'super/airag/aiwriter/AiWriter', 1, '', NULL, 1, NULL, '0', 9.00, 0, 'ant-design:edit-filled', 1, 0, 0, 0, NULL, 'admin', '2026-01-12 16:04:32', 'admin', '2026-01-17 12:04:57', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('2012375501376606210', '1892553163993931777', 'AI工具箱', '/ai/box', 'layouts/default/index', 1, '', NULL, 1, NULL, '0', 11.00, 0, 'ant-design:tool-outlined', 0, 0, 0, 0, NULL, 'admin', '2026-01-17 12:04:42', 'admin', '2026-01-17 12:09:42', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('2012376076054974466', '1892553163993931777', '提示词管理', '/ai/prompt', 'layouts/default/index', 1, '', NULL, 1, NULL, '0', 10.00, 0, 'ant-design:star-outlined', 0, 0, 0, 0, NULL, 'admin', '2026-01-17 12:06:59', 'admin', '2026-01-17 12:09:27', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('2025050104193340030', '1922109301837606914', '接口管理', '/openapi/openApiList', 'openapi/OpenApiList', 1, NULL, NULL, 1, NULL, '1', 0.00, 0, NULL, 0, 0, 0, 0, NULL, 'admin', '2025-05-01 16:19:03', 'admin', '2025-05-13 09:59:24', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('2025050104193350031', '2025050104193340030', '添加接口管理', NULL, NULL, 0, NULL, NULL, 2, 'openapi:open_api:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-05-01 16:19:03', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('2025050104193350032', '2025050104193340030', '编辑接口管理', NULL, NULL, 0, NULL, NULL, 2, 'openapi:open_api:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-05-01 16:19:03', NULL, NULL, 0, 0, '1', 0); @@ -7498,11 +8052,17 @@ INSERT INTO `sys_permission` VALUES ('2025050105554940203', '2025050105554940200 INSERT INTO `sys_permission` VALUES ('2025050105554940204', '2025050105554940200', '批量删除授权管理', NULL, NULL, 0, NULL, NULL, 2, 'openapi:open_api_auth:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-05-01 17:55:20', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('2025050105554940205', '2025050105554940200', '导出excel_授权管理', NULL, NULL, 0, NULL, NULL, 2, 'openapi:open_api_auth:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-05-01 17:55:20', NULL, NULL, 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('2025050105554940206', '2025050105554940200', '导入excel_授权管理', NULL, NULL, 0, NULL, NULL, 2, 'openapi:open_api_auth:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-05-01 17:55:20', NULL, NULL, 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2025070908023480210', '2012375501376606210', 'AI简历', '/airag/word', 'super/airag/wordtpl/EoaWordTemplateList', 1, NULL, NULL, 1, NULL, '1', 15.00, 0, 'ant-design:file-word-outlined', 0, 0, 0, 0, NULL, 'admin', '2025-07-09 20:02:21', 'admin', '2026-01-17 12:05:20', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2025070908023490211', '2025070908023480210', '添加word模版管理', NULL, NULL, 0, NULL, NULL, 2, 'wordtpl:template:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-07-09 20:02:21', 'admin', '2025-07-09 20:11:09', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2025070908023490212', '2025070908023480210', '编辑word模版管理', NULL, NULL, 0, NULL, NULL, 2, 'wordtpl:template:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-07-09 20:02:21', 'admin', '2025-07-09 20:11:13', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2025070908023490213', '2025070908023480210', '删除word模版管理', NULL, NULL, 0, NULL, NULL, 2, 'wordtpl:template:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-07-09 20:02:21', 'admin', '2025-07-09 20:11:17', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2025070908023490214', '2025070908023480210', '批量删除word模版管理', NULL, NULL, 0, NULL, NULL, 2, 'wordtpl:template:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-07-09 20:02:21', 'admin', '2025-07-09 20:11:21', 0, 0, '1', 0); +INSERT INTO `sys_permission` VALUES ('2025070908023490215', '2025070908023480210', '设计word模版', NULL, NULL, 0, NULL, NULL, 2, 'wordtpl:template:design', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-07-09 20:02:21', 'admin', '2025-07-09 20:19:04', 0, 0, '1', 0); INSERT INTO `sys_permission` VALUES ('3f915b2769fc80648e92d04e84ca059d', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '用户管理', '/system/user', 'system/user/index', 1, NULL, NULL, 1, NULL, NULL, 1.00, 0, 'ant-design:user', 0, 1, 0, NULL, NULL, NULL, '2018-12-25 20:34:38', 'sunjianlei', '2021-05-08 09:57:31', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('45c966826eeff4c99b8f8ebfe74511fc', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '部门管理', '/system/depart', 'system/depart/index', 1, NULL, NULL, 1, NULL, NULL, 3.00, 0, 'ant-design:team', 0, 0, 0, NULL, NULL, 'admin', '2019-01-29 18:47:40', 'admin', '2021-09-17 15:58:13', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('5c2f42277948043026b7a14692456828', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '我的部门', '/system/depart-user', 'system/departUser/index', 1, NULL, NULL, 1, NULL, NULL, 3.00, 0, 'ant-design:home-outlined', 0, 0, 0, 0, NULL, 'admin', '2019-04-17 15:12:24', 'admin', '2023-03-04 15:03:07', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('9502685863ab87f0ad1134142788a385', '1438108176273760258', '首页', '/dashboard/analysis', 'dashboard/Analysis', 1, NULL, NULL, 1, NULL, NULL, 1.00, 0, 'ant-design:qrcode-outlined', 1, 1, 0, 0, NULL, NULL, '2018-12-25 20:34:38', 'jeecg', '2024-06-18 23:09:37', 0, 0, NULL, 0); -INSERT INTO `sys_permission` VALUES ('d7d6e2e4e2934f2c9385a623fd98c6f3', '', '系统管理', '/isystem', 'layouts/RouteView', 1, NULL, NULL, 0, NULL, NULL, 5.00, 0, 'ant-design:setting', 0, 0, 0, 0, NULL, NULL, '2018-12-25 20:34:38', 'admin', '2025-12-04 14:24:13', 0, 0, NULL, 0); +INSERT INTO `sys_permission` VALUES ('d7d6e2e4e2934f2c9385a623fd98c6f3', '', '系统管理', '/isystem', 'layouts/RouteView', 1, NULL, NULL, 0, NULL, NULL, 4.00, 0, 'ant-design:setting', 0, 0, 0, 0, NULL, NULL, '2018-12-25 20:34:38', 'admin', '2025-06-25 14:24:07', 0, 0, NULL, 0); INSERT INTO `sys_permission` VALUES ('f15543b0263cf6c5fac85afdd3eba3f2', '3f915b2769fc80648e92d04e84ca059d', '用户导入', '', NULL, 0, NULL, NULL, 2, 'system:user:import', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2019-05-13 19:15:27', 'admin', '2022-06-30 15:05:12', 0, 0, '1', 0); -- ---------------------------- @@ -7523,7 +8083,7 @@ CREATE TABLE `sys_permission_data_rule` ( `update_by` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_spdr_permission_id`(`permission_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_permission_data_rule @@ -7572,7 +8132,7 @@ CREATE TABLE `sys_position` ( `tenant_id` int(10) NULL DEFAULT 0 COMMENT '租户ID', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uniq_code`(`code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '职务级别' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '职务级别' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_position @@ -7601,7 +8161,7 @@ CREATE TABLE `sys_quartz_job` ( `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', `status` int(1) NULL DEFAULT NULL COMMENT '状态 0正常 -1停止', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_quartz_job @@ -7628,13 +8188,15 @@ CREATE TABLE `sys_role` ( PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uniq_sys_role_role_code`(`role_code`) USING BTREE, INDEX `idx_sysrole_tenant_id`(`tenant_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role -- ---------------------------- INSERT INTO `sys_role` VALUES ('1169504891467464706', '数据开发角色', 'dbadeveloper', '', NULL, '2019-03-12 19:01:35', 'admin', '2019-03-12 19:01:35', 0); INSERT INTO `sys_role` VALUES ('1169504891467464707', '低代码开发角色', 'lowdeveloper', '', NULL, '2019-03-12 19:01:35', 'admin', '2019-03-12 19:01:35', 0); +INSERT INTO `sys_role` VALUES ('1501570619841810433', 'Vue3全角色', 'vue3', NULL, 'admin', '2022-03-09 22:48:28', 'admin', '2025-06-25 16:26:19', 0); +INSERT INTO `sys_role` VALUES ('1962488045068464130', '租户管理员', 'zuhuadmin', NULL, 'admin', '2025-09-01 20:09:46', NULL, NULL, 0); INSERT INTO `sys_role` VALUES ('1996463539853824001', 'AI应用角色', 'aiadmin', NULL, 'admin', '2025-12-04 14:16:15', NULL, NULL, 0); INSERT INTO `sys_role` VALUES ('ee8626f80f7c2619917b6236f3a7f02b', '系统用户标配角色', 'test', '系统所有用户拥有的最小权限角色,默认都分配这个角色', NULL, '2018-12-20 10:59:04', 'admin', '2025-08-12 18:39:54', 0); INSERT INTO `sys_role` VALUES ('f6817f48af4fb3af11b9e8bf182f618b', '管理员', 'admin', '管理员', NULL, '2020-12-21 18:03:39', 'admin', '2025-07-30 15:17:55', 0); @@ -7661,7 +8223,7 @@ CREATE TABLE `sys_role_index` ( INDEX `idx_sri_role_code`(`role_code`) USING BTREE, INDEX `idx_sri_status`(`status`) USING BTREE, INDEX `idx_sri_priority`(`priority`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色首页表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色首页表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role_index @@ -7683,7 +8245,7 @@ CREATE TABLE `sys_role_permission` ( INDEX `idx_srp_role_per_id`(`role_id`, `permission_id`) USING BTREE, INDEX `idx_srp_role_id`(`role_id`) USING BTREE, INDEX `idx_srp_permission_id`(`permission_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_role_permission @@ -7743,8 +8305,211 @@ INSERT INTO `sys_role_permission` VALUES ('1427184776014860295', 'ee8626f80f7c26 INSERT INTO `sys_role_permission` VALUES ('1427184776023248897', 'ee8626f80f7c2619917b6236f3a7f02b', '0620e402857b8c5b605e1ad9f4b89350', NULL, '2021-08-16 16:25:41', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1427184776023248898', 'ee8626f80f7c2619917b6236f3a7f02b', 'c431130c0bc0ec71b0a5be37747bb36a', NULL, '2021-08-16 16:25:41', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1427184776023248899', 'ee8626f80f7c2619917b6236f3a7f02b', 'e1979bb53e9ea51cecc74d86fd9d2f64', NULL, '2021-08-16 16:25:41', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988789567490', '1501570619841810433', '1438108176273760258', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988802150402', '1501570619841810433', '1438108176814825473', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988810539010', '1501570619841810433', '9502685863ab87f0ad1134142788a385', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988814733313', '1501570619841810433', 'd7d6e2e4e2934f2c9385a623fd98c6f3', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988814733314', '1501570619841810433', '3f915b2769fc80648e92d04e84ca059d', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988823121922', '1501570619841810433', '1214376304951664642', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988823121923', '1501570619841810433', '1214462306546319362', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988831510529', '1501570619841810433', '1a0811914300741f4e11838ff37a1d3a', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988831510530', '1501570619841810433', '190c2b43bec6a5f7a4194a85db67d96a', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988831510531', '1501570619841810433', '1170592628746878978', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988831510532', '1501570619841810433', '45c966826eeff4c99b8f8ebfe74511fc', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988831510534', '1501570619841810433', '1438782851980210178', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988839899138', '1501570619841810433', '1438782530717495298', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988839899139', '1501570619841810433', '1438782641187074050', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988844093442', '1501570619841810433', '1442055284830769154', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988844093443', '1501570619841810433', '1280350452934307841', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988844093444', '1501570619841810433', '1439398677984878593', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988844093445', '1501570619841810433', '1439399179791409153', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988844093446', '1501570619841810433', '1439488251473993730', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988844093447', '1501570619841810433', '1438469604861403137', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988852482050', '1501570619841810433', '1439511654494937090', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988856676354', '1501570619841810433', '1439531077792473089', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988856676355', '1501570619841810433', '1439533711676973057', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988860870657', '1501570619841810433', '1439784356766064642', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988860870658', '1501570619841810433', '1439797053314342913', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988860870659', '1501570619841810433', '1439839507094740994', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988869259265', '1501570619841810433', '1439842640030113793', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453570', '1501570619841810433', '1447763172274495489', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453571', '1501570619841810433', '1447763517847396354', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453573', '1501570619841810433', '1448252726202859522', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453574', '1501570619841810433', '1438108196993622018', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453575', '1501570619841810433', '1438108197958311537', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453576', '1501570619841810433', '1438108197270446081', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453577', '1501570619841810433', '1447535997560909826', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988873453578', '1501570619841810433', '1438783058792951810', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988881842177', '1501570619841810433', '1438108198679732226', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988881842178', '1501570619841810433', '1441340399835742209', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988881842179', '1501570619841810433', '1441357157443371009', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988881842180', '1501570619841810433', '1453250018282573826', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988881842181', '1501570619841810433', '1458389305235984385', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988881842182', '1501570619841810433', '1455067599277662209', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988890230785', '1501570619841810433', '1455019819440021505', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988890230786', '1501570619841810433', '1454034512171302914', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988890230787', '1501570619841810433', '1454031820661260289', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988898619394', '1501570619841810433', '1454031324835807233', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988898619395', '1501570619841810433', '1450308897429536769', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988898619396', '1501570619841810433', '1441361249200832513', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988907008001', '1501570619841810433', '1438108197958315557', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988907008002', '1501570619841810433', '1438108178127642626', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988907008003', '1501570619841810433', '1438108178781954049', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988907008004', '1501570619841810433', '1438108178781954050', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988907008005', '1501570619841810433', '1438108200672026626', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202306', '1501570619841810433', '1438108180258349057', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202307', '1501570619841810433', '1438108197790539778', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202308', '1501570619841810433', '1438108197958311937', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202309', '1501570619841810433', '1438108202366525441', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202310', '1501570619841810433', '1438108203649982466', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202311', '1501570619841810433', '1438108204400762881', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202312', '1501570619841810433', '1438108204576923649', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202313', '1501570619841810433', '1438108204732112898', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988911202314', '1501570619841810433', '1438108198113501186', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988919590914', '1501570619841810433', '1438108204232990721', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988919590915', '1501570619841810433', '1438108204023275521', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501570988919590916', '1501570619841810433', '1438108203817754625', NULL, '2022-03-09 22:49:56', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577222', '1501570619841810433', '1438108205004742657', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577223', '1501570619841810433', '1438108205180903426', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577224', '1501570619841810433', '1438108205357064193', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577225', '1501570619841810433', '1438108205587750914', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577226', '1501570619841810433', '1438108205742940161', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577227', '1501570619841810433', '1438108205919100930', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514077577228', '1501570619841810433', '1438108206086873089', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965825', '1501570619841810433', '1438108206258839553', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965826', '1501570619841810433', '1438108206489526274', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965827', '1501570619841810433', '1438108206661492738', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965828', '1501570619841810433', '1438108206959288321', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965829', '1501570619841810433', '1438108207160614913', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965830', '1501570619841810433', '1438108207374524418', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965831', '1501570619841810433', '1438108207563268097', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965832', '1501570619841810433', '1438108207793954818', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965833', '1501570619841810433', '1438108208024641538', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514085965834', '1501570619841810433', '1438108208297271297', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514094354434', '1501570619841810433', '1438108199413735425', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514094354435', '1501570619841810433', '1438108208817364993', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514094354436', '1501570619841810433', '1438108208980942850', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514094354437', '1501570619841810433', '1438108209228406785', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514094354438', '1501570619841810433', '1438108199539564546', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548738', '1501570619841810433', '1438108210117599234', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548739', '1501570619841810433', '1438108210260205570', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548740', '1501570619841810433', '1438108211325558785', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548741', '1501570619841810433', '1438108211661103106', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548742', '1501570619841810433', '1438108211778543618', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548743', '1501570619841810433', '1438108214882328577', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548744', '1501570619841810433', '1438108215335313409', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548745', '1501570619841810433', '1438108197958311637', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548746', '1501570619841810433', '1438108200076435458', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548747', '1501570619841810433', '1438108200391008257', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548748', '1501570619841810433', '1438108197958311677', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548749', '1501570619841810433', '1438108178643542017', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548750', '1501570619841810433', '1438108179226550273', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514098548751', '1501570619841810433', '1438108179381739521', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937345', '1501570619841810433', '1438108198855892993', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937346', '1501570619841810433', '1438108179599843330', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937347', '1501570619841810433', '1438108199120134145', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937348', '1501570619841810433', '1438108179910221825', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937349', '1501570619841810433', '1438108198339993602', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937350', '1501570619841810433', '1438108199304683521', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937351', '1501570619841810433', '1438108180077993985', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937352', '1501570619841810433', '1438108180434509826', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937353', '1501570619841810433', '1438108180631642113', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937354', '1501570619841810433', '1438108182116425729', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937355', '1501570619841810433', '1438108201150177281', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937356', '1501570619841810433', '1438108201502498817', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514106937358', '1501570619841810433', '1438108202060341249', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325954', '1501570619841810433', '1438108199631839234', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325955', '1501570619841810433', '1438108215511474177', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325956', '1501570619841810433', '1438108215687634945', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325957', '1501570619841810433', '1438108215989624834', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325958', '1501570619841810433', '1438108200802050050', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325959', '1501570619841810433', '1438108216300003330', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325960', '1501570619841810433', '1438108216597798914', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325961', '1501570619841810433', '1438108200919490562', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325962', '1501570619841810433', '1438108216971091969', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325963', '1501570619841810433', '1438108217449242626', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325964', '1501570619841810433', '1438108183219527682', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514115325965', '1501570619841810433', '1438108185660612609', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714561', '1501570619841810433', '1438108185815801858', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714562', '1501570619841810433', '1438108185958408193', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714563', '1501570619841810433', '1438108186289758209', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714564', '1501570619841810433', '1438108178010202113', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714565', '1501570619841810433', '1438108178257666049', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714566', '1501570619841810433', '1438108176932265985', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714567', '1501570619841810433', '1438108177074872321', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714568', '1501570619841810433', '1438108177351696386', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714569', '1501570619841810433', '1438108177565605889', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714570', '1501570619841810433', '1438108177188118529', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714571', '1501570619841810433', '1438108177720795137', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714572', '1501570619841810433', '1438108177880178689', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714573', '1501570619841810433', '1438108178421243905', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714574', '1501570619841810433', '1438108225263230978', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514123714575', '1501570619841810433', '1438108180770054145', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501572514132103169', '1501570619841810433', '1438108183085309954', NULL, '2022-03-09 22:56:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501576319410212868', '1501570619841810433', '1449995470942593026', NULL, '2022-03-09 23:11:07', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1501576328700596228', '1501570619841810433', '1449995470942593026', NULL, '2022-03-09 23:11:09', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1572775794269970434', '1501570619841810433', '1534418199197323265', NULL, '2022-09-22 10:32:25', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1580834175006171137', '1501570619841810433', '1580833876002627585', NULL, '2022-10-14 16:13:32', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1580834175006171138', '1501570619841810433', '1580834045490257922', NULL, '2022-10-14 16:13:32', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1580835941080784898', '1501570619841810433', '1580835899477483522', NULL, '2022-10-14 16:20:34', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1580861542625955842', 'f6817f48af4fb3af11b9e8bf182f618b', '1170592628746878978', NULL, '2022-10-14 18:02:17', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1580877977129570306', '1501570619841810433', '1580877931331964929', NULL, '2022-10-14 19:07:36', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1580877977129570307', '1501570619841810433', '1580877743141933058', NULL, '2022-10-14 19:07:36', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1580878701653643267', '1501570619841810433', '1580878668472504321', NULL, '2022-10-14 19:10:28', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1580878704866480129', '1501570619841810433', '1580878668472504321', NULL, '2022-10-14 19:10:29', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040483061761', '1501570619841810433', '1455100420297859074', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644673', '1501570619841810433', '1461270075543347202', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644674', '1501570619841810433', '1458353686530232321', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644675', '1501570619841810433', '1457678003102879745', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644676', '1501570619841810433', '1509417558230999041', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644677', '1501570619841810433', '1452508868884353026', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644678', '1501570619841810433', '1461291438825558017', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040495644679', '1501570619841810433', '1460888189937176577', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040504033281', '1501570619841810433', '1455101470794850305', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1587064040504033282', '1501570619841810433', '1465686870713782273', NULL, '2022-10-31 20:48:48', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1590154918424719362', '1501570619841810433', '1590154870697734146', NULL, '2022-11-09 09:30:51', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1592114400605859842', 'f6817f48af4fb3af11b9e8bf182f618b', '1592113148350263298', NULL, '2022-11-14 19:17:08', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613761', '1501570619841810433', '1588513553652436993', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613762', '1501570619841810433', '1592114574275211265', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613763', '1501570619841810433', '1592114652566089729', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613765', '1501570619841810433', '1592114772665790465', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613766', '1501570619841810433', '1592114823467200514', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613767', '1501570619841810433', '1592114893302362114', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444602613768', '1501570619841810433', '1592114955650691074', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722625', '1501570619841810433', '1592115070432014338', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722626', '1501570619841810433', '1592115115361398786', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722627', '1501570619841810433', '1592115162379546625', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722628', '1501570619841810433', '1592115213910765570', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722631', '1501570619841810433', '1592120484120850434', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722632', '1501570619841810433', '1592120427007012865', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722633', '1501570619841810433', '1592120372296511490', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722634', '1501570619841810433', '1592120323667750914', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722635', '1501570619841810433', '1592113148350263298', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722636', '1501570619841810433', '1592112984361365505', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722637', '1501570619841810433', '1592115914493751297', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722638', '1501570619841810433', '1592116663936184322', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722639', '1501570619841810433', '1592118604640645122', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722640', '1501570619841810433', '1592118648315932674', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722641', '1501570619841810433', '1592119001883176961', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722642', '1501570619841810433', '1592120052866707457', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722643', '1501570619841810433', '1592120222727630849', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722644', '1501570619841810433', '1592117422006300673', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722645', '1501570619841810433', '1592117377299214337', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722646', '1501570619841810433', '1592117276539449345', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722647', '1501570619841810433', '1592117222764277761', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722648', '1501570619841810433', '1592115712466710529', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722649', '1501570619841810433', '1592118053634928641', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722650', '1501570619841810433', '1592117990305132545', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722651', '1501570619841810433', '1592117804359053314', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722652', '1501570619841810433', '1592117748209905665', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722653', '1501570619841810433', '1592117625664925697', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722654', '1501570619841810433', '1592118414990995457', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444669722655', '1501570619841810433', '1592118356778250241', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444732637186', '1501570619841810433', '1592118306983473154', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444732637187', '1501570619841810433', '1592118254844080130', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444732637188', '1501570619841810433', '1592118192218927105', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444732637189', '1501570619841810433', '1592118497606201346', NULL, '2022-11-17 15:54:00', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1593150444732637190', '1501570619841810433', '1592115610431877122', NULL, '2022-11-17 15:54:00', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1593153006353473537', 'f6817f48af4fb3af11b9e8bf182f618b', '1588513553652436993', NULL, '2022-11-17 16:04:11', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1593153006353473538', 'f6817f48af4fb3af11b9e8bf182f618b', '1592114574275211265', NULL, '2022-11-17 16:04:11', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1593153006353473539', 'f6817f48af4fb3af11b9e8bf182f618b', '1592114652566089729', NULL, '2022-11-17 16:04:11', '0:0:0:0:0:0:0:1'); @@ -7787,6 +8552,46 @@ INSERT INTO `sys_role_permission` VALUES ('1593153006416388127', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1593153006416388128', 'f6817f48af4fb3af11b9e8bf182f618b', '1592118414990995457', NULL, '2022-11-17 16:04:11', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1593153006416388129', 'f6817f48af4fb3af11b9e8bf182f618b', '1592118497606201346', NULL, '2022-11-17 16:04:11', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1593153077300125697', 'f6817f48af4fb3af11b9e8bf182f618b', '1592115610431877122', NULL, '2022-11-17 16:04:28', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286053158913', '1501570619841810433', '1592135223910765570', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286069936130', '1501570619841810433', '1593185714482880514', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286069936131', '1501570619841810433', '15c92115213910765570', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286069936132', '1501570619841810433', '1d592115213910765570', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286069936133', '1501570619841810433', '1592120224120850434', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286078324740', '1501570619841810433', '1593160959633563650', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286086713346', '1501570619841810433', '1593160905216663554', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286086713347', '1501570619841810433', '1593161025790320641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286086713348', '1501570619841810433', '1593161089787011074', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286090907650', '1501570619841810433', '1596335805278990338', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286090907651', '1501570619841810433', '1596141938193747970', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286090907652', '1501570619841810433', '1600105607009165314', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286090907653', '1501570619841810433', '1600108123037917186', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286090907654', '1501570619841810433', '1600129606082650113', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286095101953', '1501570619841810433', '1611620416187969538', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286095101954', '1501570619841810433', '1611620600003342337', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286095101955', '1501570619841810433', '1611620654621569026', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286095101956', '1501570619841810433', '1611620772498218641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286095101957', '1501570619841810433', '1611620772498288641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286095101958', '1501570619841810433', '1611650772498288641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296258', '1501570619841810433', '1612438989792034818', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296259', '1501570619841810433', '1613620712498288641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296260', '1501570619841810433', '1620261087828418562', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296261', '1501570619841810433', '1620305415648989186', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296262', '1501570619841810433', '1697220712498288641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296263', '1501570619841810433', '1621620772498288641', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296264', '1501570619841810433', '1620327825894981634', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296265', '1501570619841810433', '1593161743607701505', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296266', '1501570619841810433', '1593161697348722689', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296267', '1501570619841810433', '1593161657385394177', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296268', '1501570619841810433', '1593161608362369026', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296269', '1501570619841810433', '1593161551202394114', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286099296270', '1501570619841810433', '1593161483627962370', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286107684866', '1501570619841810433', '1593161421350936578', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286107684867', '1501570619841810433', '1594930803956920321', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1631912286107684868', '1501570619841810433', '1593173018886709250', NULL, '2023-03-04 14:59:43', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1657938323991883777', '1501570619841810433', '1473927410093187073', NULL, '2023-05-15 10:37:54', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1657938324004466690', '1501570619841810433', '1542385335362383873', NULL, '2023-05-15 10:37:54', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1657938324004466691', '1501570619841810433', '1554384900763729922', NULL, '2023-05-15 10:37:54', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779465240578', 'f6817f48af4fb3af11b9e8bf182f618b', '1447535997560909826', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779486212097', 'f6817f48af4fb3af11b9e8bf182f618b', '1542385335362383873', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779486212098', 'f6817f48af4fb3af11b9e8bf182f618b', '1554384900763729922', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779486212099', 'f6817f48af4fb3af11b9e8bf182f618b', '1592120224120850434', NULL, '2023-08-20 17:54:20', '127.0.0.1'); @@ -7802,6 +8607,7 @@ INSERT INTO `sys_role_permission` VALUES ('1693199779502989315', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1693199779502989316', 'f6817f48af4fb3af11b9e8bf182f618b', '1593161657385394177', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779502989317', 'f6817f48af4fb3af11b9e8bf182f618b', '1593161697348722689', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779502989318', 'f6817f48af4fb3af11b9e8bf182f618b', '1593161743607701505', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779502989319', 'f6817f48af4fb3af11b9e8bf182f618b', '1593173018886709250', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779502989320', 'f6817f48af4fb3af11b9e8bf182f618b', '1593185714482880514', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779502989321', 'f6817f48af4fb3af11b9e8bf182f618b', '1596335805278990338', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779511377921', 'f6817f48af4fb3af11b9e8bf182f618b', '1600105607009165314', NULL, '2023-08-20 17:54:20', '127.0.0.1'); @@ -7823,43 +8629,211 @@ INSERT INTO `sys_role_permission` VALUES ('1693199779519766533', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1693199779519766534', 'f6817f48af4fb3af11b9e8bf182f618b', '1697220712498288641', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779519766535', 'f6817f48af4fb3af11b9e8bf182f618b', '15c92115213910765570', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779519766536', 'f6817f48af4fb3af11b9e8bf182f618b', '1d592115213910765570', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779519766537', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108177074872321', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779519766538', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108177351696386', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155138', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108177720795137', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155139', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178127642626', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155140', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183630569474', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155141', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183630569477', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155142', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183777370114', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155143', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108184049999873', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779528155144', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108186717577217', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779532349442', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108187678072833', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779532349443', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108189062193153', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779532349444', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108190110769154', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543746', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108190777663490', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543747', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108192623157249', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543748', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108194992939010', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543749', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108196263813121', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543750', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197270446081', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543751', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108202366525441', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543752', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108205004742657', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543753', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108208817364993', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543754', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108210117599234', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543755', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108211325558785', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543756', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108214882328577', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779536543757', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108215511474177', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932354', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108216300003330', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932355', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108216971091969', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932356', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108217860284417', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932357', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108218787225601', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932358', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108219592531970', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932359', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108220523667458', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779544932360', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108220896960513', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779549126657', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108221127647234', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779549126659', 'f6817f48af4fb3af11b9e8bf182f618b', '1438115924159881218', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779549126660', 'f6817f48af4fb3af11b9e8bf182f618b', '1211885237487923202', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779549126661', 'f6817f48af4fb3af11b9e8bf182f618b', '1214376304951664642', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779549126662', 'f6817f48af4fb3af11b9e8bf182f618b', '1214462306546319362', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779549126663', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108176273760258', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779549126664', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108176814825473', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320962', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108177188118529', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320963', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108177565605889', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320964', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108177880178689', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320965', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178257666049', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320966', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183907393538', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320967', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108187103453186', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320968', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108187871010818', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320969', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108189427097601', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320970', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108190404370433', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320971', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108191356477442', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320972', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108193701093378', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320973', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108195307511809', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779553320974', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108196528054273', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709569', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197958311537', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709570', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197958315557', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709571', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108203649982466', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709572', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108205180903426', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709573', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108208980942850', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709574', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108210260205570', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779561709575', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108211661103106', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903874', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108215335313409', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903875', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108215687634945', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903876', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108216597798914', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903877', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108217449242626', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903878', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108218049028097', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903879', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108219034689538', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903880', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108219793858561', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903881', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108220724994049', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779565903882', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108221270253570', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098178', 'f6817f48af4fb3af11b9e8bf182f618b', '1438116003012796418', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098179', 'f6817f48af4fb3af11b9e8bf182f618b', '1438783058792951810', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779570098180', 'f6817f48af4fb3af11b9e8bf182f618b', '1439399179791409153', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779570098181', 'f6817f48af4fb3af11b9e8bf182f618b', '1439488251473993730', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098182', 'f6817f48af4fb3af11b9e8bf182f618b', '1446778415130722306', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098183', 'f6817f48af4fb3af11b9e8bf182f618b', '1447763517847396354', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098184', 'f6817f48af4fb3af11b9e8bf182f618b', '1454031324835807233', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779570098185', 'f6817f48af4fb3af11b9e8bf182f618b', '1455101470794850305', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098186', 'f6817f48af4fb3af11b9e8bf182f618b', '1590154870697734146', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779570098187', 'f6817f48af4fb3af11b9e8bf182f618b', '1a0811914300741f4e11838ff37a1d3a', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098188', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108176932265985', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098189', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178421243905', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098190', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108188034588674', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779570098191', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108189754253313', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486786', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108195487866881', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486787', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108196855209985', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486788', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197958311937', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486789', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108203817754625', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486790', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108205357064193', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486791', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108209228406785', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486792', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108211778543618', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486793', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108215989624834', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486794', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108219240210434', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486795', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108220137791489', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779578486797', 'f6817f48af4fb3af11b9e8bf182f618b', '1443391584864358402', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486798', 'f6817f48af4fb3af11b9e8bf182f618b', '1448252726202859522', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486799', 'f6817f48af4fb3af11b9e8bf182f618b', '1454031820661260289', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779578486800', 'f6817f48af4fb3af11b9e8bf182f618b', '1455100420297859074', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779578486801', 'f6817f48af4fb3af11b9e8bf182f618b', '1460888189937176577', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779578486802', 'f6817f48af4fb3af11b9e8bf182f618b', '1461291438825558017', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779578486803', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178643542017', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875394', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108188378521602', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875395', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108195638861825', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875396', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108198113501186', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875397', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108204023275521', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875398', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108205587750914', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875399', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108218409738242', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779586875400', 'f6817f48af4fb3af11b9e8bf182f618b', '1439511654494937090', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779586875401', 'f6817f48af4fb3af11b9e8bf182f618b', '1452508868884353026', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875402', 'f6817f48af4fb3af11b9e8bf182f618b', '1454034512171302914', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779586875403', 'f6817f48af4fb3af11b9e8bf182f618b', '1473927410093187073', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779586875404', 'f6817f48af4fb3af11b9e8bf182f618b', '1580833876002627585', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779586875405', 'f6817f48af4fb3af11b9e8bf182f618b', '119213522910765570', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779591069698', 'f6817f48af4fb3af11b9e8bf182f618b', '1597419994965786625', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069699', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178781954049', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069700', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178781954050', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069701', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108188542099458', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069702', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108195924074497', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069703', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108199413735425', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069704', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108204232990721', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069705', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108205742940161', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779591069706', 'f6817f48af4fb3af11b9e8bf182f618b', '1438782641187074050', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779591069707', 'f6817f48af4fb3af11b9e8bf182f618b', '1439531077792473089', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069708', 'f6817f48af4fb3af11b9e8bf182f618b', '1455019819440021505', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069709', 'f6817f48af4fb3af11b9e8bf182f618b', '1580834045490257922', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069711', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178911977473', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069712', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108188714065922', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779591069713', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108199539564546', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264002', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108204400762881', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264003', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108205919100930', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779595264005', 'f6817f48af4fb3af11b9e8bf182f618b', '1438469604861403137', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779595264006', 'f6817f48af4fb3af11b9e8bf182f618b', '1439398677984878593', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779595264007', 'f6817f48af4fb3af11b9e8bf182f618b', '1439533711676973057', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264009', 'f6817f48af4fb3af11b9e8bf182f618b', '1447763172274495489', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264010', 'f6817f48af4fb3af11b9e8bf182f618b', '1455067599277662209', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779595264011', 'f6817f48af4fb3af11b9e8bf182f618b', '1465686870713782273', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779595264012', 'f6817f48af4fb3af11b9e8bf182f618b', '1509417558230999041', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264013', 'f6817f48af4fb3af11b9e8bf182f618b', '1580835899477483522', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264014', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108179226550273', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264015', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197958311637', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264016', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108198679732226', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264017', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108204576923649', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779595264018', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108206086873089', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779603652610', 'f6817f48af4fb3af11b9e8bf182f618b', '1439542701152575489', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779603652611', 'f6817f48af4fb3af11b9e8bf182f618b', '1580877743141933058', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779603652612', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108179381739521', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779603652613', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197958311677', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779603652614', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108198855892993', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846913', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108204732112898', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846914', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108206258839553', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846915', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108217562488834', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846916', 'f6817f48af4fb3af11b9e8bf182f618b', '1441340399835742209', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846917', 'f6817f48af4fb3af11b9e8bf182f618b', '1580877931331964929', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846918', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108179599843330', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779607846919', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108197790539778', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041218', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108199120134145', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041219', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108206489526274', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041220', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108219445731330', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779612041221', 'f6817f48af4fb3af11b9e8bf182f618b', '1438782851980210178', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779612041222', 'f6817f48af4fb3af11b9e8bf182f618b', '1439784356766064642', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041223', 'f6817f48af4fb3af11b9e8bf182f618b', '1441357157443371009', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041224', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108179910221825', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041225', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108198339993602', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041226', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108199304683521', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041227', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108206661492738', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779612041228', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108220418809857', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779616235521', 'f6817f48af4fb3af11b9e8bf182f618b', '1438782530717495298', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779616235522', 'f6817f48af4fb3af11b9e8bf182f618b', '1439797053314342913', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779616235523', 'f6817f48af4fb3af11b9e8bf182f618b', '1441361249200832513', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779616235524', 'f6817f48af4fb3af11b9e8bf182f618b', '1457678003102879745', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779616235525', 'f6817f48af4fb3af11b9e8bf182f618b', '1580878668472504321', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779616235526', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108180077993985', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779616235527', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108206959288321', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779620429826', 'f6817f48af4fb3af11b9e8bf182f618b', '1439839507094740994', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429827', 'f6817f48af4fb3af11b9e8bf182f618b', '1450308897429536769', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779620429828', 'f6817f48af4fb3af11b9e8bf182f618b', '1455735714507472898', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429829', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108180258349057', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429831', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108199631839234', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429832', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108207160614913', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779620429833', 'f6817f48af4fb3af11b9e8bf182f618b', '1439842640030113793', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429834', 'f6817f48af4fb3af11b9e8bf182f618b', '1442055284830769154', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429835', 'f6817f48af4fb3af11b9e8bf182f618b', '1458389305235984385', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429836', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108180434509826', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429838', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108200076435458', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429839', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108207374524418', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429840', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108225263230978', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779620429841', 'f6817f48af4fb3af11b9e8bf182f618b', '1453250018282573826', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779620429842', 'f6817f48af4fb3af11b9e8bf182f618b', '1594930803956920321', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779624624130', 'f6817f48af4fb3af11b9e8bf182f618b', '1596141938193747970', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624131', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108180631642113', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624132', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108200391008257', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624133', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108207563268097', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624135', 'f6817f48af4fb3af11b9e8bf182f618b', '1534418199197323265', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624136', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108180770054145', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624137', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108200672026626', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624138', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108207793954818', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624139', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108200802050050', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624140', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108208024641538', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779624624141', 'f6817f48af4fb3af11b9e8bf182f618b', '1458353686530232321', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624142', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108200919490562', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624143', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108208297271297', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624144', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183085309954', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624145', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108201150177281', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624146', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108201502498817', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624147', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183395688450', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779624624148', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108178010202113', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779633012738', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108183492157442', NULL, '2023-08-20 17:54:20', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1693199779633012739', 'f6817f48af4fb3af11b9e8bf182f618b', '1438108202060341249', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1693199779633012740', 'f6817f48af4fb3af11b9e8bf182f618b', '1461270075543347202', NULL, '2023-08-20 17:54:20', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('16ef8ed3865ccc6f6306200760896c50', 'ee8626f80f7c2619917b6236f3a7f02b', 'e8af452d8948ea49d37c934f5100ae6a', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('1703032629144289281', 'f6817f48af4fb3af11b9e8bf182f618b', '1609123240547344385', NULL, '2023-09-16 21:06:34', '127.0.0.1'); @@ -7870,9 +8844,36 @@ INSERT INTO `sys_role_permission` VALUES ('1704379601608437762', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1704379601608437763', 'f6817f48af4fb3af11b9e8bf182f618b', '1660568426632380417', NULL, '2023-09-20 14:18:58', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1704379601608437764', 'f6817f48af4fb3af11b9e8bf182f618b', '1660568368558047234', NULL, '2023-09-20 14:18:58', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1704379601608437765', 'f6817f48af4fb3af11b9e8bf182f618b', '1660568280725127169', NULL, '2023-09-20 14:18:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633924976642', '1501570619841810433', '1691031996d593131521', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633966919681', '1501570619841810433', '1629109281748291586', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633966919682', '1501570619841810433', '1701575168519839746', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633966919684', '1501570619841810433', '1609123240547344385', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633975308289', '1501570619841810433', '1609123437247619074', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633975308290', '1501570619841810433', '1609164635442139138', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633975308291', '1501570619841810433', '1609164542165012482', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633979502594', '1501570619841810433', '1668174661456171010', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633979502596', '1501570619841810433', '1663816667704500225', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633979502597', '1501570619841810433', '1660568280725127169', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633979502598', '1501570619841810433', '1660568368558047234', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714210633979502599', '1501570619841810433', '1660568426632380417', NULL, '2023-10-17 17:23:58', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1714215494145949698', '1501570619841810433', '1693195557097164801', NULL, '2023-10-17 17:43:17', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1732331210279628801', 'f6817f48af4fb3af11b9e8bf182f618b', '1699374704168534017', NULL, '2023-12-06 17:28:40', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1732331210292211714', 'f6817f48af4fb3af11b9e8bf182f618b', '1699374509749960705', NULL, '2023-12-06 17:28:40', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1732331210292211715', 'f6817f48af4fb3af11b9e8bf182f618b', '1699374269152100354', NULL, '2023-12-06 17:28:40', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995477389314', '1501570619841810433', '1699374269152100354', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972226', '1501570619841810433', '1699374509749960705', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972227', '1501570619841810433', '1691031996d5931315212', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972228', '1501570619841810433', '1691031996d5931315213', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972229', '1501570619841810433', '1699374704168534017', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972230', '1501570619841810433', '1701475606988812289', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972231', '1501570619841810433', '1699039192154071041', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995489972232', '1501570619841810433', '1699039098474291201', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995498360833', '1501570619841810433', '1699038961937113090', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741323995498360834', '1501570619841810433', '1698650926200352770', NULL, '2023-12-31 13:02:47', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1741324948112879617', '1501570619841810433', '1737321792727388161', NULL, '2023-12-31 13:06:35', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1742379927128961025', '1501570619841810433', '1546736974756032513', NULL, '2024-01-03 10:58:41', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1765276463387095042', '1501570619841810433', '1750128461040648193', NULL, '2024-03-06 15:21:21', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1765276463395483650', '1501570619841810433', '1592114721138765826', NULL, '2024-03-06 15:21:21', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1765276566625693698', 'f6817f48af4fb3af11b9e8bf182f618b', '1750128461040648193', NULL, '2024-03-06 15:21:45', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1765276566634082305', 'f6817f48af4fb3af11b9e8bf182f618b', '1592114721138765826', NULL, '2024-03-06 15:21:45', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('17ead5b7d97ed365398ab20009a69ea3', '52b0cf022ac4187b2a70dfa4f8b2d940', 'e08cb190ef230d5d4f03824198773950', NULL, NULL, NULL); @@ -7885,6 +8886,25 @@ INSERT INTO `sys_role_permission` VALUES ('1800736354410942470', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1800736354410942471', 'f6817f48af4fb3af11b9e8bf182f618b', '1699039192154071041', NULL, '2024-06-12 11:46:18', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1800736354410942472', 'f6817f48af4fb3af11b9e8bf182f618b', '1699038961937113090', NULL, '2024-06-12 11:46:18', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1800736354410942473', 'f6817f48af4fb3af11b9e8bf182f618b', '1698650926200352770', NULL, '2024-06-12 11:46:18', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1800736426536194049', '1501570619841810433', '1746709108126285826', NULL, '2024-06-12 11:46:35', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349244334081', '1501570619841810433', '1534500282601893890', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722690', '1501570619841810433', '1535226870641475586', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722691', '1501570619841810433', '1535227149789184001', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722692', '1501570619841810433', '1542383139476467713', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722693', '1501570619841810433', '1542383223979110402', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722694', '1501570619841810433', '1542383292690198530', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722695', '1501570619841810433', '1542383437808922625', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349252722696', '1501570619841810433', '1542383507883159553', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111297', '1501570619841810433', '1542383573423353858', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111298', '1501570619841810433', '1542383826117586945', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111299', '1501570619841810433', '1542383907281563650', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111300', '1501570619841810433', '1699374346553786370', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111301', '1501570619841810433', '1699374404015751169', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111302', '1501570619841810433', '1535225446864011265', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111303', '1501570619841810433', '1699374612388773890', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349261111304', '1501570619841810433', '1699374801816125442', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349265305602', '1501570619841810433', '1699375086147993601', NULL, '2024-06-13 10:37:11', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1801081349265305603', '1501570619841810433', '1699375193576701953', NULL, '2024-06-13 10:37:11', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1801081424624365570', 'f6817f48af4fb3af11b9e8bf182f618b', '1534500282601893890', NULL, '2024-06-13 10:37:29', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1801081424624365571', 'f6817f48af4fb3af11b9e8bf182f618b', '1535226870641475586', NULL, '2024-06-13 10:37:29', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1801081424624365572', 'f6817f48af4fb3af11b9e8bf182f618b', '1535227149789184001', NULL, '2024-06-13 10:37:29', '127.0.0.1'); @@ -7903,8 +8923,21 @@ INSERT INTO `sys_role_permission` VALUES ('1801081424624365584', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1801081424624365585', 'f6817f48af4fb3af11b9e8bf182f618b', '1699374801816125442', NULL, '2024-06-13 10:37:29', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1801081424624365586', 'f6817f48af4fb3af11b9e8bf182f618b', '1699375086147993601', NULL, '2024-06-13 10:37:29', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1801081424624365587', 'f6817f48af4fb3af11b9e8bf182f618b', '1699375193576701953', NULL, '2024-06-13 10:37:29', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1802512146434314242', '1501570619841810433', '1801954937339428865', NULL, '2024-06-17 09:22:39', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1802512173219139585', 'f6817f48af4fb3af11b9e8bf182f618b', '1801954937339428865', NULL, '2024-06-17 09:22:46', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1802906584184770561', '1501570619841810433', 'f15543b0263cf6c5fac85afdd3eba3f2', NULL, '2024-06-18 11:30:01', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1803082137470636033', '1501570619841810433', '1620709334357532673', NULL, '2024-06-18 23:07:36', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1803082162472882177', 'f6817f48af4fb3af11b9e8bf182f618b', '1620709334357532673', NULL, '2024-06-18 23:07:42', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1804046501195509761', '1501570619841810433', '1804046424930480129', NULL, '2024-06-21 14:59:38', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833351001521393666', '1501570619841810433', '1800372628805861377', NULL, '2024-09-10 11:45:15', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833351001521393667', '1501570619841810433', '1800372727493640194', NULL, '2024-09-10 11:45:15', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833351001521393668', '1501570619841810433', '1800372811518132225', NULL, '2024-09-10 11:45:15', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833351001521393669', '1501570619841810433', '1800372906330374146', NULL, '2024-09-10 11:45:15', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833351001521393670', '1501570619841810433', '1800373633509441537', NULL, '2024-09-10 11:45:15', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833351001521393671', '1501570619841810433', '1800373733220630530', NULL, '2024-09-10 11:45:15', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833408020878077953', '1501570619841810433', '1810923799513612290', NULL, '2024-09-10 15:31:50', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833408020961964033', '1501570619841810433', '1811685368354754561', NULL, '2024-09-10 15:31:50', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1833408020961964034', '1501570619841810433', '1811685464467230721', NULL, '2024-09-10 15:31:50', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1833408100234309633', 'f6817f48af4fb3af11b9e8bf182f618b', '1810923799513612290', NULL, '2024-09-10 15:32:09', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1833408100242698241', 'f6817f48af4fb3af11b9e8bf182f618b', '1811685368354754561', NULL, '2024-09-10 15:32:09', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1833408100246892545', 'f6817f48af4fb3af11b9e8bf182f618b', '1811685464467230721', NULL, '2024-09-10 15:32:09', '127.0.0.1'); @@ -7915,10 +8948,18 @@ INSERT INTO `sys_role_permission` VALUES ('1833408100255281154', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1833408100255281155', 'f6817f48af4fb3af11b9e8bf182f618b', '1800372906330374146', NULL, '2024-09-10 15:32:09', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1833408100255281156', 'f6817f48af4fb3af11b9e8bf182f618b', '1800373633509441537', NULL, '2024-09-10 15:32:09', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1833408100255281157', 'f6817f48af4fb3af11b9e8bf182f618b', '1800373733220630530', NULL, '2024-09-10 15:32:09', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1866001696833613826', '1501570619841810433', '1866001513609637890', NULL, '2024-12-09 14:07:28', '127.0.0.1'); INSERT INTO `sys_role_permission` VALUES ('1866001714697154561', 'f6817f48af4fb3af11b9e8bf182f618b', '1866001513609637890', NULL, '2024-12-09 14:07:32', '127.0.0.1'); +INSERT INTO `sys_role_permission` VALUES ('1887778978006814721', '1501570619841810433', '1887447660072292354', NULL, '2025-02-07 16:22:36', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1887788524574068737', '1501570619841810433', '1438108223489040385', NULL, '2025-02-07 17:00:32', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1887788524574068738', '1501570619841810433', '1438108222721482753', NULL, '2025-02-07 17:00:32', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1887788524574068739', '1501570619841810433', '1438108222218166273', NULL, '2025-02-07 17:00:32', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1887788524574068740', '1501570619841810433', '1438108221849067522', NULL, '2025-02-07 17:00:32', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1887788524574068741', '1501570619841810433', '1438108223661006850', NULL, '2025-02-07 17:00:32', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1892117657990971393', '1456165677820301314', '1876220177009315842', NULL, '2025-02-19 15:42:58', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1892117657990971394', '1456165677820301314', '1867047795019440130', NULL, '2025-02-19 15:42:58', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1892117657990971395', '1456165677820301314', '1867041505346019330', NULL, '2025-02-19 15:42:58', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1892509406223613954', '1501570619841810433', '1876220177009315842', NULL, '2025-02-20 17:39:38', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1907407238864781314', 'f6817f48af4fb3af11b9e8bf182f618b', '1892553163993931777', NULL, '2025-04-02 20:18:18', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1907407238864781315', 'f6817f48af4fb3af11b9e8bf182f618b', '1895401981290643458', NULL, '2025-04-02 20:18:18', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1907407238864781316', 'f6817f48af4fb3af11b9e8bf182f618b', '1892553778493022209', NULL, '2025-04-02 20:18:18', '0:0:0:0:0:0:0:1'); @@ -7942,12 +8983,170 @@ INSERT INTO `sys_role_permission` VALUES ('1922109760551858178', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1922164055780016129', 'f6817f48af4fb3af11b9e8bf182f618b', '2025050105554940201', NULL, '2025-05-13 13:36:38', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1922164055800987650', 'f6817f48af4fb3af11b9e8bf182f618b', '2025050105554940202', NULL, '2025-05-13 13:36:38', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1923218122706386946', 'f6817f48af4fb3af11b9e8bf182f618b', '1890213291321749505', NULL, '2025-05-16 11:25:07', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1923218155547787265', '1501570619841810433', '1892553163993931777', NULL, '2025-05-16 11:25:15', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1923218155547787266', '1501570619841810433', '1895401981290643458', NULL, '2025-05-16 11:25:15', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1923218155547787267', '1501570619841810433', '1892553778493022209', NULL, '2025-05-16 11:25:15', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1923218155547787268', '1501570619841810433', '1890213291321749505', NULL, '2025-05-16 11:25:15', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1923218155547787269', '1501570619841810433', '1892557342028226561', NULL, '2025-05-16 11:25:15', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1923218155547787270', '1501570619841810433', '1893865471550578689', NULL, '2025-05-16 11:25:15', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570591584258', '1501570619841810433', '1438108221551271937', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693122', '1501570619841810433', '1922109301837606914', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693123', '1501570619841810433', '2025050104193340030', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693124', '1501570619841810433', '2025050104193350031', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693125', '1501570619841810433', '2025050104193350032', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693126', '1501570619841810433', '2025050104193350033', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693127', '1501570619841810433', '2025050104193350034', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693128', '1501570619841810433', '2025050104193350035', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693129', '1501570619841810433', '2025050104193350036', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693130', '1501570619841810433', '2025050105554940200', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693131', '1501570619841810433', '2025050105554940201', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693132', '1501570619841810433', '2025050105554940202', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693133', '1501570619841810433', '2025050105554940203', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693134', '1501570619841810433', '2025050105554940204', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693135', '1501570619841810433', '2025050105554940205', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693136', '1501570619841810433', '2025050105554940206', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937756570658693137', '1501570619841810433', '1917957565728198657', NULL, '2025-06-25 14:15:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330064568321', '1501570619841810433', '1930222558582472705', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330077151234', '1501570619841810433', '1930222617197871105', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330085539842', '1501570619841810433', '1930222679269376001', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330085539843', '1501570619841810433', '1930222862556266498', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330085539844', '1501570619841810433', '1930222953853681666', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330085539845', '1501570619841810433', '1930223034757611522', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734145', '1501570619841810433', '1930223132619112449', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734146', '1501570619841810433', '1930221570324758530', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734147', '1501570619841810433', '1930221637551063042', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734148', '1501570619841810433', '1930221702164316161', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734149', '1501570619841810433', '1930221774230847490', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734150', '1501570619841810433', '1930221983555977217', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330089734151', '1501570619841810433', '1930222066120851457', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330093928450', '1501570619841810433', '1930222218734796802', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330093928451', '1501570619841810433', '1930222295012409345', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330093928452', '1501570619841810433', '1930222395180777474', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330098122753', '1501570619841810433', '1930221213607591937', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1937789330098122754', '1501570619841810433', '1930221335938662401', NULL, '2025-06-25 16:25:53', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1938073430981754881', '1501570619841810433', '1912753560201089025', NULL, '2025-06-26 11:14:48', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950486711935152129', '1501570619841810433', '1939572818833301506', NULL, '2025-07-30 17:20:45', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950486711935152130', '1501570619841810433', '1455735714507472898', NULL, '2025-07-30 17:20:45', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950487094736695297', '1501570619841810433', '1930152938891608066', NULL, '2025-07-30 17:22:16', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950487094803804162', '1501570619841810433', '1942160438629109761', NULL, '2025-07-30 17:22:16', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950487483951329281', '1501570619841810433', '1941349246536998913', NULL, '2025-07-30 17:23:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950487483951329282', '1501570619841810433', '1941349335431077889', NULL, '2025-07-30 17:23:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950487483959717889', '1501570619841810433', '1941349462887587842', NULL, '2025-07-30 17:23:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1950487483959717890', '1501570619841810433', '1941349550087168001', NULL, '2025-07-30 17:23:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1962489414454194178', '1962488045068464130', '1609123240547344385', NULL, '2025-09-01 20:15:12', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251539722241', '1962488045068464130', '1674708136602542082', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251548110850', '1962488045068464130', '1663816667704500225', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251552305154', '1962488045068464130', '119213522910765570', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251552305155', '1962488045068464130', '1592114574275211345', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251560693762', '1962488045068464130', '1960994076329316353', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251560693763', '1962488045068464130', '1214462306546319322', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251560693764', '1962488045068464130', '1597419994965786625', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251560693765', '1962488045068464130', '1592102143467200514', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251569082370', '1962488045068464130', '1592114893302823614', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251569082371', '1962488045068464130', '1592120323667750934', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251569082372', '1962488045068464130', '1592120372296522490', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251569082373', '1962488045068464130', '1592120427223412865', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251573276674', '1962488045068464130', '1961009998209257473', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251573276675', '1962488045068464130', '1592115712422330529', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251573276676', '1962488045068464130', '1592117222764277032', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251573276677', '1962488045068464130', '1592117276539449346', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251581665281', '1962488045068464130', '1592117377299214338', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251581665282', '1962488045068464130', '1961253156897710081', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251585859586', '1962488045068464130', '1600105607009162230', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251585859587', '1962488045068464130', '1600108123037913486', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962765251585859588', '1962488045068464130', '1609123240547344376', NULL, '2025-09-02 14:31:17', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1962766200899461121', '1962488045068464130', '1592114955650691174', NULL, '2025-09-02 14:35:03', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1963068885343252482', '1962488045068464130', '1600129606082650123', NULL, '2025-09-03 10:37:49', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1963086686351036418', '1962488045068464130', '1963086454217281537', NULL, '2025-09-03 11:48:33', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1963133491872829442', '1962488045068464130', '1963133393868722178', NULL, '2025-09-03 14:54:32', '192.168.1.6'); INSERT INTO `sys_role_permission` VALUES ('1963153837854330881', 'ee8626f80f7c2619917b6236f3a7f02b', '1596141938193747970', NULL, '2025-09-03 16:15:23', '192.168.1.6'); INSERT INTO `sys_role_permission` VALUES ('1963153837854330882', 'ee8626f80f7c2619917b6236f3a7f02b', '1596335805278990338', NULL, '2025-09-03 16:15:23', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1963153837854339901', 'ee8626f80f7c2619917b6236f3a7f02b', '1611620654621569026', NULL, '2025-09-03 16:15:23', '192.168.1.6'); +INSERT INTO `sys_role_permission` VALUES ('1966810195686531074', 'ee8626f80f7c2619917b6236f3a7f02b', '1438108225451974658', NULL, '2025-09-13 18:24:27', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299781357570', '1501570619841810433', '1438108187455774722', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746177', '1501570619841810433', '1438108187678072833', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746178', '1501570619841810433', '1438108189062193153', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746179', '1501570619841810433', '1438108189427097601', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746180', '1501570619841810433', '1438108189754253313', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746181', '1501570619841810433', '1438108187871010818', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746182', '1501570619841810433', '1438108190110769154', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299789746183', '1501570619841810433', '1438108190404370433', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134786', '1501570619841810433', '1438108188034588674', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134787', '1501570619841810433', '1438108190777663490', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134788', '1501570619841810433', '1438108191356477442', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134789', '1501570619841810433', '1438108188378521602', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134790', '1501570619841810433', '1438108192623157249', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134791', '1501570619841810433', '1438108193701093378', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134792', '1501570619841810433', '1438108188542099458', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134793', '1501570619841810433', '1438108194992939010', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134794', '1501570619841810433', '1438108195307511809', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134795', '1501570619841810433', '1438108195487866881', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299798134796', '1501570619841810433', '1438108195638861825', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329089', '1501570619841810433', '1438108195924074497', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329090', '1501570619841810433', '1438108178911977473', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329091', '1501570619841810433', '1438108183630569474', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329092', '1501570619841810433', '1438108183630569477', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329093', '1501570619841810433', '1438108183907393538', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329094', '1501570619841810433', '1438108184049999873', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329095', '1501570619841810433', '1438108188714065922', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329096', '1501570619841810433', '1438108196263813121', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329097', '1501570619841810433', '1438108196528054273', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329098', '1501570619841810433', '1438108196855209985', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329099', '1501570619841810433', '1438108217562488834', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329100', '1501570619841810433', '1438108217860284417', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329101', '1501570619841810433', '1438108218049028097', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299802329102', '1501570619841810433', '1438108218409738242', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717697', '1501570619841810433', '1438108218787225601', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717698', '1501570619841810433', '1438108219034689538', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717699', '1501570619841810433', '1438108219240210434', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717700', '1501570619841810433', '1438108219445731330', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717701', '1501570619841810433', '1438108219592531970', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717702', '1501570619841810433', '1438108219793858561', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717703', '1501570619841810433', '1446778415130722306', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717704', '1501570619841810433', '1438108220137791489', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717705', '1501570619841810433', '1438108220418809857', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717706', '1501570619841810433', '1438108220523667458', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717707', '1501570619841810433', '1438108220896960513', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717708', '1501570619841810433', '1438108221127647234', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717709', '1501570619841810433', '1438108221270253570', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299810717710', '1501570619841810433', '1438108220724994049', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299814912001', '1501570619841810433', '1438108183395688450', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299814912002', '1501570619841810433', '1438115924159881218', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299814912003', '1501570619841810433', '1438116003012796418', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299814912004', '1501570619841810433', '1438108183492157442', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299814912005', '1501570619841810433', '1438108186717577217', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1966827299814912006', '1501570619841810433', '1438108187103453186', NULL, '2025-09-13 19:32:25', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363665309697', '1501570619841810433', '1674708136602542082', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363677892609', '1501570619841810433', '1963133393868722178', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363677892610', '1501570619841810433', '119213522910765570', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363677892611', '1501570619841810433', '1597419994965786625', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363677892612', '1501570619841810433', '1592102143467200514', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363686281217', '1501570619841810433', '1592114893302823614', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363686281218', '1501570619841810433', '1592114955650691174', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475522', '1501570619841810433', '1592120323667750934', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475523', '1501570619841810433', '1592120372296522490', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475524', '1501570619841810433', '1592120427223412865', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475525', '1501570619841810433', '1961009998209257473', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475526', '1501570619841810433', '1592115712422330529', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475527', '1501570619841810433', '1592117222764277032', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475528', '1501570619841810433', '1592117276539449346', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475529', '1501570619841810433', '1592117377299214338', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363690475530', '1501570619841810433', '1961253156897710081', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363694669826', '1501570619841810433', '1600105607009162230', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363694669827', '1501570619841810433', '1600108123037913486', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363694669828', '1501570619841810433', '1609123240547344376', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993228363694669829', '1501570619841810433', '1963086454217281537', NULL, '2025-11-25 16:00:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993244381406035969', '1501570619841810433', '1443390062919208961', NULL, '2025-11-25 17:04:28', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993244381456367618', '1501570619841810433', '1443391584864358402', NULL, '2025-11-25 17:04:28', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993244381456367619', '1501570619841810433', '1439542701152575489', NULL, '2025-11-25 17:04:28', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1993532089659559937', 'f6817f48af4fb3af11b9e8bf182f618b', '1980223355087781889', NULL, '2025-11-26 12:07:43', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1993532089659559938', 'f6817f48af4fb3af11b9e8bf182f618b', '1912753560201089025', NULL, '2025-11-26 12:07:43', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993532116092063746', '1501570619841810433', '1980223355087781889', NULL, '2025-11-26 12:07:49', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993532192269012993', '1501570619841810433', '1972645086223814657', NULL, '2025-11-26 12:08:07', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1993532373655883778', '1501570619841810433', '1972617196420993025', NULL, '2025-11-26 12:08:51', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1993532463099416577', 'f6817f48af4fb3af11b9e8bf182f618b', '1972617196420993025', NULL, '2025-11-26 12:09:12', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1993532463099416578', 'f6817f48af4fb3af11b9e8bf182f618b', '1972645086223814657', NULL, '2025-11-26 12:09:12', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1995391197980127234', '1501570619841810433', '1930223114757611522', NULL, '2025-12-01 15:15:09', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1995391279299293186', 'f6817f48af4fb3af11b9e8bf182f618b', '1930222862556266498', NULL, '2025-12-01 15:15:28', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1995391279299293187', 'f6817f48af4fb3af11b9e8bf182f618b', '1930222953853681666', NULL, '2025-12-01 15:15:28', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1995391279299293188', 'f6817f48af4fb3af11b9e8bf182f618b', '1930223034757611522', NULL, '2025-12-01 15:15:28', '0:0:0:0:0:0:0:1'); @@ -7968,6 +9167,8 @@ INSERT INTO `sys_role_permission` VALUES ('1995391337201659908', 'f6817f48af4fb3 INSERT INTO `sys_role_permission` VALUES ('1995391337201659909', 'f6817f48af4fb3af11b9e8bf182f618b', '1930222617197871105', NULL, '2025-12-01 15:15:42', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1995391337201659910', 'f6817f48af4fb3af11b9e8bf182f618b', '1930222558582472705', NULL, '2025-12-01 15:15:42', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828182863873', '1996463539853824001', '1438108176273760258', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828191252482', '1996463539853824001', '9502685863ab87f0ad1134142788a385', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828191252483', '1996463539853824001', '1438108176814825473', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828191252484', '1996463539853824001', '1620709334357532673', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828191252485', '1996463539853824001', '1892553163993931777', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828191252486', '1996463539853824001', '1893865471550578689', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); @@ -7996,6 +9197,52 @@ INSERT INTO `sys_role_permission` VALUES ('1996463828212224004', '19964635398538 INSERT INTO `sys_role_permission` VALUES ('1996463828212224005', '1996463539853824001', '1895401981290643458', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828212224006', '1996463539853824001', '1980223355087781889', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828212224007', '1996463539853824001', '1912753560201089025', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224008', '1996463539853824001', '1460888189937176577', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224009', '1996463539853824001', '1535225446864011265', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224010', '1996463539853824001', '1699374612388773890', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224011', '1996463539853824001', '1699374704168534017', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224012', '1996463539853824001', '1699374801816125442', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224013', '1996463539853824001', '1699375086147993601', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224014', '1996463539853824001', '1699375193576701953', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224015', '1996463539853824001', '1801954937339428865', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224016', '1996463539853824001', '1455101470794850305', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828212224017', '1996463539853824001', '1534500282601893890', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612609', '1996463539853824001', '1535226870641475586', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612610', '1996463539853824001', '1535227149789184001', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612611', '1996463539853824001', '1542383139476467713', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612612', '1996463539853824001', '1542383223979110402', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612613', '1996463539853824001', '1542383292690198530', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612614', '1996463539853824001', '1542383437808922625', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612615', '1996463539853824001', '1542383507883159553', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612616', '1996463539853824001', '1542383573423353858', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612617', '1996463539853824001', '1542383826117586945', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828220612618', '1996463539853824001', '1542383907281563650', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806914', '1996463539853824001', '1546736974756032513', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806915', '1996463539853824001', '1699374269152100354', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806916', '1996463539853824001', '1699374346553786370', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806917', '1996463539853824001', '1699374404015751169', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806918', '1996463539853824001', '1699374509749960705', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806919', '1996463539853824001', '1455100420297859074', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806920', '1996463539853824001', '1461291438825558017', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806921', '1996463539853824001', '1746709108126285826', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806922', '1996463539853824001', '1691031996d593131521', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806923', '1996463539853824001', '1691031996d5931315212', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806924', '1996463539853824001', '1691031996d5931315213', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806925', '1996463539853824001', '1465686870713782273', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806926', '1996463539853824001', '1509417558230999041', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806927', '1996463539853824001', '1461270075543347202', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806928', '1996463539853824001', '1866001513609637890', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806929', '1996463539853824001', '1452508868884353026', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806930', '1996463539853824001', '1473927410093187073', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806931', '1996463539853824001', '1542385335362383873', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828224806932', '1996463539853824001', '1554384900763729922', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195521', '1996463539853824001', '1698650926200352770', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195522', '1996463539853824001', '1699038961937113090', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195523', '1996463539853824001', '1699039098474291201', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195524', '1996463539853824001', '1699039192154071041', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195525', '1996463539853824001', '1701475606988812289', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195526', '1996463539853824001', '1876220177009315842', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828233195527', '1996463539853824001', '1907441271556497409', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828233195528', '1996463539853824001', 'd7d6e2e4e2934f2c9385a623fd98c6f3', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828233195529', '1996463539853824001', '1170592628746878978', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828233195530', '1996463539853824001', '1592112984361365505', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); @@ -8039,6 +9286,20 @@ INSERT INTO `sys_role_permission` VALUES ('1996463828245778441', '19964635398538 INSERT INTO `sys_role_permission` VALUES ('1996463828245778442', '1996463539853824001', '1592120594695286785', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828245778443', '1996463539853824001', '1592120649007329281', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828245778444', '1996463539853824001', '1693195557097164801', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828245778445', '1996463539853824001', '45c966826eeff4c99b8f8ebfe74511fc', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828245778446', '1996463539853824001', '1592115712466710529', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972738', '1996463539853824001', '1592117222764277761', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972739', '1996463539853824001', '1592117276539449345', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972740', '1996463539853824001', '1592117377299214337', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972741', '1996463539853824001', '1592117422006300673', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972742', '1996463539853824001', '1592120222727630849', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972743', '1996463539853824001', '1972617196420993025', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828249972744', '1996463539853824001', '5c2f42277948043026b7a14692456828', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828258361346', '1996463539853824001', '1592117625664925697', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828258361347', '1996463539853824001', '1592117748209905665', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828258361348', '1996463539853824001', '1592117804359053314', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828258361349', '1996463539853824001', '1592117990305132545', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828258361350', '1996463539853824001', '1592118053634928641', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828258361351', '1996463539853824001', '1438782641187074050', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828258361352', '1996463539853824001', '1592118192218927105', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828258361353', '1996463539853824001', '1592118254844080130', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); @@ -8050,14 +9311,43 @@ INSERT INTO `sys_role_permission` VALUES ('1996463828258361358', '19964635398538 INSERT INTO `sys_role_permission` VALUES ('1996463828258361359', '1996463539853824001', '1593161025790320641', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828258361360', '1996463539853824001', '1593161089787011074', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828258361361', '1996463539853824001', '1810652607946940417', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828258361362', '1996463539853824001', '1701575168519839746', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555650', '1996463539853824001', '1800372628805861377', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555651', '1996463539853824001', '1800372727493640194', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555652', '1996463539853824001', '1800372811518132225', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555653', '1996463539853824001', '1800372906330374146', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555654', '1996463539853824001', '1800373633509441537', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555655', '1996463539853824001', '1800373733220630530', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828262555656', '1996463539853824001', '1438782851980210178', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('1996463828262555657', '1996463539853824001', '1438782530717495298', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828262555658', '1996463539853824001', '1596141938193747970', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1996463828262555659', '1996463539853824001', '1596335805278990338', NULL, '2025-12-04 14:17:24', '0:0:0:0:0:0:0:1'); -INSERT INTO `sys_role_permission` VALUES ('1996467975703560193', '1996463539853824001', '9502685863ab87f0ad1134142788a385', NULL, '2025-12-04 14:33:53', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('1ac1688ef8456f384091a03d88a89ab1', '52b0cf022ac4187b2a70dfa4f8b2d940', '693ce69af3432bd00be13c3971a57961', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('1af4babaa4227c3cbb830bc5eb513abb', 'ee8626f80f7c2619917b6236f3a7f02b', 'e08cb190ef230d5d4f03824198773950', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('1ba162bbc2076c25561f8622f610d5bf', 'ee8626f80f7c2619917b6236f3a7f02b', 'aedbf679b5773c1f25e9f7b10111da73', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('1fe4d408b85f19618c15bcb768f0ec22', '1750a8fb3e6d90cb7957c02de1dc8e59', '9502685863ab87f0ad1134142788a385', NULL, NULL, NULL); +INSERT INTO `sys_role_permission` VALUES ('2013562995686309890', '1501570619841810433', '2012376076054974466', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013562995694698498', '1501570619841810433', '1999367175911657473', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013562995703087105', '1501570619841810433', '2000880658872508417', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013562995703087106', '1501570619841810433', '2012375501376606210', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013562995703087107', '1501570619841810433', '2008516285254000642', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013562995703087108', '1501570619841810433', '2010623918706446338', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013562995707281409', '1501570619841810433', '1996422809213341698', NULL, '2026-01-20 18:43:23', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053127303169', 'f6817f48af4fb3af11b9e8bf182f618b', '1930152938891608066', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053127303170', 'f6817f48af4fb3af11b9e8bf182f618b', '1942160438629109761', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053127303171', 'f6817f48af4fb3af11b9e8bf182f618b', '1996422809213341698', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053127303172', 'f6817f48af4fb3af11b9e8bf182f618b', '2012376076054974466', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053135691777', 'f6817f48af4fb3af11b9e8bf182f618b', '1999367175911657473', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053135691778', 'f6817f48af4fb3af11b9e8bf182f618b', '2000880658872508417', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053135691779', 'f6817f48af4fb3af11b9e8bf182f618b', '2012375501376606210', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053135691780', 'f6817f48af4fb3af11b9e8bf182f618b', '2008516285254000642', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013563053135691781', 'f6817f48af4fb3af11b9e8bf182f618b', '2010623918706446338', NULL, '2026-01-20 18:43:37', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013564035835953154', '1501570619841810433', '2025070908023480210', NULL, '2026-01-20 18:47:31', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013564317332471810', '1501570619841810433', '2025070908023490211', NULL, '2026-01-20 18:48:38', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013564317399580674', '1501570619841810433', '2025070908023490212', NULL, '2026-01-20 18:48:38', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013564317399580675', '1501570619841810433', '2025070908023490213', NULL, '2026-01-20 18:48:38', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013564317399580676', '1501570619841810433', '2025070908023490214', NULL, '2026-01-20 18:48:38', '0:0:0:0:0:0:0:1'); +INSERT INTO `sys_role_permission` VALUES ('2013564317399580677', '1501570619841810433', '2025070908023490215', NULL, '2026-01-20 18:48:38', '0:0:0:0:0:0:0:1'); INSERT INTO `sys_role_permission` VALUES ('248d288586c6ff3bd14381565df84163', '52b0cf022ac4187b2a70dfa4f8b2d940', '3f915b2769fc80648e92d04e84ca059d', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('25f5443f19c34d99718a016d5f54112e', 'ee8626f80f7c2619917b6236f3a7f02b', '6e73eb3c26099c191bf03852ee1310a1', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('27489816708b18859768dfed5945c405', 'a799c3b1b12dd3ed4bd046bfaef5fe6e', '9502685863ab87f0ad1134142788a385', NULL, NULL, NULL); @@ -8255,6 +9545,9 @@ INSERT INTO `sys_role_permission` VALUES ('d3fe195d59811531c05d31d8436f5c8b', '1 INSERT INTO `sys_role_permission` VALUES ('e258ca8bf7ee168b93bfee739668eb15', 'ee8626f80f7c2619917b6236f3a7f02b', 'fb367426764077dcf94640c843733985', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('e339f7db7418a4fd2bd2c113f1182186', 'ee8626f80f7c2619917b6236f3a7f02b', 'b1cb0a3fedf7ed0e4653cb5a229837ee', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('e3e922673f4289b18366bb51b6200f17', '52b0cf022ac4187b2a70dfa4f8b2d940', '45c966826eeff4c99b8f8ebfe74511fc', NULL, NULL, NULL); +INSERT INTO `sys_role_permission` VALUES ('eb19ea10f5d311f0abad00155d056b00', '1600076470335246337', '2012375501376606210', NULL, '2026-01-20 15:43:24', '127.0.0.16'); +INSERT INTO `sys_role_permission` VALUES ('eb1a1415f5d311f0abad00155d056b00', '1600076470335246337', '2012376076054974466', NULL, '2026-01-20 15:43:24', '127.0.0.17'); +INSERT INTO `sys_role_permission` VALUES ('eb1a381bf5d311f0abad00155d056b00', '1600076470335246337', '1996422809213341698', NULL, '2026-01-20 15:43:24', '127.0.0.17'); INSERT INTO `sys_role_permission` VALUES ('ecdd72fe694e6bba9c1d9fc925ee79de', 'f6817f48af4fb3af11b9e8bf182f618b', '45c966826eeff4c99b8f8ebfe74511fc', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('f17ab8ad1e71341140857ef4914ef297', '21c5a3187763729408b40afb0d0fdfa8', '732d48f8e0abe99fe6a23d18a3171cd1', NULL, NULL, NULL); INSERT INTO `sys_role_permission` VALUES ('fd86f6b08eb683720ba499f9d9421726', 'ee8626f80f7c2619917b6236f3a7f02b', '693ce69af3432bd00be13c3971a57961', NULL, NULL, NULL); @@ -8285,7 +9578,7 @@ CREATE TABLE `sys_sms` ( INDEX `idx_ss_es_receiver`(`es_receiver`) USING BTREE, INDEX `idx_ss_es_send_time`(`es_send_time`) USING BTREE, INDEX `idx_ss_es_send_status`(`es_send_status`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_sms @@ -8317,7 +9610,7 @@ CREATE TABLE `sys_sms_template` ( `use_status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '是否使用中 1是0否', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_sst_template_code`(`template_code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_sms_template @@ -8342,7 +9635,7 @@ CREATE TABLE `sys_table_white_list` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uniq_sys_table_white_list_table_name`(`table_name`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统表白名单' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统表白名单' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_table_white_list @@ -8400,7 +9693,7 @@ CREATE TABLE `sys_tenant` ( `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `apply_status` int(3) NULL DEFAULT NULL COMMENT '允许申请管理员 1允许 0不允许', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '多租户信息表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '多租户信息表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_tenant @@ -8427,7 +9720,7 @@ CREATE TABLE `sys_tenant_pack` ( `iz_sysn` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '自动分配给用户(0否 1是)', PRIMARY KEY (`id`) USING BTREE, INDEX `idx__stp_tenant_id_pack_code`(`tenant_id`, `pack_code`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户产品包' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户产品包' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_tenant_pack @@ -8451,7 +9744,7 @@ CREATE TABLE `sys_tenant_pack_perms` ( `update_time` date NULL DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_stpp_pack_id`(`pack_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户产品包和菜单关系表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户产品包和菜单关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_tenant_pack_perms @@ -8503,7 +9796,7 @@ CREATE TABLE `sys_tenant_pack_user` ( INDEX `idx_tpu_user_id`(`user_id`) USING BTREE, INDEX `idx_tpu_tenant_id`(`tenant_id`) USING BTREE, INDEX `idx_tpu_status`(`status`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户套餐人员表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户套餐人员表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_tenant_pack_user @@ -8536,7 +9829,7 @@ CREATE TABLE `sys_third_account` ( UNIQUE INDEX `uniq_stat_third_type_user_id`(`third_type`, `third_user_id`) USING BTREE, UNIQUE INDEX `uniq_sta_third_user_id_third_type`(`third_user_id`, `third_type`, `tenant_id`) USING BTREE, UNIQUE INDEX `uniq_sta_third_user_uuid_third_type`(`third_user_uuid`, `third_type`, `tenant_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_third_account @@ -8560,7 +9853,7 @@ CREATE TABLE `sys_third_app_config` ( PRIMARY KEY (`id`) USING BTREE, INDEX `idx_stac_tenant_id`(`tenant_id`) USING BTREE, INDEX `idx_stac_third_type`(`third_type`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户第三方配置表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '租户第三方配置表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_third_app_config @@ -8615,15 +9908,15 @@ CREATE TABLE `sys_user` ( INDEX `idx_su_del_flag`(`del_flag`) USING BTREE, INDEX `idx_su_del_username`(`username`, `del_flag`) USING BTREE, INDEX `idx_su_main_dep_post_id`(`main_dep_post_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user -- ---------------------------- INSERT INTO `sys_user` VALUES ('1714471285016895490', 'ceshi', '测试用户', 'a9932bb12d2cbc5a', 'AF4vhXUz', NULL, '2024-04-11', NULL, 'winter@jeecg.org', '15201111112', NULL, 1, 0, NULL, NULL, 1, '123', NULL, 'admin', '2023-10-18 10:39:42', 'ceshi', '2025-05-08 16:11:05', 1, '', NULL, 0, NULL, NULL, NULL, NULL, NULL, '2025-11-25 15:42:34', 1000, NULL); -INSERT INTO `sys_user` VALUES ('3d464b4ea0d2491aab8a7bde74c57e95', 'zhangsan', '张三', '02ea098224c7d0d2077c14b9a3a1ed16', 'x5xRdeKB', 'https://static.jeecg.com/temp/jmlogo_1606575041993.png', '2024-04-11', NULL, '111@1.com', '13426411111', '财务部', 1, 1, NULL, NULL, 1, '0005', NULL, 'admin', '2020-05-14 21:26:24', 'admin', '2024-04-26 13:25:37', 1, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2025-11-25 15:42:34', 1000, NULL); +INSERT INTO `sys_user` VALUES ('3d464b4ea0d2491aab8a7bde74c57e95', 'zhangsan', '张三', '02ea098224c7d0d2077c14b9a3a1ed16', 'x5xRdeKB', 'https://static.jeecg.com/temp/jmlogo_1606575041993.png', '2024-04-11', NULL, '111@1.com', '13426411111', '财务部', 1, 0, NULL, NULL, 1, '0005', NULL, 'admin', '2020-05-14 21:26:24', 'admin', '2024-04-26 13:25:37', 1, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2025-11-25 15:42:34', 1000, NULL); INSERT INTO `sys_user` VALUES ('a75d45a015c44384a04449ee80dc3503', 'jeecg', 'jeecg', 'eee378a1258530cb', 'mIgiYJow', 'https://static.jeecg.com/temp/国炬软件logo_1606575029126.png', NULL, 1, '418799587@qq.com', '18611788525', 'A02A01', 1, 0, NULL, NULL, 1, '00002', NULL, 'admin', '2019-02-13 16:02:36', 'admin', '2023-10-18 13:51:36', 1, '', NULL, 1001, NULL, NULL, NULL, NULL, NULL, '2025-11-25 15:42:34', 1000, NULL); -INSERT INTO `sys_user` VALUES ('e9ca23d68d884d4ebb19d07889727dae', 'admin', '管理员', 'cb362cfeefbf3d8d', 'RCGTeGiH', 'https://static.jeecg.com/temp/国炬软件logo_1606575029126.png', '1986-02-01', 1, 'jeecg@163.com', '18611111111', 'A01A03', 1, 0, NULL, NULL, 1, '00001', NULL, NULL, '2019-06-21 17:54:10', 'admin', '2025-12-04 14:20:45', 2, '', NULL, 1000, NULL, 0, NULL, '', NULL, '2025-11-25 15:42:34', 1000, NULL); +INSERT INTO `sys_user` VALUES ('e9ca23d68d884d4ebb19d07889727dae', 'admin', '管理员', 'cb362cfeefbf3d8d', 'RCGTeGiH', 'https://static.jeecg.com/temp/国炬软件logo_1606575029126.png', '1986-02-01', 1, 'jeecg@163.com', '18611111111', 'A01A03', 1, 0, NULL, NULL, 1, '00001', NULL, NULL, '2019-06-21 17:54:10', 'admin', '2025-12-03 19:12:32', 2, '', NULL, 1000, NULL, 0, NULL, '', NULL, '2025-11-25 15:42:34', 1000, NULL); -- ---------------------------- -- Table structure for sys_user_dep_post @@ -8641,7 +9934,7 @@ CREATE TABLE `sys_user_dep_post` ( INDEX `idx_sudp_user_id`(`user_id`) USING BTREE, INDEX `idx_sudp_dep_id`(`dep_id`) USING BTREE, INDEX `idx_sudp_user_dep_id`(`user_id`, `dep_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_dep_post @@ -8659,7 +9952,7 @@ CREATE TABLE `sys_user_depart` ( UNIQUE INDEX `idx_sud_user_dep_id`(`user_id`, `dep_id`) USING BTREE, INDEX `idx_sud_user_id`(`user_id`) USING BTREE, INDEX `idx_sud_dep_id`(`dep_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_depart @@ -8667,7 +9960,7 @@ CREATE TABLE `sys_user_depart` ( INSERT INTO `sys_user_depart` VALUES ('1783729121915510785', '3d464b4ea0d2491aab8a7bde74c57e95', 'a7d7e77e06c84325a40932163adcdaa6'); INSERT INTO `sys_user_depart` VALUES ('1714519577067200514', 'a75d45a015c44384a04449ee80dc3503', 'a7d7e77e06c84325a40932163adcdaa6'); INSERT INTO `sys_user_depart` VALUES ('1f3a0267811327b9eca86b0cc2b956f3', 'bcbe1290783a469a83ae3bd8effe15d4', '5159cde220114246b045e574adceafe9'); -INSERT INTO `sys_user_depart` VALUES ('1996464673553186818', 'e9ca23d68d884d4ebb19d07889727dae', '4f1765520d6346f9bd9c79e2479e5b12'); +INSERT INTO `sys_user_depart` VALUES ('1996175712356261891', 'e9ca23d68d884d4ebb19d07889727dae', '4f1765520d6346f9bd9c79e2479e5b12'); -- ---------------------------- -- Table structure for sys_user_position @@ -8685,7 +9978,7 @@ CREATE TABLE `sys_user_position` ( INDEX `idx_sup_user_id`(`user_id`) USING BTREE, INDEX `idx_sup_position_id`(`position_id`) USING BTREE, INDEX `idx_sup_user_position_id`(`user_id`, `position_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_position @@ -8705,18 +9998,20 @@ CREATE TABLE `sys_user_role` ( INDEX `idx_sur_user_id`(`user_id`) USING BTREE, INDEX `idx_sur_role_id`(`role_id`) USING BTREE, INDEX `idx_sur_user_role_id`(`user_id`, `role_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户角色表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户角色表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_role -- ---------------------------- INSERT INTO `sys_user_role` VALUES ('0ede6d23d53bc7dc990346ff14faabee', '3db4cf42353f4e868b7ccfeef90505d2', 'ee8626f80f7c2619917b6236f3a7f02b', 0); INSERT INTO `sys_user_role` VALUES ('1714519577000091650', 'a75d45a015c44384a04449ee80dc3503', 'ee8626f80f7c2619917b6236f3a7f02b', 0); +INSERT INTO `sys_user_role` VALUES ('1714519577000091651', 'a75d45a015c44384a04449ee80dc3503', '1501570619841810433', 0); INSERT INTO `sys_user_role` VALUES ('1783729121881956354', '3d464b4ea0d2491aab8a7bde74c57e95', 'ee8626f80f7c2619917b6236f3a7f02b', 0); INSERT INTO `sys_user_role` VALUES ('1794912584001581058', 'a75d45a015c44384a04449ee80dc3503', '1169504891467464706', 0); INSERT INTO `sys_user_role` VALUES ('1794912584001581059', 'a75d45a015c44384a04449ee80dc3503', '1169504891467464707', 0); INSERT INTO `sys_user_role` VALUES ('1920390985230229505', '1714471285016895490', 'ee8626f80f7c2619917b6236f3a7f02b', 0); -INSERT INTO `sys_user_role` VALUES ('1996464673523826689', 'e9ca23d68d884d4ebb19d07889727dae', '1996463539853824001', 0); +INSERT INTO `sys_user_role` VALUES ('1996175712356261889', 'e9ca23d68d884d4ebb19d07889727dae', '1501570619841810433', 0); +INSERT INTO `sys_user_role` VALUES ('1996175712356261890', 'e9ca23d68d884d4ebb19d07889727dae', 'f6817f48af4fb3af11b9e8bf182f618b', 0); INSERT INTO `sys_user_role` VALUES ('79d66ef7aa137cfa9957081a1483009d', '9a668858c4c74cf5a2b25ad9608ba095', 'ee8626f80f7c2619917b6236f3a7f02b', 0); INSERT INTO `sys_user_role` VALUES ('b3ffd9311a1ca296c44e2409b547384f', '01b802058ea94b978a2c96f4807f6b48', '1', 0); INSERT INTO `sys_user_role` VALUES ('be2639167ede09379937daca7fc3bb73', '526f300ab35e44faaed54a9fb0742845', 'ee8626f80f7c2619917b6236f3a7f02b', 0); @@ -8744,7 +10039,7 @@ CREATE TABLE `sys_user_tenant` ( INDEX `idx_sut_user_rel_tenant`(`user_id`, `tenant_id`) USING BTREE, INDEX `idx_sut_status`(`status`) USING BTREE, INDEX `idx_sut_userid_status`(`user_id`, `status`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户租户关系表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户租户关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_user_tenant @@ -8778,7 +10073,7 @@ CREATE TABLE `test_demo` ( `pop` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '弹窗', `sel_table` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉字典表', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_demo @@ -8803,7 +10098,7 @@ CREATE TABLE `test_enhance_select` ( `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_enhance_select @@ -8838,7 +10133,7 @@ CREATE TABLE `test_note` ( `begin_time` date NULL DEFAULT NULL COMMENT '开始时间', `long_ids` bigint(20) NULL DEFAULT NULL COMMENT '长类型', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_note @@ -8846,8 +10141,9 @@ CREATE TABLE `test_note` ( INSERT INTO `test_note` VALUES ('1257876639515222017', 'admin', '2020-05-06 11:35:35', NULL, NULL, 'A01', '不同意', 20, '1', '2020-05-06 00:00:00', '999', NULL, NULL, NULL, NULL, NULL); INSERT INTO `test_note` VALUES ('1304309860578455553', 'admin', '2020-09-11 14:44:38', 'admin', '2025-06-25 17:51:19', 'A01', 'zhangsan', 18, '1', '2020-09-11 00:00:00', '

2223333

', NULL, '', NULL, NULL, NULL); INSERT INTO `test_note` VALUES ('1923203898831777793', 'admin', '2025-05-16 10:28:35', 'admin', '2025-07-31 14:12:28', 'A01', 'jeecg', 10, '2', NULL, '', NULL, '', NULL, NULL, NULL); -INSERT INTO `test_note` VALUES ('1943500714139598850', 'admin', '2025-07-11 10:40:53', 'admin', '2025-07-31 14:12:20', 'A01', 'admin', 1212, '1', '2025-07-29 00:00:00', '

经过上述讨论, 我们不得不面对一个非常尴尬的事实, 那就是, 这样看来, 一般来讲, 我们都必须务必慎重的考虑考虑. 就我个人来说, 随机一段废话对我的意义, 不能不说非常重大. 
每个人都不得不面对这些问题. 在面对这种问题时, 随机一段废话, 发生了会如何, 不发生又会如何. 总结的来说, 
这种事实对本人来说意义重大, 相信对这个世界也是有一定意义的.所谓随机一段废话, 关键是x需要

', NULL, '140311', NULL, NULL, NULL); -INSERT INTO `test_note` VALUES ('1966815579977478145', 'admin', '2025-09-13 18:45:50', 'admin', '2025-09-13 18:45:55', 'A01', 'ceshi', 11, '1', '2025-09-19 00:00:00', '', NULL, '', NULL, NULL, NULL); +INSERT INTO `test_note` VALUES ('1943500714139598850', 'admin', '2025-07-11 10:40:53', 'admin', '2026-01-21 23:16:27', 'A01', 'admin', 1212, '1', '2025-07-29 00:00:00', '

经过上述讨论, 我们不得不面对一个非常尴尬的事实, 那就是, 这样看来, 一般来讲, 我们都必须务必慎重的考虑考虑. 就我个人来说, 随机一段废话对我的意义, 不能不说非常重大. 
每个人都不得不面对这些问题. 在面对这种问题时, 随机一段废话, 发生了会如何, 不发生又会如何. 总结的来说, 
这种事实对本人来说意义重大, 相信对这个世界也是有一定意义的.所谓随机一段废话, 关键是x需要

', NULL, '140311', NULL, NULL, NULL); +INSERT INTO `test_note` VALUES ('1966815579977478145', 'admin', '2025-09-13 18:45:50', 'admin', '2026-01-21 23:15:46', 'A01', 'ceshi', 0, '2', '2025-09-19 00:00:00', '', NULL, '', NULL, NULL, NULL); +INSERT INTO `test_note` VALUES ('2010992399911772161', 'admin', '2026-01-13 16:28:45', 'admin', '2026-01-21 23:16:31', 'A01A03', '', 11, '', NULL, '', NULL, '', NULL, NULL, NULL); -- ---------------------------- -- Table structure for test_online_link @@ -8858,7 +10154,7 @@ CREATE TABLE `test_online_link` ( `pid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'pid', `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'name', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_online_link @@ -8893,7 +10189,7 @@ CREATE TABLE `test_order_customer` ( `order_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单id', `address` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_order_customer @@ -8922,7 +10218,7 @@ CREATE TABLE `test_order_main` ( `descc` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', `xiala` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '下拉多选', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_order_main @@ -8954,7 +10250,7 @@ CREATE TABLE `test_order_product` ( `order_fk_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '订单外键ID', `pro_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品类型', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_order_product @@ -8998,7 +10294,7 @@ CREATE TABLE `test_person` ( `be_date` datetime NULL DEFAULT NULL COMMENT '请假时间', `qj_days` int(11) NULL DEFAULT NULL COMMENT '请假天数', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_person @@ -9021,14 +10317,14 @@ CREATE TABLE `test_shoptype_tree` ( `pid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父级节点', `has_child` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否有子节点', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of test_shoptype_tree -- ---------------------------- INSERT INTO `test_shoptype_tree` VALUES ('1256629035921944577', 'admin', '2020-05-03 00:58:03', NULL, NULL, 'A01', '三星显示器', 'gh_f28e66390fc9_344 (shop)_1588438682583.jpg', '1256628864848867329', '0'); INSERT INTO `test_shoptype_tree` VALUES ('1833472226709086209', 'admin', '2024-09-10 19:46:57', NULL, NULL, 'A01', '笔记本', NULL, '0', '0'); -INSERT INTO `test_shoptype_tree` VALUES ('1923190583678107649', 'admin', '2025-05-16 09:35:40', NULL, NULL, 'A01', '水果', NULL, '0', '1'); +INSERT INTO `test_shoptype_tree` VALUES ('1923190583678107649', 'admin', '2025-05-16 09:35:40', 'admin', '2026-01-13 16:33:07', 'A01', '水果', '', '0', '1'); INSERT INTO `test_shoptype_tree` VALUES ('1923190611448594433', 'admin', '2025-05-16 09:35:47', NULL, NULL, 'A01', '苹果', NULL, '1923190583678107649', '0'); -- ---------------------------- diff --git a/jeecg-boot/jeecg-boot-base-core/pom.xml b/jeecg-boot/jeecg-boot-base-core/pom.xml index 11fde2a00..00fb9b211 100644 --- a/jeecg-boot/jeecg-boot-base-core/pom.xml +++ b/jeecg-boot/jeecg-boot-base-core/pom.xml @@ -4,7 +4,7 @@ org.jeecgframework.boot3 jeecg-boot-parent - 3.9.0 + 3.9.1 4.0.0 jeecg-boot-base-core @@ -305,7 +305,7 @@ true - + io.minio minio diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/AiragFlowDTO.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/AiragFlowDTO.java index 44d11345d..7ffa27483 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/AiragFlowDTO.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/api/dto/AiragFlowDTO.java @@ -33,4 +33,10 @@ public class AiragFlowDTO implements Serializable { * 输入参数 */ private Map inputParams; + + /** + * 是否流式返回 + */ + private boolean isStream; + } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/TenantConstant.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/TenantConstant.java index 9c1d06858..6e1918bd0 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/TenantConstant.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/TenantConstant.java @@ -47,4 +47,8 @@ public interface TenantConstant { */ String APP_ADMIN = "appAdmin"; + /** + * 增加SignatureCheck注解POST请求的URL + */ + String[] SIGNATURE_CHECK_POST_URL = { "/sys/tenant/joinTenantByHouseNumber", "/sys/tenant/invitationUser" }; } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java index dcab05531..6e800fde9 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/ResourceUtil.java @@ -3,9 +3,7 @@ package org.jeecg.common.system.util; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.annotation.EnumDict; import org.jeecg.common.system.vo.DictModel; -import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.oConvertUtils; -import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver; @@ -13,6 +11,7 @@ import org.springframework.core.type.classreading.CachingMetadataReaderFactory; import org.springframework.core.type.classreading.MetadataReader; import org.springframework.core.type.classreading.MetadataReaderFactory; import org.springframework.util.ClassUtils; + import java.lang.reflect.Method; import java.util.*; @@ -183,10 +182,10 @@ public class ResourceUtil { for (DictModel dm : dictItemList) { String value = dm.getValue(); if (keySet.contains(value)) { - List list = new ArrayList<>(); + // 修复bug:获取或创建该dictCode对应的list,而不是每次都创建新的list + List list = map.computeIfAbsent(code, k -> new ArrayList<>()); list.add(new DictModel(value, dm.getText())); - map.put(code, list); - break; + //break; } } } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java index f8fa5cc05..3f9ca152b 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/CommonUtils.java @@ -56,7 +56,9 @@ public class CommonUtils { public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){ String dbPath = null; String fileName = "image" + Math.round(Math.random() * 100000000000L); - fileName += "." + PoiPublicUtil.getFileExtendName(data); + //update-begin---author:wangshuai---date:2026-01-08---for:【QQYUN-14535】ai生成图片的后缀不一致的,导致不展示--- + fileName += "." + PoiPublicUtil.getFileExtendName(data).toLowerCase(); + //update-end---author:wangshuai---date:2026-01-08---for:【QQYUN-14535】ai生成图片的后缀不一致的,导致不展示--- try { if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){ File file = new File(basePath + File.separator + bizPath + File.separator ); @@ -366,7 +368,7 @@ public class CommonUtils { }else{ baseDomainPath = scheme + "://" + serverName + ":" + serverPort + contextPath ; } - log.debug("-----Common getBaseUrl----- : " + baseDomainPath); + log.info("-----Common getBaseUrl----- : " + baseDomainPath); return baseDomainPath; } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java index 11a306293..00928f72d 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/RestUtil.java @@ -46,7 +46,7 @@ public class RestUtil { public static String getBaseUrl() { String basepath = getDomain() + getPath(); - log.info(" RestUtil.getBaseUrl: " + basepath); + log.debug(" RestUtil.getBaseUrl: " + basepath); return basepath; } @@ -199,7 +199,7 @@ public class RestUtil { * @return ResponseEntity */ public static ResponseEntity request(String url, HttpMethod method, HttpHeaders headers, JSONObject variables, Object params, Class responseType) { - log.info(" RestUtil --- request --- url = "+ url); + log.debug(" RestUtil --- request --- url = "+ url); if (StringUtils.isEmpty(url)) { throw new RuntimeException("url 不能为空"); } @@ -230,7 +230,7 @@ public class RestUtil { String current = headers.getFirst(HttpHeaders.CONTENT_LENGTH); if (current == null || !current.equals(String.valueOf(contentLength))) { headers.setContentLength(contentLength); - log.info(" RestUtil --- request --- 修正/设置 Content-Length = " + contentLength + (current!=null?" (原值="+current+")":"")); + log.debug(" RestUtil --- request --- 修正/设置 Content-Length = " + contentLength + (current!=null?" (原值="+current+")":"")); } } // 发送请求 @@ -252,7 +252,7 @@ public class RestUtil { */ public static ResponseEntity request(String url, HttpMethod method, HttpHeaders headers, JSONObject variables, Object params, Class responseType, int timeout) { - log.info(" RestUtil --- request --- url = "+ url + ", timeout = " + timeout); + log.debug(" RestUtil --- request --- url = "+ url + ", timeout = " + timeout); if (StringUtils.isEmpty(url)) { throw new RuntimeException("url 不能为空"); @@ -302,7 +302,7 @@ public class RestUtil { String current = headers.getFirst(HttpHeaders.CONTENT_LENGTH); if (current == null || !current.equals(String.valueOf(contentLength))) { headers.setContentLength(contentLength); - log.info(" RestUtil --- request(timeout) --- 修正/设置 Content-Length = " + contentLength + (current!=null?" (原值="+current+")":"")); + log.debug(" RestUtil --- request(timeout) --- 修正/设置 Content-Length = " + contentLength + (current!=null?" (原值="+current+")":"")); } } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/SsrfFileTypeFilter.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/SsrfFileTypeFilter.java index 629321534..0d8e19bb2 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/SsrfFileTypeFilter.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/filter/SsrfFileTypeFilter.java @@ -286,5 +286,38 @@ public class SsrfFileTypeFilter { } } + /** + * 校验文件路径安全性,防止路径遍历攻击 + * @param filePath 文件路径 + */ + public static void checkPathTraversal(String filePath) { + if (StringUtils.isBlank(filePath)) { + return; + } + // 1. 防止路径遍历:不允许 .. + if (filePath.contains("..")) { + throw new JeecgBootException("文件路径包含非法字符"); + } + // 2. 防止URL编码绕过:%2e = . + String fileLower = filePath.toLowerCase(); + if (fileLower.contains("%2e")) { + throw new JeecgBootException("文件路径包含非法字符"); + } + } + + /** + * 批量校验文件路径安全性(逗号分隔的多个文件路径) + * @param files 逗号分隔的文件路径 + */ + public static void checkPathTraversalBatch(String files) { + if (StringUtils.isBlank(files)) { + return; + } + for (String file : files.split(",")) { + if (StringUtils.isNotBlank(file)) { + checkPathTraversal(file.trim()); + } + } + } } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java index 485184752..c03232505 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java @@ -1231,5 +1231,26 @@ public class oConvertUtils { .filter(name -> beanWrapper.getPropertyValue(name) == null) .toArray(String[]::new); } + + /** + * String转换long类型 + * + * @param v + * @param def + * @return + */ + public static long getLong(Object v, long def) { + if (v == null) { + return def; + }; + if (v instanceof Number) { + return ((Number) v).longValue(); + } + try { + return Long.parseLong(v.toString()); + } catch (Exception e) { + return def; + } + } } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/AiRagConfigBean.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/AiRagConfigBean.java new file mode 100644 index 000000000..8ad8babf5 --- /dev/null +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/AiRagConfigBean.java @@ -0,0 +1,24 @@ +package org.jeecg.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * ai配置类,通用的配置可以放到这里面 + * + * @Author: wangshuai + * @Date: 2025/12/17 14:00 + */ +@Data +@Component +@ConfigurationProperties(prefix = AiRagConfigBean.PREFIX) +public class AiRagConfigBean { + public static final String PREFIX = "jeecg.airag"; + + /** + * 敏感节点 + * stdio mpc命令行功能开启,sql:AI流程SQL节点开启 + */ + private String allowSensitiveNodes = ""; +} diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/DruidWallConfigRegister.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/DruidWallConfigRegister.java index 5dd2d9d4f..6c3c1a1d9 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/DruidWallConfigRegister.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/DruidWallConfigRegister.java @@ -12,7 +12,6 @@ import java.util.HashMap; import java.util.Map; /** - * @author eightmonth@qq.com * 启动程序修改DruidWallConfig配置 * 允许SELECT语句的WHERE子句是一个永真条件 * @author eightmonth diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java index 75f882dc0..0d09379de 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java @@ -136,7 +136,7 @@ public class Swagger3Config implements WebMvcConfigurer { return new OpenAPI() .info(new Info() .title("JeecgBoot 后台服务API接口文档") - .version("3.9.0") + .version("3.9.1") .contact(new Contact().name("北京国炬信息技术有限公司").url("www.jeccg.com").email("jeecgos@163.com")) .description("后台API接口") .termsOfService("NO terms of service") diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/TaskSchedulerConfig.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/TaskSchedulerConfig.java new file mode 100644 index 000000000..147623724 --- /dev/null +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/TaskSchedulerConfig.java @@ -0,0 +1,32 @@ +package org.jeecg.config; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; + +/** + * 任务调度器配置 + * 提供 ThreadPoolTaskScheduler Bean 用于 AI RAG 流程调度等功能 + * 仅当容器中不存在 ThreadPoolTaskScheduler 时才创建 + * + * @author jeecg + */ +@Slf4j +@Configuration +public class TaskSchedulerConfig { + + @Bean + @ConditionalOnMissingBean(ThreadPoolTaskScheduler.class) + public ThreadPoolTaskScheduler taskScheduler() { + log.info("初始化定时任务调度器 ThreadPoolTaskScheduler"); + + ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); + scheduler.setPoolSize(10); + scheduler.setThreadNamePrefix("airag-scheduler-"); + scheduler.setWaitForTasksToCompleteOnShutdown(true); + scheduler.setAwaitTerminationSeconds(60); + return scheduler; + } +} diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java index a370ff972..4228c770d 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java @@ -93,40 +93,43 @@ public class MybatisPlusSaasConfig { public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // 先 add TenantLineInnerInterceptor 再 add PaginationInnerInterceptor - interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(new TenantLineHandler() { - @Override - public Expression getTenantId() { - String tenantId = TenantContext.getTenant(); - //如果通过线程获取租户ID为空,则通过当前请求的request获取租户(shiro排除拦截器的请求会获取不到租户ID) - if(oConvertUtils.isEmpty(tenantId)){ - try { - tenantId = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); - } catch (Exception e) { - //e.printStackTrace(); + // 条件注册租户拦截器:当需要租户隔离时才添加 + if (OPEN_SYSTEM_TENANT_CONTROL) { + interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(new TenantLineHandler() { + @Override + public Expression getTenantId() { + String tenantId = TenantContext.getTenant(); + //如果通过线程获取租户ID为空,则通过当前请求的request获取租户(shiro排除拦截器的请求会获取不到租户ID) + if (oConvertUtils.isEmpty(tenantId)) { + try { + tenantId = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest()); + } catch (Exception e) { + //e.printStackTrace(); + } } - } - if(oConvertUtils.isEmpty(tenantId)){ - tenantId = "0"; - } - return new LongValue(tenantId); - } - - @Override - public String getTenantIdColumn(){ - return TenantConstant.TENANT_ID_TABLE; - } - - // 返回 true 表示不走租户逻辑 - @Override - public boolean ignoreTable(String tableName) { - for(String temp: TENANT_TABLE){ - if(temp.equalsIgnoreCase(tableName)){ - return false; + if (oConvertUtils.isEmpty(tenantId)) { + tenantId = "0"; } + return new LongValue(tenantId); } - return true; - } - })); + + @Override + public String getTenantIdColumn() { + return TenantConstant.TENANT_ID_TABLE; + } + + // 返回 true 表示不走租户逻辑 + @Override + public boolean ignoreTable(String tableName) { + for (String temp : TENANT_TABLE) { + if (temp.equalsIgnoreCase(tableName)) { + return false; + } + } + return true; + } + })); + } //update-begin-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题 interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor()); //update-end-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题 diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index 961da1425..ec14ff21d 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -177,6 +177,8 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/version/app3version", "anon"); //仪表盘(按钮通信) filterChainDefinitionMap.put("/dragChannelSocket/**","anon"); + //App vue3版本查询版本接口 + filterChainDefinitionMap.put("/sys/version/app3version", "anon"); //性能监控——安全隐患泄露TOEKN(durid连接池也有) //filterChainDefinitionMap.put("/actuator/**", "anon"); @@ -188,6 +190,8 @@ public class ShiroConfig { // 企业微信证书排除 filterChainDefinitionMap.put("/WW_verify*", "anon"); + filterChainDefinitionMap.put("/openapi/call/**", "anon"); + // 添加自己的过滤器并且取名为jwt Map filterMap = new HashMap(1); //如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】 @@ -227,6 +231,11 @@ public class ShiroConfig { registration.addUrlPatterns("/airag/app/debug"); registration.addUrlPatterns("/airag/app/prompt/generate"); registration.addUrlPatterns("/airag/chat/receive/**"); + // 添加SSE接口的异步支持 + registration.addUrlPatterns("/airag/extData/evaluator/debug"); + registration.addUrlPatterns("/drag/onlDragDatasetHead/generateChartSse"); + registration.addUrlPatterns("/drag/onlDragDatasetHead/updateChartOptSse"); + registration.addUrlPatterns("/drag/onlDragDatasetHead/generateSqlSse"); //支持异步 registration.setAsyncSupported(true); registration.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC); diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/annotation/SignatureCheck.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/annotation/SignatureCheck.java new file mode 100644 index 000000000..54e30b18f --- /dev/null +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/annotation/SignatureCheck.java @@ -0,0 +1,32 @@ +package org.jeecg.config.sign.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 签名校验注解 + * 用于方法级别的签名验证,功能等同于yml中的jeecg.signUrls配置 + * 参考DragSignatureAspect的设计思路,使用AOP切面实现 + * + * @author GitHub Copilot + * @since 2025-12-15 + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface SignatureCheck { + + /** + * 是否启用签名校验 + * @return true-启用(默认), false-禁用 + */ + boolean enabled() default true; + + /** + * 签名校验失败时的错误消息 + * @return 错误消息 + */ + String errorMessage() default "Sign签名校验失败!"; + +} diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/aspect/SignatureCheckAspect.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/aspect/SignatureCheckAspect.java new file mode 100644 index 000000000..b4ae73b35 --- /dev/null +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/aspect/SignatureCheckAspect.java @@ -0,0 +1,112 @@ +package org.jeecg.config.sign.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.aspectj.lang.reflect.MethodSignature; +import org.jeecg.config.sign.annotation.SignatureCheck; +import org.jeecg.config.sign.interceptor.SignAuthInterceptor; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.web.bind.annotation.RequestBody; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Method; +import java.util.Arrays; + +/** + * 基于AOP的签名验证切面 + * 复用SignAuthInterceptor的成熟签名验证逻辑 + * + * @author GitHub Copilot + * @since 2025-12-15 + */ +@Aspect +@Slf4j +@Component("signatureCheckAspect") +public class SignatureCheckAspect { + + /** + * 复用SignAuthInterceptor的签名验证逻辑 + */ + private final SignAuthInterceptor signAuthInterceptor = new SignAuthInterceptor(); + + /** + * 验签切点:拦截所有标记了@SignatureCheck注解的方法 + */ + @Pointcut("@annotation(org.jeecg.config.sign.annotation.SignatureCheck)") + private void signatureCheckPointCut() { + } + + /** + * 开始验签 + */ + @Before("signatureCheckPointCut()") + public void doSignatureValidation(JoinPoint point) throws Exception { + // 获取方法上的注解 + MethodSignature signature = (MethodSignature) point.getSignature(); + Method method = signature.getMethod(); + SignatureCheck signatureCheck = method.getAnnotation(SignatureCheck.class); + + log.info("AOP签名验证: {}.{}", method.getDeclaringClass().getSimpleName(), method.getName()); + + // 如果注解被禁用,直接返回 + if (!signatureCheck.enabled()) { + log.info("签名验证已禁用,跳过"); + return; + } + + // update-begin---author:sjlei---date:20260115 for: 查找带有@RequestBody注解的参数,解决签名校验时读取请求体为空的问题 + Object bodyParam = null; + Object[] args = point.getArgs(); + Annotation[][] parameterAnnotations = method.getParameterAnnotations(); + for (int i = 0; i < args.length; i++) { + Object arg = args[i]; + Annotation[] annotations = parameterAnnotations[i]; + boolean hasRequestBodyAnnotation = Arrays.stream(annotations).anyMatch(annotation -> annotation.annotationType().equals(RequestBody.class)); + if (hasRequestBodyAnnotation) { + // 捕获携带@RequestBody注解的参数,供签名校验使用 + bodyParam = arg; + } + } + // update-end-----author:sjlei---date:20260115 for: 查找带有@RequestBody注解的参数,解决签名校验时读取请求体为空的问题 + + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + log.error("无法获取请求上下文"); + throw new IllegalArgumentException("无法获取请求上下文"); + } + + HttpServletRequest request = attributes.getRequest(); + log.info("X-SIGN: {}, X-TIMESTAMP: {}", request.getHeader("X-SIGN"), request.getHeader("X-TIMESTAMP")); + + try { + // 直接调用SignAuthInterceptor的验证逻辑 + signAuthInterceptor.validateSignature(request, bodyParam); + log.info("AOP签名验证通过"); + + } catch (IllegalArgumentException e) { + // 使用注解中配置的错误消息,或者保留原始错误消息 + String errorMessage = signatureCheck.errorMessage(); + log.error("AOP签名验证失败: {}", e.getMessage()); + + if ("Sign签名校验失败!".equals(errorMessage)) { + // 如果是默认错误消息,使用原始的详细错误信息 + throw e; + } else { + // 如果是自定义错误消息,使用自定义消息 + throw new IllegalArgumentException(errorMessage, e); + } + } catch (Exception e) { + // 包装其他异常 + String errorMessage = signatureCheck.errorMessage(); + log.error("AOP签名验证异常: {}", e.getMessage()); + throw new IllegalArgumentException(errorMessage, e); + } + } +} diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthConfiguration.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthConfiguration.java index ca6e8ee8f..f926320fa 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthConfiguration.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthConfiguration.java @@ -1,6 +1,7 @@ package org.jeecg.config.sign.interceptor; import org.apache.commons.lang3.StringUtils; +import org.jeecg.common.constant.TenantConstant; import org.jeecg.common.util.PathMatcherUtil; import org.jeecg.config.JeecgBaseConfig; import org.jeecg.config.filter.RequestBodyReserveFilter; @@ -64,6 +65,8 @@ public class SignAuthConfiguration implements WebMvcConfigurer { //------------------------------------------------------------ // 建议此处只添加post请求地址而不是所有的都需要走过滤器 registration.addUrlPatterns(signUrlsArray); + // 增加注解签名请求 + registration.addUrlPatterns(TenantConstant.SIGNATURE_CHECK_POST_URL); return registration; } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java index 72e6547bb..058a2fa6c 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/interceptor/SignAuthInterceptor.java @@ -33,63 +33,104 @@ public class SignAuthInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - log.debug("Sign Interceptor request URI = " + request.getRequestURI()); - HttpServletRequest requestWrapper = new BodyReaderHttpServletRequestWrapper(request); - //获取全部参数(包括URL和body上的) - SortedMap allParams = HttpUtils.getAllParams(requestWrapper); - //对参数进行签名验证 - String headerSign = request.getHeader(CommonConstant.X_SIGN); - String xTimestamp = request.getHeader(CommonConstant.X_TIMESTAMP); + log.info("签名拦截器 Interceptor request URI = " + request.getRequestURI()); - if(oConvertUtils.isEmpty(xTimestamp)){ - Result result = Result.error("Sign签名校验失败,时间戳为空!"); - log.error("Sign 签名校验失败!Header xTimestamp 为空"); - //校验失败返回前端 - response.setCharacterEncoding("UTF-8"); - response.setContentType("application/json; charset=utf-8"); - PrintWriter out = response.getWriter(); - out.print(JSON.toJSON(result)); - return false; - } - - //客户端时间 - Long clientTimestamp = Long.parseLong(xTimestamp); - - int length = 14; - int length1000 = 1000; - //1.校验签名时间(兼容X_TIMESTAMP的新老格式) - if (xTimestamp.length() == length) { - //a. X_TIMESTAMP格式是 yyyyMMddHHmmss (例子:20220308152143) - if ((DateUtils.getCurrentTimestamp() - clientTimestamp) > MAX_EXPIRE) { - log.error("签名验证失败:X-TIMESTAMP已过期,注意系统时间和服务器时间是否有误差!"); - throw new IllegalArgumentException("签名验证失败:X-TIMESTAMP已过期"); - } - } else { - //b. X_TIMESTAMP格式是 时间戳 (例子:1646552406000) - if ((System.currentTimeMillis() - clientTimestamp) > (MAX_EXPIRE * length1000)) { - log.error("签名验证失败:X-TIMESTAMP已过期,注意系统时间和服务器时间是否有误差!"); - throw new IllegalArgumentException("签名验证失败:X-TIMESTAMP已过期"); - } - } - - //2.校验签名 - boolean isSigned = SignUtil.verifySign(allParams,headerSign); - - if (isSigned) { - log.debug("Sign 签名通过!Header Sign : {}",headerSign); + try { + // 调用验证逻辑 + validateSignature(request); return true; - } else { - log.debug("sign allParams: {}", allParams); - log.error("request URI = " + request.getRequestURI()); - log.error("Sign 签名校验失败!Header Sign : {}",headerSign); - //校验失败返回前端 + } catch (IllegalArgumentException e) { + // 验证失败,返回错误响应 + log.error("Sign 签名校验失败!{}", e.getMessage()); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); PrintWriter out = response.getWriter(); - Result result = Result.error("Sign签名校验失败!"); + Result result = Result.error(e.getMessage()); out.print(JSON.toJSON(result)); return false; } } + /** + * 签名验证核心逻辑 + * 提取出来供AOP切面复用 + * @param request HTTP请求 + * @throws IllegalArgumentException 验证失败时抛出异常 + */ + public void validateSignature(HttpServletRequest request) throws IllegalArgumentException { + validateSignature(request, null); + } + + /** + * 签名验证核心逻辑 + * 提取出来供AOP切面复用 + * @param request HTTP请求 + * @throws IllegalArgumentException 验证失败时抛出异常 + */ + public void validateSignature(HttpServletRequest request, Object bodyParam) throws IllegalArgumentException { + try { + log.debug("开始签名验证: {} {}", request.getMethod(), request.getRequestURI()); + + HttpServletRequest requestWrapper = new BodyReaderHttpServletRequestWrapper(request); + //获取全部参数(包括URL和body上的) + SortedMap allParams = HttpUtils.getAllParams(requestWrapper, bodyParam); + log.debug("提取参数: {}", allParams); + + //对参数进行签名验证 + String headerSign = request.getHeader(CommonConstant.X_SIGN); + String xTimestamp = request.getHeader(CommonConstant.X_TIMESTAMP); + + if(oConvertUtils.isEmpty(xTimestamp)){ + log.error("Sign签名校验失败,时间戳为空!"); + throw new IllegalArgumentException("Sign签名校验失败,请求参数不完整!"); + } + + //客户端时间 + Long clientTimestamp = Long.parseLong(xTimestamp); + + int length = 14; + int length1000 = 1000; + //1.校验签名时间(兼容X_TIMESTAMP的新老格式) + if (xTimestamp.length() == length) { + //a. X_TIMESTAMP格式是 yyyyMMddHHmmss (例子:20220308152143) + long currentTimestamp = DateUtils.getCurrentTimestamp(); + long timeDiff = currentTimestamp - clientTimestamp; + log.debug("时间戳验证(yyyyMMddHHmmss): 时间差{}秒", timeDiff); + + if (timeDiff > MAX_EXPIRE) { + log.error("时间戳已过期: {}秒 > {}秒", timeDiff, MAX_EXPIRE); + throw new IllegalArgumentException("签名验证失败,请求时效性验证失败!"); + } + } else { + //b. X_TIMESTAMP格式是 时间戳 (例子:1646552406000) + long currentTime = System.currentTimeMillis(); + long timeDiff = currentTime - clientTimestamp; + long maxExpireMs = MAX_EXPIRE * length1000; + log.debug("时间戳验证(Unix): 时间差{}ms", timeDiff); + + if (timeDiff > maxExpireMs) { + log.error("时间戳已过期: {}ms > {}ms", timeDiff, maxExpireMs); + throw new IllegalArgumentException("签名验证失败,请求时效性验证失败!"); + } + } + + //2.校验签名 + boolean isSigned = SignUtil.verifySign(allParams,headerSign); + + if (isSigned) { + log.debug("签名验证通过"); + } else { + log.error("签名验证失败, 参数: {}", allParams); + throw new IllegalArgumentException("Sign签名校验失败!"); + } + } catch (IllegalArgumentException e) { + // 重新抛出签名验证异常 + throw e; + } catch (Exception e) { + // 包装其他异常(如IOException) + log.error("签名验证异常: {}", e.getMessage()); + throw new IllegalArgumentException("Sign签名校验失败:" + e.getMessage()); + } + } + } diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java index 8881d251f..fd394c3a0 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java @@ -35,7 +35,7 @@ public class HttpUtils { * @date 20210621 * @param request */ - public static SortedMap getAllParams(HttpServletRequest request) throws IOException { + public static SortedMap getAllParams(HttpServletRequest request, Object bodyParam) throws IOException { SortedMap result = new TreeMap<>(); // 获取URL上最后带逗号的参数变量 sys/dict/getDictItems/sys_user,realname,username @@ -65,7 +65,13 @@ public class HttpUtils { Map allRequestParam = new HashMap<>(16); // get请求不需要拿body参数 if (!HttpMethod.GET.name().equals(request.getMethod())) { - allRequestParam = getAllRequestParam(request); + if (bodyParam != null) { + // update-begin---author:sjlei---date:20260115 for: 解决签名校验时读取请求体为空的问题 + allRequestParam = JSONObject.parseObject(JSONObject.toJSONString(bodyParam), Map.class); + // update-end-----author:sjlei---date:20260115 for: 解决签名校验时读取请求体为空的问题 + } else { + allRequestParam = getAllRequestParam(request); + } } // 将URL的参数和body参数进行合并 if (allRequestParam != null) { diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java index 3c315bb76..debd36dfa 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/SignUtil.java @@ -11,7 +11,12 @@ import org.springframework.util.DigestUtils; import org.springframework.util.StringUtils; import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.Map; import java.util.SortedMap; +import java.util.TreeMap; /** * 签名工具类 @@ -49,12 +54,7 @@ public class SignUtil { String paramsJsonStr = JSONObject.toJSONString(params); log.debug("Param paramsJsonStr : {}", paramsJsonStr); //设置签名秘钥 - JeecgBaseConfig jeecgBaseConfig = SpringContextUtils.getBean(JeecgBaseConfig.class); - String signatureSecret = jeecgBaseConfig.getSignatureSecret(); - String curlyBracket = SymbolConstant.DOLLAR + SymbolConstant.LEFT_CURLY_BRACKET; - if(oConvertUtils.isEmpty(signatureSecret) || signatureSecret.contains(curlyBracket)){ - throw new JeecgBootException("签名密钥 ${jeecg.signatureSecret} 缺少配置 !!"); - } + String signatureSecret = SignUtil.getSignatureSecret(); try { //【issues/I484RW】2.4.6部署后,下拉搜索框提示“sign签名检验失败” return DigestUtils.md5DigestAsHex((paramsJsonStr + signatureSecret).getBytes("UTF-8")).toUpperCase(); @@ -63,4 +63,129 @@ public class SignUtil { return null; } } -} \ No newline at end of file + + /** + * 通过前端签名算法生成签名 + * + * @param url 请求的完整URL(包含查询参数) + * @param requestParams 使用 @RequestParam 获取的参数集合 + * @param requestBodyParams 使用 @RequestBody 获取的参数集合 + * @return 计算得到的签名(大写MD5),若参数不足返回 null + */ + public static String generateRequestSign(String url, Map requestParams, Map requestBodyParams) { + if (oConvertUtils.isEmpty(url)) { + return null; + } + // 解析URL上的查询参数与路径变量 + Map urlParams = parseQueryString(url); + // 合并URL参数与@RequestParam参数,确保数值和布尔类型转换为字符串 + Map mergedParams = mergeObject(urlParams, requestParams); + // 按需合并@RequestBody参数 + if (requestBodyParams != null && !requestBodyParams.isEmpty()) { + mergedParams = mergeObject(mergedParams, requestBodyParams); + } + // 按键名升序排序,保持与前端一致的签名顺序 + SortedMap sortedParams = new TreeMap<>(mergedParams); + // 去除时间戳字段,避免参与签名 + sortedParams.remove("_t"); + // 序列化为JSON字符串 + String paramsJsonStr = JSONObject.toJSONString(sortedParams); + // 读取签名秘钥 + String signatureSecret = getSignatureSecret(); + // 计算MD5摘要并转大写 + return DigestUtils.md5DigestAsHex((paramsJsonStr + signatureSecret).getBytes(StandardCharsets.UTF_8)).toUpperCase(); + } + + /** + * 解析URL中的查询参数,并处理末尾逗号分隔的路径变量片段。 + * + * @param url 请求的完整URL + * @return 解析后的参数映射,数值与布尔类型均转换为字符串 + */ + private static Map parseQueryString(String url) { + Map result = new HashMap<>(16); + int fragmentIndex = url.indexOf('#'); + if (fragmentIndex >= 0) { + url = url.substring(0, fragmentIndex); + } + int questionIndex = url.indexOf('?'); + String paramString = null; + if (questionIndex >= 0 && questionIndex < url.length() - 1) { + paramString = url.substring(questionIndex + 1); + } + // 处理路径变量末尾以逗号分隔的段,例如 /sys/dict/getDictItems/sys_user,realname,username + int lastSlashIndex = url.lastIndexOf(SymbolConstant.SINGLE_SLASH); + if (lastSlashIndex >= 0 && lastSlashIndex < url.length() - 1) { + String lastPathVariable = url.substring(lastSlashIndex + 1); + int qIndexInPath = lastPathVariable.indexOf('?'); + if (qIndexInPath >= 0) { + lastPathVariable = lastPathVariable.substring(0, qIndexInPath); + } + if (lastPathVariable.contains(SymbolConstant.COMMA)) { + String decodedPathVariable = URLDecoder.decode(lastPathVariable, StandardCharsets.UTF_8); + result.put(X_PATH_VARIABLE, decodedPathVariable); + } + } + if (oConvertUtils.isNotEmpty(paramString)) { + String[] pairs = paramString.split(SymbolConstant.AND); + for (String pair : pairs) { + int equalIndex = pair.indexOf('='); + if (equalIndex > 0 && equalIndex < pair.length() - 1) { + String key = pair.substring(0, equalIndex); + String value = pair.substring(equalIndex + 1); + // 解码并统一类型为字符串 + String decodedKey = URLDecoder.decode(key, StandardCharsets.UTF_8); + String decodedValue = URLDecoder.decode(value, StandardCharsets.UTF_8); + result.put(decodedKey, decodedValue); + } + } + } + return result; + } + + /** + * 合并两个参数映射,并保证数值与布尔类型统一转为字符串。 + * + * @param target 初始参数映射 + * @param source 待合并的参数映射 + * @return 合并后的新映射 + */ + private static Map mergeObject(Map target, Map source) { + Map merged = new HashMap<>(16); + if (target != null && !target.isEmpty()) { + merged.putAll(target); + } + if (source != null && !source.isEmpty()) { + for (Map.Entry entry : source.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + if (value instanceof Number) { + // 数值类型转字符串,保持前后端一致 + merged.put(key, String.valueOf(value)); + } else if (value instanceof Boolean) { + // 布尔类型转字符串,保持前后端一致 + merged.put(key, String.valueOf(value)); + } else if (value != null) { + merged.put(key, String.valueOf(value)); + } + } + } + return merged; + } + + /** + * 读取并校验签名秘钥配置。 + * + * @return 有效的签名秘钥 + */ + private static String getSignatureSecret() { + JeecgBaseConfig jeecgBaseConfig = SpringContextUtils.getBean(JeecgBaseConfig.class); + String signatureSecret = jeecgBaseConfig.getSignatureSecret(); + String curlyBracket = SymbolConstant.DOLLAR + SymbolConstant.LEFT_CURLY_BRACKET; + if (oConvertUtils.isEmpty(signatureSecret) || signatureSecret.contains(curlyBracket)) { + throw new JeecgBootException("签名密钥 ${jeecg.signatureSecret} 缺少配置 !!"); + } + return signatureSecret; + } + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/doc/RAG/main.py b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/doc/RAG/main.py new file mode 100644 index 000000000..19457c7bc --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/doc/RAG/main.py @@ -0,0 +1,429 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +MCP Stdio 工具 - 修复编码问题 +确保所有输出都使用UTF-8编码 +""" + +import json +import sys +import os +from typing import Dict, Any +import logging + +# 强制使用UTF-8编码 +if sys.platform == "win32": + # Windows需要特殊处理 + import io + + sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8') + sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') + sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') +else: + # Unix-like系统 + sys.stdin.reconfigure(encoding='utf-8') + sys.stdout.reconfigure(encoding='utf-8') + sys.stderr.reconfigure(encoding='utf-8') + +# 设置环境变量 +os.environ['PYTHONIOENCODING'] = 'utf-8' +os.environ['PYTHONUTF8'] = '1' + +# 配置日志 +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', + encoding='utf-8' +) +logger = logging.getLogger("mcp-tool") + + +class FixedMCPServer: + """修复编码问题的MCP服务器""" + + def __init__(self): + self.tools = {} + self.initialize_tools() + + def initialize_tools(self): + """初始化工具集""" + + # 获取时间 + self.tools["get_time"] = { + "name": "get_time", + "description": "获取当前时间", + "inputSchema": { + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "时间格式", + "enum": ["iso", "timestamp", "human", "chinese"], + "default": "iso" + } + } + } + } + + # 文本处理工具 + self.tools["text_process"] = { + "name": "text_process", + "description": "文本处理工具", + "inputSchema": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "输入文本" + }, + "operation": { + "type": "string", + "description": "操作类型", + "enum": ["length", "upper", "lower", "reverse", "count_words"], + "default": "length" + } + }, + "required": ["text"] + } + } + + # 数据格式工具 + self.tools["format_data"] = { + "name": "format_data", + "description": "格式化数据", + "inputSchema": { + "type": "object", + "properties": { + "data": { + "type": "string", + "description": "原始数据" + }, + "format": { + "type": "string", + "description": "格式类型", + "enum": ["json", "yaml", "xml"], + "default": "json" + } + }, + "required": ["data"] + } + } + + def handle_request(self, request: Dict[str, Any]) -> Dict[str, Any]: + """处理请求""" + try: + method = request.get("method") + params = request.get("params", {}) + + if method == "tools/list": + return self.handle_tools_list() + elif method == "tools/call": + return self.handle_tool_call(params) + elif method == "ping": + return {"result": "pong"} + else: + return self.create_error_response( + code=-32601, + message="Method not found" + ) + + except Exception as e: + logger.error(f"Error handling request: {e}") + return self.create_error_response( + code=-32603, + message=f"Internal error: {str(e)}" + ) + + def handle_tools_list(self) -> Dict[str, Any]: + """列出所有工具 - 确保返回标准JSON""" + return { + "result": { + "tools": list(self.tools.values()) + } + } + + def handle_tool_call(self, params: Dict[str, Any]) -> Dict[str, Any]: + """调用工具 - 修复响应格式""" + name = params.get("name") + arguments = params.get("arguments", {}) + + if name not in self.tools: + return self.create_error_response( + code=-32602, + message=f"Tool '{name}' not found" + ) + + try: + if name == "get_time": + result = self.execute_get_time(arguments) + elif name == "text_process": + result = self.execute_text_process(arguments) + elif name == "format_data": + result = self.execute_format_data(arguments) + else: + return self.create_error_response( + code=-32602, + message="Tool not implemented" + ) + + # 确保返回正确的MCP响应格式 + return self.create_success_response(result) + + except Exception as e: + logger.error(f"Tool execution error: {e}") + return self.create_error_response( + code=-32603, + message=f"Tool execution failed: {str(e)}" + ) + + def execute_get_time(self, args: Dict[str, Any]) -> Dict[str, Any]: + """获取时间 - 支持中文""" + from datetime import datetime + + try: + format_type = args.get("format", "iso") + now = datetime.now() + + if format_type == "iso": + result = now.isoformat() + elif format_type == "timestamp": + result = now.timestamp() + elif format_type == "human": + result = now.strftime("%Y-%m-%d %H:%M:%S") + elif format_type == "chinese": + result = now.strftime("%Y年%m月%d日 %H时%M分%S秒") + else: + result = now.isoformat() + logger.info(f"当前系统时间:{result}") + return { + "status": "success", + "format": format_type, + "time": result, + "timestamp": now.timestamp(), + "date": now.strftime("%Y-%m-%d"), + "time_12h": now.strftime("%I:%M:%S %p") + } + + except Exception as e: + return { + "status": "error", + "error": str(e) + } + + def execute_text_process(self, args: Dict[str, Any]) -> Dict[str, Any]: + """文本处理""" + try: + text = args.get("text", "") + operation = args.get("operation", "length") + + if operation == "length": + result = len(text) + result_str = f"文本长度: {result} 个字符" + elif operation == "upper": + result = text.upper() + result_str = f"大写: {result}" + elif operation == "lower": + result = text.lower() + result_str = f"小写: {result}" + elif operation == "reverse": + result = text[::-1] + result_str = f"反转: {result}" + elif operation == "count_words": + words = len(text.split()) + result = words + result_str = f"单词数: {words}" + else: + raise ValueError(f"未知操作: {operation}") + + return { + "status": "success", + "operation": operation, + "original_text": text, + "result": result, + "result_str": result_str, + "text_length": len(text) + } + + except Exception as e: + return { + "status": "error", + "error": str(e), + "operation": args.get("operation", "") + } + + def execute_format_data(self, args: Dict[str, Any]) -> Dict[str, Any]: + """格式化数据""" + try: + data_str = args.get("data", "") + format_type = args.get("format", "json") + + # 尝试解析为JSON + try: + data = json.loads(data_str) + is_json = True + except: + data = data_str + is_json = False + + if format_type == "json": + if is_json: + result = json.dumps(data, ensure_ascii=False, indent=2) + else: + # 如果不是JSON,包装成JSON + result = json.dumps({"text": data}, ensure_ascii=False, indent=2) + elif format_type == "yaml": + import yaml + result = yaml.dump(data, allow_unicode=True, default_flow_style=False) + elif format_type == "xml": + # 简单的XML格式化 + if isinstance(data, dict): + result = "" + for k, v in data.items(): + result += f"\n <{k}>{v}" + result += "\n" + else: + result = f"{data}" + else: + result = str(data) + + return { + "status": "success", + "format": format_type, + "original": data_str, + "formatted": result, + "length": len(result) + } + + except Exception as e: + return { + "status": "error", + "error": str(e), + "format": args.get("format", "") + } + + def create_success_response(self, data: Dict[str, Any]) -> Dict[str, Any]: + """创建成功响应 - 确保符合MCP规范""" + # 将数据转换为JSON字符串作为文本内容 + content_text = json.dumps(data, ensure_ascii=False, indent=2) + + return { + "result": { + "content": [ + { + "type": "text", + "text": content_text + } + ], + "isError": False + } + } + + def create_error_response(self, code: int, message: str) -> Dict[str, Any]: + """创建错误响应""" + return { + "error": { + "code": code, + "message": message + } + } + + +def safe_json_dump(data: Dict[str, Any]) -> str: + """安全的JSON序列化,确保UTF-8编码""" + try: + return json.dumps(data, ensure_ascii=False, separators=(',', ':')) + except: + # 如果失败,使用ASCII转义 + return json.dumps(data, ensure_ascii=True, separators=(',', ':')) + + +def main(): + """主函数 - 修复Stdio通信""" + logger.info("启动MCP Stdio服务器 (修复编码版)...") + + server = FixedMCPServer() + + # 初始握手消息 + init_message = { + "jsonrpc": "2.0", + "id": 1, + "result": { + "protocolVersion": "2024-11-05", + "capabilities": { + "tools": {} + }, + "serverInfo": { + "name": "fixed-mcp-server", + "version": "1.0.0" + } + } + } + + # 发送初始化响应 + try: + sys.stdout.write(safe_json_dump(init_message) + "\n") + sys.stdout.flush() + except Exception as e: + logger.error(f"发送初始化消息失败: {e}") + return + + logger.info("MCP服务器已初始化") + + # 主循环 + line_num = 0 + while True: + try: + line = sys.stdin.readline() + if not line: + logger.info("输入流结束") + break + + line = line.strip() + line_num += 1 + + if not line: + continue + + logger.info(f"收到第 {line_num} 行: {line[:100]}...") + + try: + request = json.loads(line) + logger.info(f"解析请求: {request.get('method', 'unknown')}") + + # 处理请求 + response = server.handle_request(request) + response["jsonrpc"] = "2.0" + response["id"] = request.get("id") + + # 发送响应 + response_json = safe_json_dump(response) + sys.stdout.write(response_json + "\n") + sys.stdout.flush() + + logger.info(f"发送响应: {response.get('result', response.get('error', {}))}") + + except json.JSONDecodeError as e: + logger.error(f"JSON解析错误: {e}") + error_response = { + "jsonrpc": "2.0", + "error": { + "code": -32700, + "message": f"Parse error at line {line_num}" + }, + "id": None + } + sys.stdout.write(safe_json_dump(error_response) + "\n") + sys.stdout.flush() + + except KeyboardInterrupt: + logger.info("接收到中断信号") + break + except Exception as e: + logger.error(f"未处理的错误: {e}") + break + + logger.info("MCP服务器已停止") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/doc/RAG/卡片商品RAG.zip b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/doc/RAG/卡片商品RAG.zip new file mode 100644 index 000000000..464300757 Binary files /dev/null and b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/doc/RAG/卡片商品RAG.zip differ diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/pom.xml b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/pom.xml index c2aeef52c..081f1b5c1 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/pom.xml +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/pom.xml @@ -6,7 +6,7 @@ org.jeecgframework.boot3 jeecg-boot-module - 3.9.0 + 3.9.1 jeecg-boot-module-airag @@ -33,7 +33,7 @@ 2.2.0 2.15.0 - 2.9.1 + 3.2.3 @@ -41,14 +41,14 @@ dev.langchain4j langchain4j-bom - 1.3.0 + 1.9.1 pom import dev.langchain4j langchain4j-community-bom - 1.3.0-beta9 + 1.9.1-beta17 pom import @@ -75,7 +75,7 @@ org.jeecgframework.boot3 jeecg-aiflow - 3.9.0.1 + 3.9.1-beta1 commons-io @@ -107,16 +107,16 @@ com.yomahub - liteflow-script-python + liteflow-script-groovy ${liteflow.version} - provided + runtime com.yomahub - liteflow-script-groovy + liteflow-script-python ${liteflow.version} runtime @@ -151,6 +151,11 @@ dev.langchain4j langchain4j-open-ai + + + dev.langchain4j + langchain4j-mcp + dev.langchain4j langchain4j-ollama @@ -197,7 +202,11 @@ langchain4j-pgvector 1.3.0-beta9 - + + + dev.langchain4j + langchain4j-document-parser-apache-poi + org.apache.tika tika-core @@ -224,7 +233,12 @@ tika-parser-text-module ${apache-tika.version} - + + + com.deepoove + poi-tl + 1.12.2 + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/AiAppConsts.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/AiAppConsts.java index 41ebec4b2..514307937 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/AiAppConsts.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/AiAppConsts.java @@ -44,4 +44,24 @@ public class AiAppConsts { */ public static final String APP_METADATA_FLOW_INPUTS = "flowInputs"; + /** + * 是否开启记忆 + */ + public static final Integer IZ_OPEN_MEMORY = 1; + + /** + * 会话标题最大长度 + */ + public static final int CONVERSATION_MAX_TITLE_LENGTH = 10; + + + /** + * AI写作的流程id + */ + public static final String ARTICLE_WRITER_FLOW_ID = "2011769909807579138"; + + /** + * AI写作redis请求前缀 + */ + public static final String ARTICLE_WRITER_KEY = "airag:chat:article:write:{}"; } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/Prompts.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/Prompts.java index fb4a5375e..46f970d5a 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/Prompts.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/consts/Prompts.java @@ -104,4 +104,73 @@ public class Prompts { " - 反幻觉校验:\"所有数据需标注来源,不确定信息用[需核实]标记\"\n" + " - 风格校准器:\"对比[目标风格]与生成内容的余弦相似度,低于0.7时启动重写\"\n" + " - 伦理审查模块:\"自动过滤涉及隐私/偏见/违法内容,替换为[合规表达]\""; + + /** + * 提示词生成角色及通用要求 + */ + public static final String GENERATE_GUIDE_HEADER = "# 角色\n" + + "你是一位AI提示词专家,请根据提供的配置信息,生成针对AI智能体的“使用指南”提示词。\n" + + "\n" + + "## 通用要求\n" + + "1. 生成的内容将作为系统提示词的一部分。\n" + + "2. **严禁**包含任何角色设定开场白(如“你是一个...AI助手”、“在对话过程中...”等)。\n" + + "3. **只输出提示词内容**,不要包含任何解释、寒暄或Markdown代码块标记。\n" + + "4. 语气专业、清晰、指令性强。\n" + + "5. 说明内容请使用中文。\n\n"; + + /** + * 变量生成提示词 + */ + public static final String GENERATE_VAR_PART = "## 任务:生成变量使用指南\n" + + "### 输入信息\n" + + "**变量列表**:\n" + + "%s\n" + + "### 要求\n" + + "1. 请生成一段**变量使用指南**。\n" + + "2. **遍历生成**:请遍历【输入信息】中的所有变量,为**每一个**变量生成一条具体的使用指南。\n" + + "3. **格式要求**:请仿照以下句式,根据变量的实际含义生成(确保包含{{变量名}}):\n" + + " 例如:针对name变量 -> “回复问题时,请称呼你的用户为{{name}}。”\n" + + " 例如:针对age变量 -> “用户的年龄是{{age}},请在对话中适时使用。”\n" + + " 例如:针对其他变量 -> “用户的[变量描述]是{{[变量名]}},请在对话中适时使用。”\n" + + "4. **通用更新指令**:请在变量指南的最后,单独生成一条指令,明确指示AI:“当从用户对话中获取到上述变量(<列出所有变量名,用顿号分隔>)的**新信息**时,**必须立即调用** `update_variable` 工具进行存储。**注意**:调用前请检查上下文,如果已调用过该工具或变量值未改变,**严禁**重复调用。”\n" + + "5. **保留原文**:如果输入信息中包含具体的行为指令(如“回复问题时,请称呼你的用户为{{name}}”),请在生成的指南中**直接引用原文**,不要进行改写或格式化,以免改变用户的原意。\n\n"; + + /** + * 记忆库生成提示词 + */ + public static final String GENERATE_MEMORY_PART = "## 任务:生成记忆库使用指南\n" + + "### 输入信息\n" + + "**记忆库描述**:\n" + + "%s\n" + + "### 要求\n" + + "1. 请生成一段**记忆库使用指南**,加入【工具使用强制协议】:\n" + + " - **全自动存储(无需用户指令)**:你必须时刻像一个观察者一样分析对话。一旦检测到符合记忆库描述的信息(尤其是:**姓名、职业、年龄**、联系方式、偏好、经历等),**立即**调用 `add_memory` 工具存储。**绝对不要**询问用户是否需要存储,也不要等待用户明确指令。这是你的后台职责。\n" + + " - **全自动检索(强制优先)**:\n" + + " * **禁止直接反问**:当用户提出依赖个人信息的问题(如“推荐适合我的...”或“我之前说过...”)时,**绝对禁止**直接反问用户“你的爱好是什么?”。\n" + + " * **必须先查后答**:你必须**先假设**记忆库中已经有了答案,并**立即调用** `query_memory` 进行验证。只有当工具返回“未找到相关信息”后,你才有资格询问用户。\n" + + " * **宁可查空,不可不查**:即使你觉得可能没有记录,也必须先走一遍查询流程。\n" + + " - **动态调整**:请根据【输入信息】中提供的**记忆库状态描述**,明确界定哪些信息属于“自动捕获”的范围。\n" + + " - **行为准则**:\n" + + " * 你的记忆动作应该是**主动且无感**的。用户只负责聊天,你负责记住一切重要细节。\n" + + " * **禁止口头空谈**:严禁只回复“我知道了”、“已记住”而实际不调用工具。这是严重错误。\n" + + " - **示例演示**:\n" + + " * 自动存储(职业):用户说“我是网络工程师” -> (捕捉到职业信息) -> **立即自动调用** `add_memory(content='用户职业是网络工程师')` -> (存储成功) -> 回复“原来是同行,网络工程很有趣...”。\n" + + " * 自动查询(场景):用户说“根据我的爱好推荐旅游地点” -> **严禁**直接问“你有什么爱好?” -> **必须立即调用** `query_memory(queryText='用户爱好')` -> (若查到:爬山) -> 回复“既然你喜欢爬山,推荐去黄山...”。\n" + + " * 自动查询(常规):用户问“今天吃什么好?” -> (需要了解口味) -> **立即自动调用** `query_memory(queryText='用户饮食偏好')` -> (获取到不吃香菜) -> 回复“推荐一家不放香菜的...”。\n\n"; + + /** + * ai写作提示词 + */ + public static final String AI_WRITER_PROMPT ="请撰写一篇关于 [{}] 的文章。文章的内容格式:{},语气:{},语言:{},长度:{}。"; + + /** + * ai写作回复提示词 + */ + public static final String AI_REPLY_PROMPT = "请针对如下内容:[{}] 做个回复。回复内容参考:[{}], 回复格式:{},语气:{},语言:{},长度:{}。"; + + /** + * ai润色提提示词 + */ + public static final String AI_TOUCHE_PROMPT = "请针对如下内容:[{}] 进行润色。 回复格式:{},语气:{},语言:{},长度:{}。"; + } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragAppController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragAppController.java index 9843b5228..694f98a2f 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragAppController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragAppController.java @@ -16,13 +16,15 @@ import org.jeecg.modules.airag.app.consts.AiAppConsts; import org.jeecg.modules.airag.app.entity.AiragApp; import org.jeecg.modules.airag.app.service.IAiragAppService; import org.jeecg.modules.airag.app.service.IAiragChatService; +import org.jeecg.modules.airag.app.vo.AiArticleWriteVersionVo; import org.jeecg.modules.airag.app.vo.AppDebugParams; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import java.util.List; + import jakarta.servlet.http.HttpServletRequest; -import java.util.Arrays; /** * @Description: AI应用 @@ -179,4 +181,43 @@ public class AiragAppController extends JeecgController saveArticleWrite(@RequestBody AiArticleWriteVersionVo aiWriteVersionVo) { + airagAppService.saveArticleWrite(aiWriteVersionVo); + return Result.OK("保存成功!"); + } + + /** + * 写作删除 + */ + @DeleteMapping("/delete/article/write") + public Result deleteArticleWrite(@RequestParam(name = "version") String version) { + AssertUtils.assertNotEmpty("版本号不能为空", version); + airagAppService.deleteArticleWrite(version); + return Result.OK("删除成功!"); + } + + /** + * 写作查询 + */ + @GetMapping("/list/article/write") + public Result> listArticleWrite() { + List list = airagAppService.listArticleWrite(); + return Result.OK(list); + } } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragChatController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragChatController.java index 5fe7e0014..8b444550a 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragChatController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/controller/AiragChatController.java @@ -8,6 +8,7 @@ import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.CommonUtils; import org.jeecg.config.shiro.IgnoreAuth; import org.jeecg.modules.airag.app.service.IAiragChatService; +import org.jeecg.modules.airag.app.vo.AiWriteGenerateVo; import org.jeecg.modules.airag.app.vo.ChatConversation; import org.jeecg.modules.airag.app.vo.ChatSendParams; import org.springframework.beans.factory.annotation.Autowired; @@ -102,6 +103,19 @@ public class AiragChatController { return chatService.getConversations(appId); } + /** + * 根据类型获取所有对话 + * + * @return 返回一个Result对象,包含所有对话的信息 + * @author wangshuai + * @date 2025/12/11 11:42 + */ + @IgnoreAuth + @GetMapping(value = "/getConversationsByType") + public Result getConversationsByType(@RequestParam(value = "sessionType") String sessionType) { + return chatService.getConversationsByType(sessionType); + } + /** * 删除会话 * @@ -113,7 +127,22 @@ public class AiragChatController { @IgnoreAuth @DeleteMapping(value = "/conversation/{id}") public Result deleteConversation(@PathVariable("id") String id) { - return chatService.deleteConversation(id); + return chatService.deleteConversation(id,""); + } + + /** + * 删除会话 + * + * @param id + * @return + * @author wangshuai + * @date 2025/12/11 20:00 + */ + @IgnoreAuth + @DeleteMapping(value = "/conversation/{id}/{sessionType}") + public Result deleteConversationByType(@PathVariable("id") String id, + @PathVariable("sessionType") String sessionType) { + return chatService.deleteConversation(id,sessionType); } /** @@ -139,8 +168,9 @@ public class AiragChatController { */ @IgnoreAuth @GetMapping(value = "/messages") - public Result getMessages(@RequestParam(value = "conversationId", required = true) String conversationId) { - return chatService.getMessages(conversationId); + public Result getMessages(@RequestParam(value = "conversationId", required = true) String conversationId, + @RequestParam(value = "sessionType", required = false) String sessionType) { + return chatService.getMessages(conversationId, sessionType); } /** @@ -153,7 +183,21 @@ public class AiragChatController { @IgnoreAuth @GetMapping(value = "/messages/clear/{conversationId}") public Result clearMessage(@PathVariable(value = "conversationId") String conversationId) { - return chatService.clearMessage(conversationId); + return chatService.clearMessage(conversationId, ""); + } + + /** + * 清空消息 + * + * @return + * @author wangshuai + * @date 2025/12/11 19:06 + */ + @IgnoreAuth + @GetMapping(value = "/messages/clear/{conversationId}/{sessionType}") + public Result clearMessageByType(@PathVariable(value = "conversationId") String conversationId, + @PathVariable(value = "sessionType") String sessionType) { + return chatService.clearMessage(conversationId, sessionType); } /** @@ -217,4 +261,25 @@ public class AiragChatController { return result; } + /** + * ai海报生成 + * @return + */ + @PostMapping("/genAiPoster") + public Result genAiPoster(@RequestBody ChatSendParams chatSendParams){ + String imageUrl = chatService.genAiPoster(chatSendParams); + return Result.OK(imageUrl); + } + + + /** + * 生成ai写作 + * + * @param aiWriteGenerateVo + * @return + */ + @PostMapping("/genAiWriter") + public SseEmitter genAiWriter(@RequestBody AiWriteGenerateVo aiWriteGenerateVo){ + return chatService.genAiWriter(aiWriteGenerateVo); + } } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/entity/AiragApp.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/entity/AiragApp.java index 9501fa9d3..28d8c8e04 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/entity/AiragApp.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/entity/AiragApp.java @@ -173,6 +173,29 @@ public class AiragApp implements Serializable { @Schema(description = "插件") private java.lang.String plugins; + /** + * 是否开启记忆(0 不开启,1开启) + */ + @Schema(description = "是否开启记忆(0 不开启,1开启)") + private java.lang.Integer izOpenMemory; + /** + * 记忆库,知识库的id + */ + @Schema(description = "记忆库") + private java.lang.String memoryId; + + /** + * 变量 + */ + @Schema(description = "变量") + private java.lang.String variables; + + /** + * 记忆和变量提示词 + */ + @Schema(description = "记忆和变量提示词") + private java.lang.String memoryPrompt; + /** * 知识库ids */ diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragAppService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragAppService.java index 86bba9b64..00e3a40fa 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragAppService.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragAppService.java @@ -1,8 +1,9 @@ package org.jeecg.modules.airag.app.service; import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.common.api.vo.Result; import org.jeecg.modules.airag.app.entity.AiragApp; +import org.jeecg.modules.airag.app.vo.AiArticleWriteVersionVo; +import java.util.List; /** * @Description: AI应用 @@ -21,4 +22,36 @@ public interface IAiragAppService extends IService { * @date 2025/3/12 14:45 */ Object generatePrompt(String prompt,boolean blocking); + + /** + * 根据应用id生成提示词 + * + * @param variables + * @param memoryId + * @param blocking + * @return + */ + Object generateMemoryByAppId(String variables, String memoryId, boolean blocking); + + /** + * 写作保存 + * + * @param aiWriteVersionVo + */ + void saveArticleWrite(AiArticleWriteVersionVo aiWriteVersionVo); + + /** + * 写作列表 + * + * @return + */ + List listArticleWrite(); + + /** + * 写作删除 + * + * @param version + */ + void deleteArticleWrite(String version); + } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragChatService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragChatService.java index 985040893..5f5e7a985 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragChatService.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragChatService.java @@ -1,6 +1,7 @@ package org.jeecg.modules.airag.app.service; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.airag.app.vo.AiWriteGenerateVo; import org.jeecg.modules.airag.app.vo.AppDebugParams; import org.jeecg.modules.airag.app.vo.ChatConversation; import org.jeecg.modules.airag.app.vo.ChatSendParams; @@ -59,21 +60,23 @@ public interface IAiragChatService { * 获取对话聊天记录 * * @param conversationId + * @param sessionType 类型 * @return * @author chenrui * @date 2025/2/26 15:16 */ - Result getMessages(String conversationId); + Result getMessages(String conversationId, String sessionType); /** * 删除会话 * * @param conversationId + * @param sessionType * @return * @author chenrui * @date 2025/3/3 16:55 */ - Result deleteConversation(String conversationId); + Result deleteConversation(String conversationId, String sessionType); /** * 更新会话标题 @@ -87,11 +90,12 @@ public interface IAiragChatService { /** * 清空消息 * @param conversationId + * @param sessionType * @return * @author chenrui * @date 2025/3/3 19:49 */ - Result clearMessage(String conversationId); + Result clearMessage(String conversationId, String sessionType); /** * 初始化聊天(忽略租户) @@ -111,4 +115,27 @@ public interface IAiragChatService { * @date 2025/8/11 17:39 */ SseEmitter receiveByRequestId(String requestId); + + /** + * 根据类型获取会话列表 + * + * @param sessionType + * @return + */ + Result getConversationsByType(String sessionType); + + /** + * 生成海报图片 + * @param chatSendParams + * @return + */ + String genAiPoster(ChatSendParams chatSendParams); + + /** + * 生成ai创作 + * + * @param chatSendParams + * @return + */ + SseEmitter genAiWriter(AiWriteGenerateVo chatSendParams); } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragVariableService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragVariableService.java new file mode 100644 index 000000000..d2f372d5f --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/IAiragVariableService.java @@ -0,0 +1,44 @@ +package org.jeecg.modules.airag.app.service; + +import org.jeecg.modules.airag.app.entity.AiragApp; +import org.jeecg.modules.airag.common.handler.AIChatParams; + +public interface IAiragVariableService { + /** + * 更新变量值 + * + * @param userId + * @param appId + * @param name + * @param value + */ + void updateVariable(String userId, String appId, String name, String value); + + /** + * 追加提示词 + * + * @param username + * @param app + * @return + */ + String additionalPrompt(String username, AiragApp app); + + /** + * 初始化变量(仅不存在时设置) + * + * @param userId + * @param appId + * @param name + * @param defaultValue + */ + void initVariable(String userId, String appId, String name, String defaultValue); + + /** + * 添加变量更新工具 + * + * @param params + * @param aiApp + * @param username + */ + void addUpdateVariableTool(AiragApp aiApp, String username, AIChatParams params); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragAppServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragAppServiceImpl.java index cc71f8c64..5e2489f6a 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragAppServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragAppServiceImpl.java @@ -1,5 +1,7 @@ package org.jeecg.modules.airag.app.service.impl; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import dev.langchain4j.data.message.AiMessage; @@ -9,13 +11,20 @@ import dev.langchain4j.data.message.UserMessage; import dev.langchain4j.model.output.FinishReason; import dev.langchain4j.service.TokenStream; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootBizTipException; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.AssertUtils; import org.jeecg.common.util.UUIDGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.app.consts.AiAppConsts; import org.jeecg.modules.airag.app.consts.Prompts; import org.jeecg.modules.airag.app.entity.AiragApp; import org.jeecg.modules.airag.app.mapper.AiragAppMapper; import org.jeecg.modules.airag.app.service.IAiragAppService; +import org.jeecg.modules.airag.app.vo.AiArticleWriteVersionVo; +import org.jeecg.modules.airag.app.vo.AppVariableVo; import org.jeecg.modules.airag.common.consts.AiragConsts; import org.jeecg.modules.airag.common.handler.AIChatParams; import org.jeecg.modules.airag.common.handler.IAIChatHandler; @@ -23,14 +32,21 @@ import org.jeecg.modules.airag.common.utils.AiragLocalCache; import org.jeecg.modules.airag.common.vo.event.EventData; import org.jeecg.modules.airag.common.vo.event.EventFlowData; import org.jeecg.modules.airag.common.vo.event.EventMessageData; +import org.jeecg.modules.airag.llm.entity.AiragKnowledge; +import org.jeecg.modules.airag.llm.service.IAiragKnowledgeService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * @Description: AI应用 @@ -45,6 +61,12 @@ public class AiragAppServiceImpl extends ServiceImpl i @Autowired IAIChatHandler aiChatHandler; + @Autowired + private IAiragKnowledgeService airagKnowledgeService; + + @Autowired + private RedisTemplate redisTemplate; + @Override public Object generatePrompt(String prompt, boolean blocking) { AssertUtils.assertNotEmpty("请输入提示词", prompt); @@ -62,81 +84,167 @@ public class AiragAppServiceImpl extends ServiceImpl i } return Result.OK("success", promptValue); }else{ - SseEmitter emitter = new SseEmitter(-0L); - // 异步运行(流式) - TokenStream tokenStream = aiChatHandler.chatByDefaultModel(messages, params); - /** - * 是否正在思考 - */ - AtomicBoolean isThinking = new AtomicBoolean(false); - String requestId = UUIDGenerator.generate(); - // ai聊天响应逻辑 - tokenStream.onPartialResponse((String resMessage) -> { - // 兼容推理模型 - if ("".equals(resMessage)) { - isThinking.set(true); - resMessage = "> "; - } - if ("".equals(resMessage)) { - isThinking.set(false); - resMessage = "\n\n"; - } - if (isThinking.get()) { - if (null != resMessage && resMessage.contains("\n")) { - resMessage = "\n> "; + //update-begin---author:wangshuai---date:2026-01-08---for: 将流式输出单独抽出去,变量和记忆也需要--- + return startSseChat(messages, params); + //update-end---author:wangshuai---date:2026-01-08---for: 将流式输出单独抽出去,变量和记忆也需要--- + } + } + + //update-begin---author:wangshuai---date:2026-01-05---for:【QQYUN-14479】增加一个开启记忆的按钮。下面为提示词和记忆,将记忆提示词单独拆分--- + @Override + public Object generateMemoryByAppId(String variables, String memoryId, boolean blocking) { + if(oConvertUtils.isEmpty(variables) && oConvertUtils.isEmpty(memoryId)){ + throw new JeecgBootBizTipException("请先添加变量或者记忆后再次重试!"); + } + // 构建变量描述 + StringBuilder variablesDesc = new StringBuilder(); + if (oConvertUtils.isNotEmpty(variables)) { + List variableList = JSONArray.parseArray(variables, AppVariableVo.class); + if (variableList != null && !variableList.isEmpty()) { + for (AppVariableVo var : variableList) { + if (var.getEnable() != null && !var.getEnable()) { + continue; + } + String name = var.getName(); + if (oConvertUtils.isNotEmpty(var.getAction())) { + String action = var.getAction(); + if (oConvertUtils.isNotEmpty(name)) { + try { + // 使用正则替换未被{{}}包裹的变量名 + String regex = "(? messages = List.of(new UserMessage(prompt)); + + AIChatParams params = new AIChatParams(); + params.setTemperature(0.7); + + if(blocking){ + String promptValue = aiChatHandler.completionsByDefaultModel(messages, params); + if (promptValue == null || promptValue.isEmpty()) { + return Result.error("生成失败"); + } + return Result.OK("success", promptValue); + }else{ + return startSseChat(messages, params); + } + } + + /** + * 发送聊天 + * @param messages + * @param params + * @return + */ + private SseEmitter startSseChat(List messages, AIChatParams params) { + SseEmitter emitter = new SseEmitter(-0L); + // 异步运行(流式) + TokenStream tokenStream = aiChatHandler.chatByDefaultModel(messages, params); + /** + * 是否正在思考 + */ + AtomicBoolean isThinking = new AtomicBoolean(false); + String requestId = UUIDGenerator.generate(); + // ai聊天响应逻辑 + tokenStream.onPartialResponse((String resMessage) -> { + // 兼容推理模型 + if ("".equals(resMessage)) { + isThinking.set(true); + resMessage = "> "; + } + if ("".equals(resMessage)) { + isThinking.set(false); + resMessage = "\n\n"; + } + if (isThinking.get()) { + if (null != resMessage && resMessage.contains("\n")) { + resMessage = "\n> "; + } + } + EventData eventData = new EventData(requestId, null, EventData.EVENT_MESSAGE); + EventMessageData messageEventData = EventMessageData.builder() + .message(resMessage) + .build(); + eventData.setData(messageEventData); + try { + String eventStr = JSONObject.toJSONString(eventData); + log.debug("[AI应用]接收LLM返回消息:{}", eventStr); + emitter.send(SseEmitter.event().data(eventStr)); + } catch (IOException e) { + throw new RuntimeException(e); + } + }) + .onCompleteResponse((responseMessage) -> { + // 记录ai的回复 + AiMessage aiMessage = responseMessage.aiMessage(); + FinishReason finishReason = responseMessage.finishReason(); + String respText = aiMessage.text(); + if (FinishReason.STOP.equals(finishReason) || null == finishReason) { + // 正常结束 + EventData eventData = new EventData(requestId, null, EventData.EVENT_MESSAGE_END); try { - String eventStr = JSONObject.toJSONString(eventData); - log.debug("[AI应用]接收LLM返回消息:{}", eventStr); - emitter.send(SseEmitter.event().data(eventStr)); + log.debug("[AI应用]接收LLM返回消息完成:{}", respText); + emitter.send(SseEmitter.event().data(eventData)); } catch (IOException e) { throw new RuntimeException(e); } - }) - .onCompleteResponse((responseMessage) -> { - // 记录ai的回复 - AiMessage aiMessage = responseMessage.aiMessage(); - FinishReason finishReason = responseMessage.finishReason(); - String respText = aiMessage.text(); - if (FinishReason.STOP.equals(finishReason) || null == finishReason) { - // 正常结束 - EventData eventData = new EventData(requestId, null, EventData.EVENT_MESSAGE_END); - try { - log.debug("[AI应用]接收LLM返回消息完成:{}", respText); - emitter.send(SseEmitter.event().data(eventData)); - } catch (IOException e) { - throw new RuntimeException(e); - } - closeSSE(emitter, eventData); - } else { - // 异常结束 - log.error("调用模型异常:" + respText); - if (respText.contains("insufficient Balance")) { - respText = "大预言模型账号余额不足!"; - } - EventData eventData = new EventData(requestId, null, EventData.EVENT_FLOW_ERROR); - eventData.setData(EventFlowData.builder().success(false).message(respText).build()); - closeSSE(emitter, eventData); - } - }) - .onError((Throwable error) -> { - // sse - String errMsg = "调用大模型接口失败:" + error.getMessage(); - log.error(errMsg, error); - EventData eventData = new EventData(requestId, null, EventData.EVENT_FLOW_ERROR); - eventData.setData(EventFlowData.builder().success(false).message(errMsg).build()); closeSSE(emitter, eventData); - }) - .start(); - return emitter; - } + } else { + // 异常结束 + log.error("调用模型异常:" + respText); + if (respText.contains("insufficient Balance")) { + respText = "大预言模型账号余额不足!"; + } + EventData eventData = new EventData(requestId, null, EventData.EVENT_FLOW_ERROR); + eventData.setData(EventFlowData.builder().success(false).message(respText).build()); + closeSSE(emitter, eventData); + } + }) + .onError((Throwable error) -> { + // sse + String errMsg = "调用大模型接口失败:" + error.getMessage(); + log.error(errMsg, error); + EventData eventData = new EventData(requestId, null, EventData.EVENT_FLOW_ERROR); + eventData.setData(EventFlowData.builder().success(false).message(errMsg).build()); + closeSSE(emitter, eventData); + }) + .start(); + return emitter; } + //update-end---author:wangshuai---date:2026-01-05---for:【QQYUN-14479】增加一个开启记忆的按钮。下面为提示词和记忆,将记忆提示词单独拆分--- private static void closeSSE(SseEmitter emitter, EventData eventData) { try { @@ -151,4 +259,68 @@ public class AiragAppServiceImpl extends ServiceImpl i emitter.complete(); } } + + + /** + * 写作列表 + */ + @Override + public List listArticleWrite() { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String redisKey = StrUtil.format(AiAppConsts.ARTICLE_WRITER_KEY, loginUser.getUsername()); + Object data = redisTemplate.opsForValue().get(redisKey); + if (data == null) { + return new ArrayList<>(); + } + List aiWriteViewVoList = (List) data; + Collections.reverse(aiWriteViewVoList); + return aiWriteViewVoList; + } + + /** + * 写作报错 + */ + @Override + public void saveArticleWrite(AiArticleWriteVersionVo aiWriteVersionVo) { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String redisKey = StrUtil.format(AiAppConsts.ARTICLE_WRITER_KEY, loginUser.getUsername()); + //先查看redis中是否存在 + Object data = redisTemplate.opsForValue().get(redisKey); + if(null != data){ + List aiWriteVersionVos = (List) data; + aiWriteVersionVo.setVersion("V"+(aiWriteVersionVos.size() + 1)); + aiWriteVersionVos.add(aiWriteVersionVo); + redisTemplate.opsForValue().set(redisKey, aiWriteVersionVos); + }else{ + List aiWriteVersionVos = new ArrayList<>(); + aiWriteVersionVo.setVersion("V1"); + aiWriteVersionVos.add(aiWriteVersionVo); + redisTemplate.opsForValue().set(redisKey, aiWriteVersionVos); + } + } + + /** + * 写作删除 + */ + @Override + public void deleteArticleWrite(String version) { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String redisKey = StrUtil.format(AiAppConsts.ARTICLE_WRITER_KEY, loginUser.getUsername()); + Object data = redisTemplate.opsForValue().get(redisKey); + if (data == null) { + return; + } + List aiWriteVersionVos = (List) data; + if (aiWriteVersionVos.isEmpty()) { + return; + } + List newList = aiWriteVersionVos.stream() + .filter(vo -> !version.equals(vo.getVersion())) + .collect(Collectors.toList()); + if (newList.isEmpty()) { + redisTemplate.delete(redisKey); + } else { + redisTemplate.opsForValue().set(redisKey, newList); + } + } } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragChatServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragChatServiceImpl.java index 12d0517cc..09e205011 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragChatServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragChatServiceImpl.java @@ -1,24 +1,36 @@ package org.jeecg.modules.airag.app.service.impl; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import dev.langchain4j.agent.tool.ToolExecutionRequest; +import dev.langchain4j.agent.tool.ToolSpecification; +import dev.langchain4j.data.document.Document; import dev.langchain4j.data.image.Image; import dev.langchain4j.data.message.*; import dev.langchain4j.model.output.FinishReason; import dev.langchain4j.service.TokenStream; +import dev.langchain4j.service.tool.ToolExecutor; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.io.FilenameUtils; +import org.apache.tika.parser.AutoDetectParser; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.exception.JeecgBootBizTipException; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.util.*; +import org.jeecg.config.JeecgBaseConfig; +import org.jeecg.config.vo.Path; import org.jeecg.modules.airag.app.consts.AiAppConsts; +import org.jeecg.modules.airag.app.consts.Prompts; import org.jeecg.modules.airag.app.entity.AiragApp; import org.jeecg.modules.airag.app.mapper.AiragAppMapper; import org.jeecg.modules.airag.app.service.IAiragChatService; +import org.jeecg.modules.airag.app.service.IAiragVariableService; +import org.jeecg.modules.airag.app.vo.AiWriteGenerateVo; import org.jeecg.modules.airag.app.vo.AppDebugParams; import org.jeecg.modules.airag.app.vo.ChatConversation; import org.jeecg.modules.airag.app.vo.ChatSendParams; @@ -35,18 +47,26 @@ import org.jeecg.modules.airag.flow.consts.FlowConsts; import org.jeecg.modules.airag.flow.entity.AiragFlow; import org.jeecg.modules.airag.flow.service.IAiragFlowService; import org.jeecg.modules.airag.flow.vo.api.FlowRunParams; +import org.jeecg.modules.airag.llm.consts.LLMConsts; +import org.jeecg.modules.airag.llm.document.TikaDocumentParser; import org.jeecg.modules.airag.llm.entity.AiragModel; import org.jeecg.modules.airag.llm.handler.AIChatHandler; import org.jeecg.modules.airag.llm.handler.JeecgToolsProvider; import org.jeecg.modules.airag.llm.mapper.AiragModelMapper; +import org.jeecg.modules.airag.llm.service.IAiragFlowPluginService; +import org.jeecg.modules.airag.llm.service.IAiragKnowledgeService; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.BoundValueOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import java.io.ByteArrayOutputStream; +import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.*; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; @@ -85,6 +105,18 @@ public class AiragChatServiceImpl implements IAiragChatService { @Autowired AiragModelMapper airagModelMapper; + + @Autowired + IAiragFlowPluginService airagFlowPluginService; + + @Autowired + IAiragKnowledgeService airagKnowledgeService; + + @Autowired + IAiragVariableService airagVariableService; + + @Autowired + JeecgBaseConfig jeecgBaseConfig; /** * 重新接收消息 @@ -105,10 +137,13 @@ public class AiragChatServiceImpl implements IAiragChatService { if (oConvertUtils.isNotEmpty(chatSendParams.getAppId())) { app = airagAppMapper.getByIdIgnoreTenant(chatSendParams.getAppId()); } - ChatConversation chatConversation = getOrCreateChatConversation(app, conversationId); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + ChatConversation chatConversation = getOrCreateChatConversation(app, conversationId, chatSendParams.getSessionType()); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- // 更新标题 if (oConvertUtils.isEmpty(chatConversation.getTitle())) { - chatConversation.setTitle(userMessage.length() > 5 ? userMessage.substring(0, 5) : userMessage); + int maxLength = AiAppConsts.CONVERSATION_MAX_TITLE_LENGTH; + chatConversation.setTitle(userMessage.length() > maxLength ? userMessage.substring(0, maxLength) : userMessage); } //update-begin---author:chenrui ---date:20251106 for:[issues/8545]新建AI应用的时候只能选择没有自定义参数的AI流程------------ // 保存工作流入参配置(如果有) @@ -116,6 +151,12 @@ public class AiragChatServiceImpl implements IAiragChatService { chatConversation.setFlowInputs(chatSendParams.getFlowInputs()); } //update-end---author:chenrui ---date:20251106 for:[issues/8545]新建AI应用的时候只能选择没有自定义参数的AI流程------------ + //是否保存会话 + if(null != chatSendParams.getIzSaveSession()){ + chatConversation.setIzSaveSession(chatSendParams.getIzSaveSession()); + } + // 保存变量 + saveVariables(app); // 发送消息 return doChat(chatConversation, topicId, chatSendParams); } @@ -130,7 +171,9 @@ public class AiragChatServiceImpl implements IAiragChatService { String topicId = oConvertUtils.getString(appDebugParams.getTopicId(), UUIDGenerator.generate()); AiragApp app = appDebugParams.getApp(); app.setId("__DEBUG_APP"); - ChatConversation chatConversation = getOrCreateChatConversation(app, topicId); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + ChatConversation chatConversation = getOrCreateChatConversation(app, topicId, ""); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- //update-begin---author:chenrui ---date:20251106 for:[issues/8545]新建AI应用的时候只能选择没有自定义参数的AI流程------------ // 保存工作流入参配置(如果有) if (oConvertUtils.isObjectNotEmpty(appDebugParams.getFlowInputs())) { @@ -140,7 +183,9 @@ public class AiragChatServiceImpl implements IAiragChatService { // 发送消息 SseEmitter emitter = doChat(chatConversation, topicId, appDebugParams); //保存会话 - saveChatConversation(chatConversation, true, null); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + saveChatConversation(chatConversation, true, null, ""); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- return emitter; } @@ -247,9 +292,11 @@ public class AiragChatServiceImpl implements IAiragChatService { } @Override - public Result getMessages(String conversationId) { + public Result getMessages(String conversationId, String sessionType) { AssertUtils.assertNotEmpty("请先选择会话", conversationId); - String key = getConversationCacheKey(conversationId, null); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + String key = getConversationCacheKey(conversationId, null, sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- if (oConvertUtils.isEmpty(key)) { return Result.ok(Collections.emptyList()); } @@ -273,6 +320,7 @@ public class AiragChatServiceImpl implements IAiragChatService { .role(msg.getRole()) .content(msg.getContent()) .images(msg.getImages()) + .files(msg.getFiles()) .datetime(msg.getDatetime()) .build(); // 不设置toolExecutionRequests和toolExecutionResult @@ -282,21 +330,30 @@ public class AiragChatServiceImpl implements IAiragChatService { } result.put("messages", messages); result.put("flowInputs", chatConversation.getFlowInputs()); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + if(oConvertUtils.isNotEmpty(sessionType)){ + result.put("appData", chatConversation.getApp()); + } + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- return Result.ok(result); //update-end---author:chenrui ---date:20251106 for:[issues/8545]新建AI应用的时候只能选择没有自定义参数的AI流程------------ } @Override - public Result clearMessage(String conversationId) { + public Result clearMessage(String conversationId, String sessionType) { AssertUtils.assertNotEmpty("请先选择会话", conversationId); - String key = getConversationCacheKey(conversationId, null); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + String key = getConversationCacheKey(conversationId, null,sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- if (oConvertUtils.isEmpty(key)) { return Result.ok(Collections.emptyList()); } ChatConversation chatConversation = (ChatConversation) redisTemplate.boundValueOps(key).get(); if (null != chatConversation && oConvertUtils.isObjectNotEmpty(chatConversation.getMessages())) { chatConversation.getMessages().clear(); - saveChatConversation(chatConversation); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + saveChatConversation(chatConversation,sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- } return Result.ok(); } @@ -443,9 +500,11 @@ public class AiragChatServiceImpl implements IAiragChatService { } @Override - public Result deleteConversation(String conversationId) { + public Result deleteConversation(String conversationId, String sessionType) { AssertUtils.assertNotEmpty("请选择要删除的会话", conversationId); - String key = getConversationCacheKey(conversationId, null); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + String key = getConversationCacheKey(conversationId, null, sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- if (oConvertUtils.isNotEmpty(key)) { Boolean delete = redisTemplate.delete(key); if (delete) { @@ -463,14 +522,18 @@ public class AiragChatServiceImpl implements IAiragChatService { AssertUtils.assertNotEmpty("请先选择会话", updateTitleParams); AssertUtils.assertNotEmpty("请先选择会话", updateTitleParams.getId()); AssertUtils.assertNotEmpty("请输入会话标题", updateTitleParams.getTitle()); - String key = getConversationCacheKey(updateTitleParams.getId(), null); + String key = getConversationCacheKey(updateTitleParams.getId(), null, updateTitleParams.getSessionType()); if (oConvertUtils.isEmpty(key)) { log.warn("[ai-chat]删除会话:未找到会话:{}", updateTitleParams.getId()); return Result.ok(); } ChatConversation chatConversation = (ChatConversation) redisTemplate.boundValueOps(key).get(); - chatConversation.setTitle(updateTitleParams.getTitle()); - saveChatConversation(chatConversation); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + if (chatConversation != null) { + chatConversation.setTitle(updateTitleParams.getTitle()); + } + saveChatConversation(chatConversation,updateTitleParams.getSessionType()); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- return Result.ok(); } @@ -479,15 +542,21 @@ public class AiragChatServiceImpl implements IAiragChatService { * * @param conversationId * @param httpRequest + * @param sessionType 会话类型 * @return * @author chenrui * @date 2025/2/25 19:27 */ - private String getConversationCacheKey(String conversationId, HttpServletRequest httpRequest) { + private String getConversationCacheKey(String conversationId, HttpServletRequest httpRequest, String sessionType) { if (oConvertUtils.isEmpty(conversationId)) { return null; } String key = getConversationDirCacheKey(httpRequest); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + if(oConvertUtils.isNotEmpty(sessionType)){ + key = key + ":" + sessionType; + } + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- key = key + ":" + conversationId; return key; } @@ -522,18 +591,21 @@ public class AiragChatServiceImpl implements IAiragChatService { * * @param app * @param conversationId + * @param sessionType * @return * @author chenrui * @date 2025/2/25 19:19 */ @NotNull - private ChatConversation getOrCreateChatConversation(AiragApp app, String conversationId) { + private ChatConversation getOrCreateChatConversation(AiragApp app, String conversationId, String sessionType) { if (oConvertUtils.isObjectEmpty(app)) { app = new AiragApp(); app.setId(AiAppConsts.DEFAULT_APP_ID); } ChatConversation chatConversation = null; - String key = getConversationCacheKey(conversationId, null); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + String key = getConversationCacheKey(conversationId, null,sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- if (oConvertUtils.isNotEmpty(key)) { chatConversation = (ChatConversation) redisTemplate.boundValueOps(key).get(); } @@ -569,8 +641,8 @@ public class AiragChatServiceImpl implements IAiragChatService { * @author chenrui * @date 2025/2/25 19:27 */ - private void saveChatConversation(ChatConversation chatConversation) { - saveChatConversation(chatConversation, false, null); + private void saveChatConversation(ChatConversation chatConversation, String sessionType) { + saveChatConversation(chatConversation, false, null, sessionType); } /** @@ -581,11 +653,19 @@ public class AiragChatServiceImpl implements IAiragChatService { * @author chenrui * @date 2025/2/25 19:27 */ - private void saveChatConversation(ChatConversation chatConversation, boolean temp, HttpServletRequest httpRequest) { + private void saveChatConversation(ChatConversation chatConversation, boolean temp, HttpServletRequest httpRequest, String sessionType) { if (null == chatConversation) { return; } - String key = getConversationCacheKey(chatConversation.getId(), httpRequest); + + //如果是不保存会话直接返回 + if(null != chatConversation.getIzSaveSession() && !chatConversation.getIzSaveSession()){ + return; + } + + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + String key = getConversationCacheKey(chatConversation.getId(), httpRequest, sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- if (oConvertUtils.isEmpty(key)) { return; } @@ -680,6 +760,10 @@ public class AiragChatServiceImpl implements IAiragChatService { * @date 2025/2/25 19:05 */ private void appendMessage(List messages, ChatMessage message, ChatConversation chatConversation, String topicId) { + appendMessage(messages, message, chatConversation, topicId, null, null); + } + + private void appendMessage(List messages, ChatMessage message, ChatConversation chatConversation, String topicId, List files, String saveContent) { if (message.type().equals(ChatMessageType.SYSTEM)) { // 系统消息,放到消息列表最前面,并且不记录历史 @@ -709,8 +793,22 @@ public class AiragChatServiceImpl implements IAiragChatService { textContent.append(((TextContent) content).text()).append("\n"); } }); - historyMessage.setContent(textContent.toString()); + //update-begin---author:wangshuai---date:2026-01-12---for:【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档--- + if (oConvertUtils.isNotEmpty(saveContent)) { + historyMessage.setContent(saveContent); + } else { + historyMessage.setContent(textContent.toString()); + } historyMessage.setImages(images); + // 保存文件信息 + if (oConvertUtils.isNotEmpty(files)) { + List fileHistories = new ArrayList<>(); + for (String file : files) { + fileHistories.add(new MessageHistory.FileHistory(file)); + } + historyMessage.setFiles(fileHistories); + } + //update-end---author:wangshuai---date:2026-01-12---for:【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档--- } else if (message.type().equals(ChatMessageType.AI)) { historyMessage.setRole(AiragConsts.MESSAGE_ROLE_AI); AiMessage aiMessage = (AiMessage) message; @@ -766,9 +864,20 @@ public class AiragChatServiceImpl implements IAiragChatService { AiragLocalCache.put(AiragConsts.CACHE_TYPE_SSE_HISTORY_MSG, requestId, new CopyOnWriteArrayList<>()); try { // 组装用户消息 - UserMessage userMessage = aiChatHandler.buildUserMessage(sendParams.getContent(), sendParams.getImages()); + String content = sendParams.getContent(); + //将文件内容给提示词 + if(!CollectionUtils.isEmpty(sendParams.getFiles())){ + content = buildContentWithFiles(content, sendParams.getFiles()); + } + UserMessage userMessage = aiChatHandler.buildUserMessage(content, sendParams.getImages()); // 追加消息 - appendMessage(messages, userMessage, chatConversation, topicId); + //update-begin---author:wangshuai---date:2026-01-09---for:【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档--- + appendMessage(messages, userMessage, chatConversation, topicId, sendParams.getFiles(), sendParams.getContent()); + //update-end---author:wangshuai---date:2026-01-09---for:【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档--- + // 绘画AI逻辑:当开启生成绘画时调用 + if (oConvertUtils.isObjectNotEmpty(sendParams.getEnableDraw()) && sendParams.getEnableDraw()) { + return genImageChat(emitter,sendParams,requestId,messages,chatConversation,topicId); + } /* 这里应该是有几种情况: * 1. 非ai应用:获取默认模型->开始聊天 * 2. AI应用-聊天助手(ChatAssistant):从应用信息组装模型和提示词->开始聊天 @@ -781,7 +890,7 @@ public class AiragChatServiceImpl implements IAiragChatService { sendWithFlow(requestId, aiApp.getFlowId(), chatConversation, topicId, messages, sendParams); } else { // AI应用-聊天助手(ChatAssistant):从应用信息组装模型和提示词 - sendWithAppChat(requestId, messages, chatConversation, topicId, sendParams); + sendWithAppChat(requestId, messages, chatConversation, topicId, sendParams, aiApp.getFlowId(), aiApp.getMemoryId()); } } else { // 发消息 @@ -789,7 +898,13 @@ public class AiragChatServiceImpl implements IAiragChatService { if (oConvertUtils.isObjectNotEmpty(sendParams.getEnableSearch())) { aiChatParams.setEnableSearch(sendParams.getEnableSearch()); } - sendWithDefault(requestId, chatConversation, topicId, null, messages, aiChatParams); + // 设置深度思考搜索参数 + if (oConvertUtils.isObjectNotEmpty(sendParams.getEnableThink())) { + aiChatParams.setReturnThinking(sendParams.getEnableThink()); + } + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + sendWithDefault(requestId, chatConversation, topicId, null, messages, aiChatParams, sendParams.getSessionType()); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- } // 发送就绪消息 EventData eventRequestId = new EventData(requestId, null, EventData.EVENT_INIT_REQUEST_ID, chatConversation.getId(), topicId); @@ -804,6 +919,69 @@ public class AiragChatServiceImpl implements IAiragChatService { return emitter; } + /** + * 生成图片 + * + * @param emitter + * @param sendParams + * @param requestId + * @param messages + * @param chatConversation + * @param topicId + * @return + */ + private SseEmitter genImageChat(SseEmitter emitter, ChatSendParams sendParams, String requestId, List messages, ChatConversation chatConversation, String topicId) { + AIChatParams aiChatParams = new AIChatParams(); + //update-begin---author:wangshuai---date:2026-01-26---for: 【QQYUN-14615】应用门户加入新工具:取绘画id--- + String drawModelId = sendParams.getDrawModelId(); + if(oConvertUtils.isEmpty(sendParams.getDrawModelId())){ + AiragApp app = chatConversation.getApp(); + String metadata = app.getMetadata(); + if(oConvertUtils.isNotEmpty(metadata) && metadata.contains("drawModelId")){ + drawModelId = JSONObject.parseObject(metadata).getString("drawModelId"); + } + } + AssertUtils.assertNotEmpty("请选择绘画模型", drawModelId); + try { + List images = sendParams.getImages(); + List> imageList; + if(CollectionUtils.isEmpty(images)) { + //生成图片 + imageList = aiChatHandler.imageGenerate(drawModelId, sendParams.getContent(), aiChatParams); + } else { + //图生图 + imageList = aiChatHandler.imageEdit(drawModelId, sendParams.getContent(), images, aiChatParams); + } + // 记录历史消息 + String imageMarkdown = imageList.stream().map(map -> { + String newUrl = this.uploadImage(map); + return "![](" + newUrl + ")"; + }).collect(Collectors.joining("\n")); + //update-end---author:wangshuai---date:2026-01-26---for:【QQYUN-14615】应用门户加入新工具:取绘画id--- + AiMessage aiMessage = new AiMessage(imageMarkdown); + appendMessage(messages, aiMessage, chatConversation, topicId); + // 处理绘画结果并通过SSE返回给客户端 + EventData eventData = new EventData(requestId, null, EventData.EVENT_MESSAGE, chatConversation.getId(), topicId); + EventMessageData messageEventData = EventMessageData.builder().message(imageMarkdown).build(); + eventData.setData(messageEventData); + eventData.setRequestId(requestId); + sendMessage2Client(emitter, eventData); + // 保存会话 + saveChatConversation(chatConversation, false, SpringContextUtils.getHttpServletRequest(), sendParams.getSessionType()); + eventData = new EventData(requestId, null, EventData.EVENT_MESSAGE_END, chatConversation.getId(), topicId); + eventData.setRequestId(requestId); + sendMessage2Client(emitter, eventData); + } catch (Exception e) { + log.error("绘画AI调用异常", e); + EventData errorEventData = new EventData(requestId, null, EventData.EVENT_FLOW_ERROR, chatConversation.getId(), topicId); + EventMessageData messageEventData = EventMessageData.builder().message("绘画AI调用失败:" + e.getMessage()).build(); + errorEventData.setData(messageEventData); + errorEventData.setRequestId(requestId); + closeSSE(emitter, errorEventData); + } + return emitter; + } + /** * 运行流程 * @@ -875,7 +1053,9 @@ public class AiragChatServiceImpl implements IAiragChatService { sendMessage2Client(emitter, msgEventData); appendMessage(messages, aiMessage, chatConversation, topicId); // 保存会话 - saveChatConversation(chatConversation, false, httpRequest); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + saveChatConversation(chatConversation, false, httpRequest, sendParams.getSessionType()); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- } }else{ //update-begin---author:chenrui ---date:20250425 for:[QQYUN-12203]AI 聊天,超时或者服务器报错,给个友好提示------------ @@ -908,16 +1088,31 @@ public class AiragChatServiceImpl implements IAiragChatService { * @param chatConversation * @param topicId * @param sendParams + * @param flowId + * @param memoryId * @return * @author chenrui * @date 2025/2/28 10:41 */ - private void sendWithAppChat(String requestId, List messages, ChatConversation chatConversation, String topicId, ChatSendParams sendParams) { + private void sendWithAppChat(String requestId, List messages, ChatConversation chatConversation, String topicId, ChatSendParams sendParams, String flowId, String memoryId) { AiragApp aiApp = chatConversation.getApp(); String modelId = aiApp.getModelId(); AssertUtils.assertNotEmpty("请先选择模型", modelId); // AI应用提示词 String prompt = aiApp.getPrompt(); + + String username = "jeecg"; + try { + HttpServletRequest req = SpringContextUtils.getHttpServletRequest(); + username = JwtUtil.getUserNameByToken(req); + } catch (Exception e) { + log.error(e.getMessage()); + } + //将变量中的题试题替换并追加 + if(oConvertUtils.isObjectNotEmpty(aiApp.getVariables())) { + prompt = airagVariableService.additionalPrompt(username, aiApp); + } + if (oConvertUtils.isNotEmpty(prompt)) { appendMessage(messages, new SystemMessage(prompt), chatConversation, topicId); } @@ -943,6 +1138,9 @@ public class AiragChatServiceImpl implements IAiragChatService { if (metadata.containsKey("maxTokens")) { aiChatParams.setMaxTokens(metadata.getInteger("maxTokens")); } + if (metadata.containsKey(FlowConsts.FLOW_NODE_OPTION_TIME_OUT)) { + aiChatParams.setTimeout(oConvertUtils.getInt(metadata.getInteger(FlowConsts.FLOW_NODE_OPTION_TIME_OUT), 300)); + } } } @@ -964,16 +1162,70 @@ public class AiragChatServiceImpl implements IAiragChatService { aiChatParams.setPluginIds(pluginIds); } } + + //流程不为空,构建插件 + if(oConvertUtils.isNotEmpty(flowId)){ + Map result = airagFlowPluginService.getFlowsToPlugin(flowId); + this.addPluginToParams(aiChatParams, result); + } // 设置网络搜索参数(如果前端传递了) if (sendParams != null && oConvertUtils.isObjectNotEmpty(sendParams.getEnableSearch())) { aiChatParams.setEnableSearch(sendParams.getEnableSearch()); } + // 设置深度思考参数(如果前端传递了) + if (sendParams != null && oConvertUtils.isObjectNotEmpty(sendParams.getEnableThink())) { + aiChatParams.setReturnThinking(sendParams.getEnableThink()); + } + + // 设置记忆库的插件 + if(sendParams != null && oConvertUtils.isNotEmpty(memoryId)){ + //开启记忆 + if(null == aiApp.getIzOpenMemory() || AiAppConsts.IZ_OPEN_MEMORY.equals(aiApp.getIzOpenMemory())){ + Map pluginMemory = airagKnowledgeService.getPluginMemory(memoryId); + this.addPluginToParams(aiChatParams, pluginMemory); + } + } + + //设置变量的插件 + // 添加系统级工具:变量更新 + if (oConvertUtils.isNotEmpty(aiApp.getId())) { + airagVariableService.addUpdateVariableTool(aiApp,username,aiChatParams); + } + // 打印流程耗时日志 printChatDuration(requestId, "构造应用自定义参数完成"); // 发消息 - sendWithDefault(requestId, chatConversation, topicId, modelId, messages, aiChatParams); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + sendWithDefault(requestId, chatConversation, topicId, modelId, messages, aiChatParams, sendParams.getSessionType()); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + } + + /** + * 添加插件到参数中 + * + * @param aiChatParams + * @param result + */ + private void addPluginToParams(AIChatParams aiChatParams, Map result) { + if (result == null) { + return; + } + Map flowsToPlugin = (Map) result.get("pluginTool"); + String pluginId = (String) result.get("pluginId"); + if (aiChatParams.getTools() == null) { + aiChatParams.setTools(new HashMap<>()); + } + if (flowsToPlugin != null) { + aiChatParams.getTools().putAll(flowsToPlugin); + } + if (aiChatParams.getPluginIds() == null) { + aiChatParams.setPluginIds(new ArrayList<>()); + } + if (oConvertUtils.isNotEmpty(pluginId)) { + aiChatParams.getPluginIds().add(pluginId); + } } /** @@ -984,11 +1236,12 @@ public class AiragChatServiceImpl implements IAiragChatService { * @param topicId * @param modelId * @param messages + * @param sessionType * @return * @author chenrui * @date 2025/2/25 19:24 */ - private void sendWithDefault(String requestId, ChatConversation chatConversation, String topicId, String modelId, List messages, AIChatParams aiChatParams) { + private void sendWithDefault(String requestId, ChatConversation chatConversation, String topicId, String modelId, List messages, AIChatParams aiChatParams, String sessionType) { // 调用ai聊天 if (null == aiChatParams) { aiChatParams = new AIChatParams(); @@ -997,11 +1250,16 @@ public class AiragChatServiceImpl implements IAiragChatService { if(chatConversation.getApp().getId().equals(AiAppConsts.DEFAULT_APP_ID)){ aiChatParams.setTools(jeecgToolsProvider.getDefaultTools()); } - aiChatParams.setKnowIds(chatConversation.getApp().getKnowIds()); + if(CollectionUtils.isEmpty(aiChatParams.getKnowIds())){ + aiChatParams.setKnowIds(chatConversation.getApp().getKnowIds()); + } else { + aiChatParams.getKnowIds().addAll(chatConversation.getApp().getKnowIds()); + } aiChatParams.setMaxMsgNumber(oConvertUtils.getInt(chatConversation.getApp().getMsgNum(), 5)); aiChatParams.setCurrentHttpRequest(SpringContextUtils.getHttpServletRequest()); - aiChatParams.setReturnThinking(true); HttpServletRequest httpRequest = SpringContextUtils.getHttpServletRequest(); + // for [QQYUN-9234] MCP服务连接关闭 - 保存参数引用用于在回调中关闭MCP连接 + final AIChatParams finalAiChatParams = aiChatParams; TokenStream chatStream; try { // 打印流程耗时日志 @@ -1013,6 +1271,8 @@ public class AiragChatServiceImpl implements IAiragChatService { } } catch (Exception e) { log.error(e.getMessage(), e); + // for [QQYUN-9234] MCP服务连接关闭 - 异常时关闭MCP连接 + finalAiChatParams.closeMcpConnections(); // sse SseEmitter emitter = AiragLocalCache.get(AiragConsts.CACHE_TYPE_SSE, requestId); if (null == emitter) { @@ -1098,6 +1358,8 @@ public class AiragChatServiceImpl implements IAiragChatService { // 打印流程耗时日志 printChatDuration(requestId, "LLM输出消息完成"); AiragLocalCache.remove(AiragConsts.CACHE_TYPE_SSE_SEND_TIME, requestId); + // for [QQYUN-9234] MCP服务连接关闭 - 聊天完成时关闭MCP连接 + finalAiChatParams.closeMcpConnections(); // 记录ai的回复 AiMessage aiMessage = responseMessage.aiMessage(); FinishReason finishReason = responseMessage.finishReason(); @@ -1113,7 +1375,9 @@ public class AiragChatServiceImpl implements IAiragChatService { EventData eventData = new EventData(requestId, null, EventData.EVENT_MESSAGE_END, chatConversation.getId(), topicId); appendMessage(messages, aiMessage, chatConversation, topicId); // 保存会话 - saveChatConversation(chatConversation, false, httpRequest); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + saveChatConversation(chatConversation, false, httpRequest, sessionType); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- closeSSE(emitter, eventData); } else if (FinishReason.LENGTH.equals(finishReason)) { // 上下文长度超过限制 @@ -1137,6 +1401,8 @@ public class AiragChatServiceImpl implements IAiragChatService { // 打印流程耗时日志 printChatDuration(requestId, "LLM输出消息异常"); AiragLocalCache.remove(AiragConsts.CACHE_TYPE_SSE_SEND_TIME, requestId); + // for [QQYUN-9234] MCP服务连接关闭 - 聊天异常时关闭MCP连接 + finalAiChatParams.closeMcpConnections(); // sse SseEmitter emitter = AiragLocalCache.get(AiragConsts.CACHE_TYPE_SSE, requestId); if (null == emitter) { @@ -1201,7 +1467,7 @@ public class AiragChatServiceImpl implements IAiragChatService { */ private static void sendMessage2Client(SseEmitter emitter, EventData eventData) { try { - log.info("发送消息:{}", eventData.getRequestId()); + log.debug("发送消息:{}", eventData.getRequestId()); String eventStr = JSONObject.toJSONString(eventData); log.debug("[AI应用]接收LLM返回消息:{}", eventStr); emitter.send(SseEmitter.event().data(eventStr)); @@ -1251,7 +1517,9 @@ public class AiragChatServiceImpl implements IAiragChatService { if (oConvertUtils.isEmpty(chatConversation.getId())) { return; } - String key = getConversationCacheKey(chatConversation.getId(), null); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + String key = getConversationCacheKey(chatConversation.getId(), null,""); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- if (oConvertUtils.isEmpty(key)) { return; } @@ -1281,10 +1549,13 @@ public class AiragChatServiceImpl implements IAiragChatService { if (oConvertUtils.isNotEmpty(summaryTitle)) { cachedConversation.setTitle(summaryTitle); } else { - cachedConversation.setTitle(question.length() > 5 ? question.substring(0, 5) : question); + int maxLength = AiAppConsts.CONVERSATION_MAX_TITLE_LENGTH; + cachedConversation.setTitle(question.length() > maxLength ? question.substring(0, maxLength) : question); } //保存会话 - saveChatConversation(cachedConversation); + //update-begin---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- + saveChatConversation(cachedConversation,""); + //update-end---author:wangshuai---date:2025-12-10---for:【QQYUN-14127】【AI】AI应用门户--- } }); } @@ -1329,4 +1600,324 @@ public class AiragChatServiceImpl implements IAiragChatService { log.info("[AI-CHAT]{},requestId:{},耗时:{}s", message, requestId, (System.currentTimeMillis() - beginTime) / 1000); } } -} \ No newline at end of file + + + /** + * 根据会话类型获取会话信息 + * + * @param sessionType + * @return + */ + @Override + public Result getConversationsByType(String sessionType) { + String key = getConversationDirCacheKey(null); + key = key + ":" + sessionType + ":*"; + List keys = redisUtil.scan(key); + // 如果键集合为空,返回空列表 + if (keys.isEmpty()) { + return Result.ok(Collections.emptyList()); + } + + // 遍历键集合,获取对应的 ChatConversation 对象 + List conversations = new ArrayList<>(); + for (Object k : keys) { + ChatConversation conversation = (ChatConversation) redisTemplate.boundValueOps(k).get(); + + if (conversation != null) { + AiragApp app = conversation.getApp(); + if (null == app) { + continue; + } + conversation.setApp(null); + conversation.setMessages(null); + conversations.add(conversation); + } + } + + // 对会话列表按创建时间降序排序 + conversations.sort((o1, o2) -> { + Date date1 = o1.getCreateTime(); + Date date2 = o2.getCreateTime(); + if (date1 == null && date2 == null) { + return 0; + } + if (date1 == null) { + return 1; + } + if (date2 == null) { + return -1; + } + return date2.compareTo(date1); + }); + + // 返回结果 + return Result.ok(conversations); + } + + //================================================= begin 【QQYUN-14269】【AI】支持变量 ======================================== + /** + * 初始化变量(仅不存在时设置) + */ + private void saveVariables(AiragApp app) { + if(null == app){ + return; + } + if(!AiAppConsts.IZ_OPEN_MEMORY.equals(app.getIzOpenMemory())){ + return; + } + if (oConvertUtils.isObjectNotEmpty(app.getVariables())) { + // 变量替换 + String username = "jeecg"; + try { + HttpServletRequest req = SpringContextUtils.getHttpServletRequest(); + username = JwtUtil.getUserNameByToken(req); + } catch (Exception e) { + log.error(e.getMessage()); + } + if (oConvertUtils.isNotEmpty(username) && oConvertUtils.isNotEmpty(app.getId())) { + String variables = app.getVariables(); + JSONArray objects = JSONArray.parseArray(variables); + for (int i = 0; i < objects.size(); i++) { + JSONObject jsonObject = objects.getJSONObject(i); + String name = jsonObject.getString("name"); + String defaultValue = jsonObject.getString("defaultValue"); + if (oConvertUtils.isNotEmpty(name)) { + airagVariableService.initVariable(username, app.getId(), name, defaultValue); + } + } + } + } + } + //================================================= end 【QQYUN-14269】【AI】支持变量 ======================================== + + /** + * ai海报生成 + * + * @param chatSendParams + * @return + */ + @Override + public String genAiPoster(ChatSendParams chatSendParams) { + AssertUtils.assertNotEmpty("请选择绘画模型", chatSendParams.getDrawModelId()); + AssertUtils.assertNotEmpty("请填写提示词", chatSendParams.getContent()); + AIChatParams aiChatParams = new AIChatParams(); + if(oConvertUtils.isNotEmpty(chatSendParams.getImageSize())){ + aiChatParams.setImageSize(chatSendParams.getImageSize()); + } + String image= chatSendParams.getImageUrl(); + List> imageList = new ArrayList<>(); + if(oConvertUtils.isEmpty(image)) { + //生成图片 + imageList = aiChatHandler.imageGenerate(chatSendParams.getDrawModelId(), chatSendParams.getContent(), aiChatParams); + } else { + //图生图 + imageList = aiChatHandler.imageEdit(chatSendParams.getDrawModelId(), chatSendParams.getContent(), Arrays.asList(image.split(SymbolConstant.COMMA)), aiChatParams); + } + return imageList.stream().map(this::uploadImage).collect(Collectors.joining("\n")); + } + + /** + * 上传图片 + * + * @param map + * @return + */ + private String uploadImage(Map map) { + if (null == map || map.isEmpty()) { + return ""; + } + try { + String type = String.valueOf(map.get("type")); + String value = String.valueOf(map.get("value")); + byte[] data = new byte[1024]; + // 判断是否是base64 + if ("base64".equals(type)) { + if(value.startsWith("data:image")){ + value = value.substring(value.indexOf(",") + 1); + } + data = Base64.getDecoder().decode(value); + } else { + //下载网络图片 + InputStream inputStream = FileDownloadUtils.getDownInputStream(value, ""); + if (inputStream != null) { + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + byte[] inpByte = new byte[1024]; // 1KB缓冲区 + int nRead; + while ((nRead = inputStream.read(inpByte, 0, data.length)) != -1) { + buffer.write(inpByte, 0, nRead); + } + data = buffer.toByteArray(); + } + } + if (data != null) { + Path path = jeecgBaseConfig.getPath(); + String bizPath = "chat"; + String url = CommonUtils.uploadOnlineImage(data, path.getUpload(), bizPath, jeecgBaseConfig.getUploadType()); + if("local".equals(jeecgBaseConfig.getUploadType())){ + url = "#{domainURL}/" + url; + } + return url; + } + } catch (Exception e) { + log.error("上传图片失败", e); + } + return ""; + } + + //================================================= begin【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档======================================== + /** + * 构建文件内容 + * + * @param content + * @param files + * @return + */ + private String buildContentWithFiles(String content, List files) { + String filesText = parseFilesToText(files); + if (oConvertUtils.isEmpty(content)) { + content = "请基于我提供的附件内容回答问题。"; + }else{ + content = content + "\n\n请基于我提供的附件内容回答问题。"; + } + if (oConvertUtils.isNotEmpty(filesText)) { + if (oConvertUtils.isNotEmpty(content)) { + content = content + "\n\n" + filesText; + } else { + content = filesText; + } + } + return content; + } + + /** + * 将文件转换成text + * + * @param files + * @return + */ + private String parseFilesToText(List files) { + if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(files)) { + return ""; + } + StringBuilder sb = new StringBuilder(); + TikaDocumentParser parser = new TikaDocumentParser(AutoDetectParser::new, null, null, null); + int parsedCount = 0; + for (String fileRef : files) { + if (parsedCount >= LLMConsts.CHAT_FILE_MAX_COUNT) { + break; + } + if (oConvertUtils.isEmpty(fileRef)) { + continue; + } + + String fileRefWithoutQuery = fileRef; + if (fileRefWithoutQuery.contains("?")) { + fileRefWithoutQuery = fileRefWithoutQuery.substring(0, fileRefWithoutQuery.indexOf("?")); + } + String fileName = FilenameUtils.getName(fileRefWithoutQuery); + String ext = FilenameUtils.getExtension(fileName); + if (oConvertUtils.isEmpty(ext) || !LLMConsts.CHAT_FILE_EXT_WHITELIST.contains(ext.toLowerCase())) { + continue; + } + try { + File file = ensureLocalFile(fileRef, fileName); + if (file == null || !file.exists() || !file.isFile()) { + continue; + } + Document document = parser.parse(file); + if (document == null || oConvertUtils.isEmpty(document.text())) { + continue; + } + String text = document.text().trim(); + if (text.length() > LLMConsts.CHAT_FILE_TEXT_MAX_LENGTH) { + text = text.substring(0, LLMConsts.CHAT_FILE_TEXT_MAX_LENGTH); + } + sb.append("附件[").append(fileName).append("]内容:\n").append(text).append("\n\n"); + parsedCount++; + if (sb.length() > LLMConsts.CHAT_FILE_TEXT_MAX_LENGTH) { + break; + } + } catch (Exception e) { + log.warn("附件解析失败: {}, {}", fileRef, e.getMessage()); + } + } + return sb.toString().trim(); + } + + /** + * 获取本地文件 + * + * @param fileRef + * @param fileName + * @return + * @throws IOException + */ + private File ensureLocalFile(String fileRef, String fileName) { + String uploadpath = jeecgBaseConfig.getPath().getUpload(); + if (LLMConsts.WEB_PATTERN.matcher(fileRef).matches()) { + String tempDir = uploadpath + File.separator + "chat" + File.separator + UUID.randomUUID() + File.separator; + File dir = new File(tempDir); + if (!dir.exists() && !dir.mkdirs()) { + return null; + } + String tempFilePath = tempDir + fileName; + FileDownloadUtils.download2DiskFromNet(fileRef, tempFilePath); + return new File(tempFilePath); + } + return new File(uploadpath + File.separator + fileRef); + } + //================================================= end【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档======================================== + + + /** + * ai创作 + * + * @param aiWriteGenerateVo + * @return + */ + @Override + public SseEmitter genAiWriter(AiWriteGenerateVo aiWriteGenerateVo) { + String activeMode = "compose"; + String reply = "reply"; + ChatSendParams sendParams = new ChatSendParams(); + sendParams.setAppId(AiAppConsts.ARTICLE_WRITER_FLOW_ID); + String content = ""; + //写作 + if (activeMode.equals(aiWriteGenerateVo.getActiveMode())) { + content = StrUtil.format(Prompts.AI_WRITER_PROMPT, aiWriteGenerateVo.getPrompt(), aiWriteGenerateVo.getFormat(), aiWriteGenerateVo.getTone(), aiWriteGenerateVo.getLanguage(), aiWriteGenerateVo.getLength()); + } else if(reply.equals(aiWriteGenerateVo.getActiveMode())){ + //回复 + content = StrUtil.format(Prompts.AI_REPLY_PROMPT, aiWriteGenerateVo.getPrompt(), aiWriteGenerateVo.getOriginalContent(), aiWriteGenerateVo.getFormat(), aiWriteGenerateVo.getTone(), aiWriteGenerateVo.getLanguage(), aiWriteGenerateVo.getLength()); + } else { + content = StrUtil.format(Prompts.AI_TOUCHE_PROMPT, aiWriteGenerateVo.getPrompt(), aiWriteGenerateVo.getFormat(), aiWriteGenerateVo.getTone(), aiWriteGenerateVo.getLanguage(), aiWriteGenerateVo.getLength()); + } + sendParams.setContent(content); + //组装会话 + String requestId = UUIDGenerator.generate(); + String topicId = UUIDGenerator.generate(); + String conversationId = UUIDGenerator.generate(); + ChatConversation chatConversation = new ChatConversation(); + chatConversation.setId(conversationId); + chatConversation.setMessages(new ArrayList<>()); + Map flowInputs = new HashMap<>(); + flowInputs.put("type", aiWriteGenerateVo.getActiveMode()); + flowInputs.put("version", "V1"); + chatConversation.setFlowInputs(flowInputs); + SseEmitter emitter = createSSE(requestId); + // 缓存emitter + AiragLocalCache.put(AiragConsts.CACHE_TYPE_SSE, requestId, emitter); + // 缓存开始发送时间 + log.info("[AI-CHAT]开始发送消息,requestId:{}", requestId); + AiragLocalCache.put(AiragConsts.CACHE_TYPE_SSE_SEND_TIME, requestId, System.currentTimeMillis()); + // 初始化历史消息缓存 + AiragLocalCache.put(AiragConsts.CACHE_TYPE_SSE_HISTORY_MSG, requestId, new CopyOnWriteArrayList<>()); + + // 发送就绪消息 + EventData eventRequestId = new EventData(requestId, null, EventData.EVENT_INIT_REQUEST_ID, chatConversation.getId(), topicId); + eventRequestId.setData(EventMessageData.builder().message("").build()); + sendMessage2Client(emitter, eventRequestId); + + sendWithFlow(requestId, AiAppConsts.ARTICLE_WRITER_FLOW_ID, chatConversation, topicId, new ArrayList<>(), sendParams); + return emitter; + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragVariableServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragVariableServiceImpl.java new file mode 100644 index 000000000..9ef4ec421 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/service/impl/AiragVariableServiceImpl.java @@ -0,0 +1,194 @@ +package org.jeecg.modules.airag.app.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import dev.langchain4j.agent.tool.ToolSpecification; +import dev.langchain4j.model.chat.request.json.JsonObjectSchema; +import dev.langchain4j.service.tool.ToolExecutor; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.app.consts.AiAppConsts; +import org.jeecg.modules.airag.app.entity.AiragApp; +import org.jeecg.modules.airag.app.service.IAiragVariableService; +import org.jeecg.modules.airag.app.vo.AppVariableVo; +import org.jeecg.modules.airag.common.handler.AIChatParams; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: AI应用变量服务实现 + * @Author: jeecg-boot + * @Date: 2025-02-26 + * @Version: V1.0 + */ +@Service +@Slf4j +public class AiragVariableServiceImpl implements IAiragVariableService { + + @Autowired + private RedisTemplate redisTemplate; + + private static final String CACHE_PREFIX = "airag:app:var:"; + + /** + * 初始化变量(仅不存在时设置) + * + * @param username + * @param appId + * @param name + * @param defaultValue + */ + @Override + public void initVariable(String username, String appId, String name, String defaultValue) { + if (oConvertUtils.isEmpty(username) || oConvertUtils.isEmpty(appId) || oConvertUtils.isEmpty(name)) { + return; + } + String key = CACHE_PREFIX + appId + ":" + username; + redisTemplate.opsForHash().putIfAbsent(key, name, defaultValue != null ? defaultValue : ""); + } + + /** + * 追加提示词 + * + * @param username + * @param app + * @return + */ + @Override + public String additionalPrompt(String username, AiragApp app) { + String memoryPrompt = app.getMemoryPrompt(); + String prompt = app.getPrompt(); + + if (oConvertUtils.isEmpty(memoryPrompt)) { + return prompt; + } + String variablesStr = app.getVariables(); + if (oConvertUtils.isEmpty(variablesStr)) { + return prompt; + } + + List variableList = JSONArray.parseArray(variablesStr, AppVariableVo.class); + if (variableList == null || variableList.isEmpty()) { + return prompt; + } + + String key = CACHE_PREFIX + app.getId() + ":" + username; + Map savedValues = redisTemplate.opsForHash().entries(key); + + for (AppVariableVo variable : variableList) { + if (variable.getEnable() != null && !variable.getEnable()) { + continue; + } + String name = variable.getName(); + String value = variable.getDefaultValue(); + + // 优先使用Redis中的值 + if (savedValues.containsKey(name)) { + Object savedVal = savedValues.get(name); + if (savedVal != null) { + value = String.valueOf(savedVal); + } + } + + if (value == null) { + value = ""; + } + + // 替换 {{name}} + memoryPrompt = memoryPrompt.replace("{{" + name + "}}", value); + } + return prompt + "\n" + memoryPrompt; + } + + /** + * 更新变量值 + * + * @param userId + * @param appId + * @param name + * @param value + */ + @Override + public void updateVariable(String userId, String appId, String name, String value) { + if (oConvertUtils.isEmpty(userId) || oConvertUtils.isEmpty(appId) || oConvertUtils.isEmpty(name)) { + return; + } + String key = CACHE_PREFIX + appId + ":" + userId; + redisTemplate.opsForHash().put(key, name, value); + } + + + /** + * 添加变量更新工具 + * + * @param params + * @param aiApp + * @param username + */ + @Override + public void addUpdateVariableTool(AiragApp aiApp, String username, AIChatParams params) { + if (params.getTools() == null) { + params.setTools(new HashMap<>()); + } + if (!AiAppConsts.IZ_OPEN_MEMORY.equals(aiApp.getIzOpenMemory())) { + return; + } + // 构建变量描述信息 + String variablesStr = aiApp.getVariables(); + List variableList = null; + if (oConvertUtils.isNotEmpty(variablesStr)) { + variableList = JSONArray.parseArray(variablesStr, AppVariableVo.class); + } + + //工具描述 + StringBuilder descriptionBuilder = new StringBuilder("更新应用变量的值。仅当检测到变量的新值与当前值不一致时调用。如果已调用过或值未变,请勿重复调用。"); + if (variableList != null && !variableList.isEmpty()) { + descriptionBuilder.append("\n\n可用变量列表:"); + for (AppVariableVo var : variableList) { + if (var.getEnable() != null && !var.getEnable()) { + continue; + } + descriptionBuilder.append("\n- ").append(var.getName()); + if (oConvertUtils.isNotEmpty(var.getDescription())) { + descriptionBuilder.append(": ").append(var.getDescription()); + } + } + descriptionBuilder.append("\n\n注意:variableName必须是上述列表中的名称之一。"); + } + + //构建更新变量的工具 + ToolSpecification spec = ToolSpecification.builder() + .name("update_variable") + .description(descriptionBuilder.toString()) + .parameters(JsonObjectSchema.builder() + .addStringProperty("variableName", "变量名称") + .addStringProperty("value", "变量值") + .required("variableName", "value") + .build()) + .build(); + + //监听工具的调用 + ToolExecutor executor = (toolExecutionRequest, memoryId) -> { + try { + JSONObject args = JSONObject.parseObject(toolExecutionRequest.arguments()); + String name = args.getString("variableName"); + String value = args.getString("value"); + IAiragVariableService variableService = SpringContextUtils.getBean(IAiragVariableService.class); + //更新变量值 + variableService.updateVariable(username, aiApp.getId(), name, value); + return "变量 " + name + " 已更新为: " + value; + } catch (Exception e) { + log.error("更新变量失败", e); + return "更新变量失败: " + e.getMessage(); + } + }; + + params.getTools().put(spec, executor); + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AiArticleWriteVersionVo.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AiArticleWriteVersionVo.java new file mode 100644 index 000000000..27308352e --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AiArticleWriteVersionVo.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.airag.app.vo; + +import lombok.Data; + +/** +* @Description: AI写作版本号 +* +* @author: wangshuai +* @date: 2026/1/16 11:57 +*/ +@Data +public class AiArticleWriteVersionVo { + + /** + * 当前版本号 + */ + private String version; + + /** + * 写作内容 + */ + private String content; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AiWriteGenerateVo.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AiWriteGenerateVo.java new file mode 100644 index 000000000..277a1e0c0 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AiWriteGenerateVo.java @@ -0,0 +1,48 @@ +package org.jeecg.modules.airag.app.vo; + +import lombok.Data; + +/** +* @Description: ai写作生成实体类 +* +* @author: wangshuai +* @date: 2026/1/12 15:59 +*/ +@Data +public class AiWriteGenerateVo { + + /** + * 写作类型 + */ + private String activeMode; + + /** + * 写作内容提示 + */ + private String prompt; + + /** + * 原文 + */ + private String originalContent; + + /** + * 长度 + */ + private String length; + + /** + * 格式 + */ + private String format; + + /** + * 语气 + */ + private String tone; + + /** + * 语言 + */ + private String language; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AppVariableVo.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AppVariableVo.java new file mode 100644 index 000000000..6730236e8 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/AppVariableVo.java @@ -0,0 +1,46 @@ +package org.jeecg.modules.airag.app.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: 应用变量配置 + * @Author: jeecg-boot + * @Date: 2025-02-26 + * @Version: V1.0 + */ +@Data +public class AppVariableVo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 变量名 + */ + private String name; + + /** + * 描述 + */ + private String description; + + /** + * 默认值 + */ + private String defaultValue; + + /** + * 是否启用 + */ + private Boolean enable; + + /** + * 动作 + */ + private String action; + + /** + * 排序 + */ + private Integer orderNum; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatConversation.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatConversation.java index 69b0f0dc2..c94f285e5 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatConversation.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatConversation.java @@ -47,4 +47,14 @@ public class ChatConversation { * for [issues/8545]新建AI应用的时候只能选择没有自定义参数的AI流程 */ private Map flowInputs; + + /** + * portal 应用门户 + */ + private String sessionType; + + /** + * 是否保存会话 + */ + private Boolean izSaveSession; } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatSendParams.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatSendParams.java index 10518b793..d2366a987 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatSendParams.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/app/vo/ChatSendParams.java @@ -47,6 +47,11 @@ public class ChatSendParams { */ private List images; + /** + * 文件列表 + */ + private List files; + /** * 工作流额外入参配置 * key: 参数field, value: 参数值 @@ -59,4 +64,39 @@ public class ChatSendParams { */ private Boolean enableSearch; + /** + * 是否开启深度思考 + */ + private Boolean enableThink; + + /** + * 会话类型: portal 应用门户 + */ + private String sessionType; + + /** + * 是否开启生成绘画 + */ + private Boolean enableDraw; + + /** + * 绘画模型的id + */ + private String drawModelId; + + /** + * 图片尺寸 + */ + private String imageSize; + + /** + * 一张图片 + */ + private String imageUrl; + + /** + * 是否保存会话 + */ + private Boolean izSaveSession; + } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/demo/TestAiragEnhance.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/demo/TestAiragEnhance.java index 0cbd7020f..39a1673f2 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/demo/TestAiragEnhance.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/demo/TestAiragEnhance.java @@ -1,5 +1,6 @@ package org.jeecg.modules.airag.demo; +import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.airag.flow.component.enhance.IAiRagEnhanceJava; import org.springframework.stereotype.Component; @@ -11,12 +12,15 @@ import java.util.Map; * @Author: chenrui * @Date: 2025/3/6 11:42 */ +@Slf4j @Component("testAiragEnhance") public class TestAiragEnhance implements IAiRagEnhanceJava { @Override public Map process(Map inputParams) { Object arg1 = inputParams.get("arg1"); Object arg2 = inputParams.get("arg2"); + Object index = inputParams.get("index"); + log.info("arg1={}, arg2={}, index={}", arg1, arg2, index); return Collections.singletonMap("result",arg1.toString()+"java拼接"+arg2.toString()); } } \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/FlowPluginContent.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/FlowPluginContent.java new file mode 100644 index 000000000..cf76b5639 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/FlowPluginContent.java @@ -0,0 +1,209 @@ +package org.jeecg.modules.airag.llm.consts; + +/** +* @Description: 流程插件常量 +* +* @author: wangshuai +* @date: 2025/12/23 19:37 +*/ +public interface FlowPluginContent { + /** + * 名称 + */ + String NAME = "name"; + + /** + * 描述 + */ + String DESCRIPTION = "description"; + + /** + * 响应 + */ + String RESPONSES = "responses"; + + /** + * 类型 + */ + String TYPE = "type"; + + /** + * 参数 + */ + String PARAMETERS = "parameters"; + + /** + * 是否必须 + */ + String REQUIRED = "required"; + + /** + * 默认值 + */ + String DEFAULT_VALUE = "defaultValue"; + + /** + * 路径 + */ + String PATH = "path"; + + /** + * 方法 + */ + String METHOD = "method"; + + /** + * 位置 + */ + String LOCATION = "location"; + + /** + * 认证类型 + */ + String AUTH_TYPE = "authType"; + + /** + * token参数名称 + */ + String TOKEN_PARAM_NAME = "tokenParamName"; + + /** + * token参数值 + */ + String TOKEN_PARAM_VALUE = "tokenParamValue"; + + /** + * token + */ + String TOKEN = "token"; + + /** + * Path位置 + */ + String LOCATION_PATH = "Path"; + + /** + * Header位置 + */ + String LOCATION_HEADER = "Header"; + + /** + * Query位置 + */ + String LOCATION_QUERY = "Query"; + + /** + * Body位置 + */ + String LOCATION_BODY = "Body"; + + /** + * Form-Data位置 + */ + String LOCATION_FORM_DATA = "Form-Data"; + + /** + * String类型 + */ + String TYPE_STRING = "String"; + + /** + * string类型 + */ + String TYPE_STRING_LOWER = "string"; + + /** + * Number类型 + */ + String TYPE_NUMBER = "Number"; + + /** + * number类型 + */ + String TYPE_NUMBER_LOWER = "number"; + + /** + * Integer类型 + */ + String TYPE_INTEGER = "Integer"; + + /** + * integer类型 + */ + String TYPE_INTEGER_LOWER = "integer"; + + /** + * Boolean类型 + */ + String TYPE_BOOLEAN = "Boolean"; + + /** + * boolean类型 + */ + String TYPE_BOOLEAN_LOWER = "boolean"; + + /** + * 工具数量 + */ + String TOOL_COUNT = "tool_count"; + + /** + * 是否启用 + */ + String ENABLED = "enabled"; + + /** + * 输入 + */ + String INPUTS = "inputs"; + + /** + * 输出 + */ + String OUTPUTS = "outputs"; + + /** + * POST请求 + */ + String POST = "POST"; + + /** + * token名称 + */ + String X_ACCESS_TOKEN = "X-Access-Token"; + + /** + * 插件名称 + */ + String PLUGIN_NAME = "流程调用"; + + /** + * 插件描述 + */ + String PLUGIN_DESC = "调用工作流"; + + /** + * 插件请求地址 + */ + String PLUGIN_REQUEST_URL = "/airag/flow/plugin/run/"; + + /** + * 记忆库插件名称 + */ + String PLUGIN_MEMORY_NAME = "记忆库"; + + /** + * 记忆库插件描述 + */ + String PLUGIN_MEMORY_DESC = "用于记录长期记忆"; + + /** + * 添加记忆路径 + */ + String PLUGIN_MEMORY_ADD_PATH = "/airag/knowledge/plugin/add"; + + /** + * 查询记忆路径 + */ + String PLUGIN_MEMORY_QUERY_PATH = "/airag/knowledge/plugin/query"; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/LLMConsts.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/LLMConsts.java index 9eabe6ba2..1d6039cab 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/LLMConsts.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/consts/LLMConsts.java @@ -1,5 +1,8 @@ package org.jeecg.modules.airag.llm.consts; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import java.util.regex.Pattern; /** @@ -35,6 +38,11 @@ public class LLMConsts { */ public static final String MODEL_TYPE_LLM = "LLM"; + /** + * 模型类型: 图像生成 + */ + public static final String MODEL_TYPE_IMAGE = "IMAGE"; + /** * 向量模型:默认维度 */ @@ -85,4 +93,29 @@ public class LLMConsts { */ public static final String DEEPSEEK_REASONER = "deepseek-reasoner"; + /** + * 知识库类型:知识库 + */ + public static final String KNOWLEDGE_TYPE_KNOWLEDGE = "knowledge"; + + /** + * 知识库类型:记忆库 + */ + public static final String KNOWLEDGE_TYPE_MEMORY = "memory"; + + /** + * 支持文件的后缀 + */ + public static final Set CHAT_FILE_EXT_WHITELIST = new HashSet<>(Arrays.asList("txt", "pdf", "docx", "doc", "pptx", "ppt", "xlsx", "xls", "md")); + + /** + * 文件内容最大长度 + */ + public static final int CHAT_FILE_TEXT_MAX_LENGTH = 20000; + + /** + * 上传文件对打数量 + */ + public static final int CHAT_FILE_MAX_COUNT = 3; + } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragBaseApiController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragBaseApiController.java new file mode 100644 index 000000000..567b533d1 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragBaseApiController.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.airag.llm.controller; + +import org.jeecg.common.airag.api.IAiragBaseApi; +import org.jeecg.modules.airag.llm.service.impl.AiragBaseApiImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * airag baseAPI Controller + * + * @author sjlei + * @date 2025-12-30 + */ +@RestController("airagBaseApiController") +public class AiragBaseApiController implements IAiragBaseApi { + + @Autowired + AiragBaseApiImpl airagBaseApi; + + @PostMapping("/airag/api/knowledgeWriteTextDocument") + public String knowledgeWriteTextDocument( + @RequestParam("knowledgeId") String knowledgeId, + @RequestParam("title") String title, + @RequestParam("content") String content + ) { + return airagBaseApi.knowledgeWriteTextDocument(knowledgeId, title, content); + } + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragKnowledgeController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragKnowledgeController.java index d7b520e47..0af7f051c 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragKnowledgeController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragKnowledgeController.java @@ -1,14 +1,18 @@ package org.jeecg.modules.airag.llm.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.AssertUtils; import org.jeecg.common.util.TokenUtils; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; import org.jeecg.modules.airag.common.vo.knowledge.KnowledgeSearchResult; import org.jeecg.modules.airag.llm.consts.LLMConsts; @@ -22,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import jakarta.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -80,6 +83,9 @@ public class AiragKnowledgeController { @RequiresPermissions("airag:knowledge:add") public Result add(@RequestBody AiragKnowledge airagKnowledge) { airagKnowledge.setStatus(LLMConsts.STATUS_ENABLE); + if(oConvertUtils.isEmpty(airagKnowledge.getType())) { + airagKnowledge.setType(LLMConsts.KNOWLEDGE_TYPE_KNOWLEDGE); + } airagKnowledgeService.save(airagKnowledge); return Result.OK("添加成功!"); } @@ -101,6 +107,9 @@ public class AiragKnowledgeController { return Result.error("未找到对应数据"); } String oldEmbedId = airagKnowledgeEntity.getEmbedId(); + if(oConvertUtils.isEmpty(airagKnowledgeEntity.getType())) { + airagKnowledge.setType(LLMConsts.KNOWLEDGE_TYPE_KNOWLEDGE); + } airagKnowledgeService.updateById(airagKnowledge); if (!oldEmbedId.equalsIgnoreCase(airagKnowledge.getEmbedId())) { // 更新了模型,重建文档 @@ -357,5 +366,62 @@ public class AiragKnowledgeController { List airagKnowledges = airagKnowledgeService.listByIds(idList); return Result.OK(airagKnowledges); } + + /** + * 添加记忆 + * + * @param airagKnowledgeDoc + * @return + */ + @Operation(summary = "添加记忆") + @PostMapping(value = "/plugin/add") + public Result add(@RequestBody AiragKnowledgeDoc airagKnowledgeDoc, HttpServletRequest request) { + if (oConvertUtils.isEmpty(airagKnowledgeDoc.getKnowledgeId())) { + return Result.error("知识库ID不能为空"); + } + if (oConvertUtils.isEmpty(airagKnowledgeDoc.getContent())) { + return Result.error("内容不能为空"); + } + + // 设置默认值 + if (oConvertUtils.isEmpty(airagKnowledgeDoc.getTitle())) { + // 取内容前20个字作为标题 + String content = airagKnowledgeDoc.getContent(); + String title = content.length() > 20 ? content.substring(0, 20) : content; + airagKnowledgeDoc.setTitle(title); + } + + airagKnowledgeDoc.setType(LLMConsts.KNOWLEDGE_DOC_TYPE_TEXT); + // 保存并构建向量 + return airagKnowledgeDocService.editDocument(airagKnowledgeDoc); + } + + /** + * 查询记忆 + * + * @param params + * @return + */ + @Operation(summary = "查询记忆") + @PostMapping(value = "/plugin/query") + public Result pluginQuery(@RequestBody Map params, HttpServletRequest request) { + String knowId = (String) params.get("knowledgeId"); + String queryText = (String) params.get("queryText"); + if (oConvertUtils.isEmpty(knowId)) { + return Result.error("知识库ID不能为空"); + } + if (oConvertUtils.isEmpty(queryText)) { + return Result.error("查询内容不能为空"); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(AiragKnowledgeDoc::getKnowledgeId, knowId); + long count = airagKnowledgeDocService.count(queryWrapper); + if(count == 0){ + return Result.ok(""); + } + // 默认查询前5条 + KnowledgeSearchResult searchResp = embeddingHandler.embeddingSearch(Collections.singletonList(knowId), queryText, (int) count, null); + return Result.ok(searchResp); + } } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragModelController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragModelController.java index e1e0b2857..ee805607e 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragModelController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/controller/AiragModelController.java @@ -17,6 +17,7 @@ import org.jeecg.common.util.AssertUtils; import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; +import org.jeecg.modules.airag.common.handler.AIChatParams; import org.jeecg.modules.airag.llm.consts.LLMConsts; import org.jeecg.modules.airag.llm.entity.AiragModel; import org.jeecg.modules.airag.llm.handler.AIChatHandler; @@ -172,14 +173,19 @@ public class AiragModelController extends JeecgController contentHandlerSupplier; private final Supplier metadataSupplier; private final Supplier parseContextSupplier; + //文件前缀 + private static final Set FILE_SUFFIX = new HashSet<>(Arrays.asList("docx", "doc", "pptx", "ppt", "xlsx", "xls")); public TikaDocumentParser() { this((Supplier) ((Supplier) null), (Supplier) null, (Supplier) null, (Supplier) null); @@ -67,26 +72,20 @@ public class TikaDocumentParser { public Document parse(File file) { AssertUtils.assertNotEmpty("请选择文件", file); try { - // 用于解析 - InputStream isForParsing = Files.newInputStream(file.toPath()); + // 用于解析(使用FileInputStream避免file.toPath()在Linux非UTF-8环境下中文文件名报错) + InputStream isForParsing = new FileInputStream(file); // 使用 Tika 自动检测 MIME 类型 String fileName = file.getName().toLowerCase(); + //后缀 + String ext = FilenameUtils.getExtension(fileName); if (fileName.endsWith(".txt") || fileName.endsWith(".md") || fileName.endsWith(".pdf")) { return extractByTika(isForParsing); - } else if (fileName.endsWith(".docx")) { - return extractTextFromDocx(isForParsing); - } else if (fileName.endsWith(".doc")) { - return extractTextFromDoc(isForParsing); - } else if (fileName.endsWith(".xlsx")) { - return extractTextFromExcel(isForParsing); - } else if (fileName.endsWith(".xls")) { - return extractTextFromExcel(isForParsing); - } else if (fileName.endsWith(".pptx")) { - return extractTextFromPptx(isForParsing); - } else if (fileName.endsWith(".ppt")) { - return extractTextFromPpt(isForParsing); + //update-begin---author:wangshuai---date:2026-01-09---for:【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档--- + } else if (FILE_SUFFIX.contains(ext.toLowerCase())) { + return parseDocExcelPdfUsingApachePoi(file); + //update-end---author:wangshuai---date:2026-01-09---for:【QQYUN-14261】【AI】AI助手,支持多模态能力- 文档--- } else { throw new IllegalArgumentException("不支持的文件格式: " + FilenameUtils.getExtension(fileName)); } @@ -95,6 +94,27 @@ public class TikaDocumentParser { } } + /** + * langchain4j 内部解析器 + * @param file + * @return + */ + public Document parseDocExcelPdfUsingApachePoi(File file) { + AssertUtils.assertNotEmpty("请选择文件", file); + try (InputStream inputStream = new FileInputStream(file)) { + ApachePoiDocumentParser parser = new ApachePoiDocumentParser(); + Document document = parser.parse(inputStream); + if (document == null || Utils.isNullOrBlank(document.text())) { + return null; + } + return document; + } catch (BlankDocumentException e) { + return null; + } catch (IOException e) { + throw new RuntimeException(e); + } + } + private static Document tryExtractDocOrDocx(InputStream inputStream) throws IOException { try { // 先尝试 DOCX(基于 OPC XML 格式) diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/entity/AiragKnowledge.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/entity/AiragKnowledge.java index 590de96d6..9491348de 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/entity/AiragKnowledge.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/entity/AiragKnowledge.java @@ -102,4 +102,11 @@ public class AiragKnowledge implements Serializable { @Excel(name = "状态", width = 15) @Schema(description = "状态") private java.lang.String status; + + /** + * 类型(knowledge知识 memory 记忆) + */ + @Excel(name="类型(knowledge知识 memory 记忆)", width = 15) + @Schema(description = "类型(knowledge知识 memory 记忆)") + private java.lang.String type; } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/AIChatHandler.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/AIChatHandler.java index 338a4d0e7..4b0b94fbe 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/AIChatHandler.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/AIChatHandler.java @@ -3,6 +3,8 @@ package org.jeecg.modules.airag.llm.handler; import com.alibaba.fastjson.JSONObject; import dev.langchain4j.agent.tool.ToolSpecification; import dev.langchain4j.data.message.*; +import dev.langchain4j.exception.InvalidRequestException; +import dev.langchain4j.exception.ToolExecutionException; import dev.langchain4j.mcp.McpToolProvider; import dev.langchain4j.rag.query.router.QueryRouter; import dev.langchain4j.service.TokenStream; @@ -11,14 +13,18 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.ai.handler.LLMHandler; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.util.AssertUtils; +import org.jeecg.common.util.filter.SsrfFileTypeFilter; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.common.consts.AiragConsts; import org.jeecg.modules.airag.common.handler.AIChatParams; import org.jeecg.modules.airag.common.handler.IAIChatHandler; +import org.jeecg.modules.airag.common.handler.McpToolProviderWrapper; import org.jeecg.modules.airag.llm.consts.LLMConsts; import org.jeecg.modules.airag.llm.entity.AiragMcp; import org.jeecg.modules.airag.llm.entity.AiragModel; import org.jeecg.modules.airag.llm.mapper.AiragMcpMapper; import org.jeecg.modules.airag.llm.mapper.AiragModelMapper; +import org.jeecg.config.AiRagConfigBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -54,6 +60,8 @@ public class AIChatHandler implements IAIChatHandler { @Autowired LLMHandler llmHandler; + @Autowired + AiRagConfigBean aiRagConfigBean; @Value(value = "${jeecg.path.upload:}") private String uploadpath; @@ -110,6 +118,9 @@ public class AIChatHandler implements IAIChatHandler { String resp; try { resp = llmHandler.completions(messages, params); + } catch (ToolExecutionException | InvalidRequestException e) { + log.error(e.getMessage(), e); + return ""; } catch (Exception e) { // langchain4j 异常友好提示 String errMsg = "调用大模型接口失败,详情请查看后台日志。"; @@ -127,7 +138,7 @@ public class AIChatHandler implements IAIChatHandler { for (Map.Entry entry : MODEL_ERROR_MAP.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); - if (errMsg.contains(key)) { + if (exceptionMsg.contains(key)) { errMsg = value; break; } @@ -285,7 +296,7 @@ public class AIChatHandler implements IAIChatHandler { // 默认超时时间 if(oConvertUtils.isObjectEmpty(params.getTimeout())){ - params.setTimeout(60); + params.setTimeout(AiragConsts.DEFAULT_TIMEOUT); } //deepseek-reasoner 推理模型不支持插件tool @@ -301,6 +312,7 @@ public class AIChatHandler implements IAIChatHandler { /** * 构造插件和MCP工具 * for [QQYUN-12453]【AI】支持插件 + * for [QQYUN-9234] MCP服务连接关闭 - 使用包装器保存连接引用 * @param params * @author chenrui * @date 2025/10/31 14:04 @@ -310,6 +322,7 @@ public class AIChatHandler implements IAIChatHandler { if(oConvertUtils.isObjectNotEmpty(pluginIds)){ List mcpToolProviders = new ArrayList<>(); + List mcpToolProviderWrappers = new ArrayList<>(); Map pluginTools = new HashMap<>(); for (String pluginId : pluginIds.stream().distinct().collect(Collectors.toList())) { @@ -325,15 +338,18 @@ public class AIChatHandler implements IAIChatHandler { } if ("mcp".equalsIgnoreCase(category)) { - // MCP类型:构建McpToolProvider - McpToolProvider mcpToolProvider = buildMcpToolProvider( + // MCP类型:构建McpToolProviderWrapper(包含连接引用用于后续关闭) + // for [QQYUN-9234] MCP服务连接关闭 + McpToolProviderWrapper wrapper = buildMcpToolProviderWrapper( airagMcp.getName(), airagMcp.getType(), airagMcp.getEndpoint(), - airagMcp.getHeaders() + airagMcp.getHeaders(), + aiRagConfigBean.getAllowSensitiveNodes() ); - if (mcpToolProvider != null) { - mcpToolProviders.add(mcpToolProvider); + if (wrapper != null) { + mcpToolProviders.add(wrapper.getMcpToolProvider()); + mcpToolProviderWrappers.add(wrapper); } } else if ("plugin".equalsIgnoreCase(category)) { // 插件类型:构建ToolSpecification和ToolExecutor @@ -348,6 +364,12 @@ public class AIChatHandler implements IAIChatHandler { if (!mcpToolProviders.isEmpty()) { params.setMcpToolProviders(mcpToolProviders); } + + // 保存MCP连接包装器,用于后续关闭 + // for [QQYUN-9234] MCP服务连接关闭 + if (!mcpToolProviderWrappers.isEmpty()) { + params.setMcpToolProviderWrappers(mcpToolProviderWrappers); + } // 设置插件工具 if (!pluginTools.isEmpty()) { @@ -385,6 +407,7 @@ public class AIChatHandler implements IAIChatHandler { String filePath = uploadpath + File.separator + imageUrl; // 读取文件并转换为 base64 编码字符串 try { + SsrfFileTypeFilter.checkPathTraversal(filePath); Path path = Paths.get(filePath); byte[] fileContent = Files.readAllBytes(path); String base64Data = Base64.getEncoder().encodeToString(fileContent); @@ -393,7 +416,7 @@ public class AIChatHandler implements IAIChatHandler { // 构建 ImageContent 对象 imageContents.add(ImageContent.from(base64Data, mimeType)); } catch (IOException e) { - log.error("读取文件失败: " + filePath, e); + log.error("读取文件失败: {}", imageUrl, e); throw new RuntimeException("发送消息失败,读取文件异常:" + e.getMessage(), e); } } @@ -401,5 +424,130 @@ public class AIChatHandler implements IAIChatHandler { return imageContents; } + //================================================= begin【QQYUN-12145】【AI】AI 绘画创作 ======================================== + /** + * 文本生成图片 + * @param modelId + * @param messages + * @param params + * @return + */ + @Override + public List> imageGenerate(String modelId, String messages, AIChatParams params) { + AssertUtils.assertNotEmpty("至少发送一条消息", messages); + AssertUtils.assertNotEmpty("请选择图片大模型", modelId); + AiragModel airagModel = airagModelMapper.getByIdIgnoreTenant(modelId); + return this.imageGenerate(airagModel, messages, params); + } + /** + * 文本生成图片 + * + * @param airagModel + * @param messages + * @param params + * @return + */ + public List> imageGenerate(AiragModel airagModel, String messages, AIChatParams params) { + params = mergeParams(airagModel, params); + try { + return llmHandler.imageGenerate(messages, params); + } catch (Exception e) { + String errMsg = "调用绘画AI接口失败,详情请查看后台日志。"; + if (oConvertUtils.isNotEmpty(e.getMessage())) { + // 根据常见异常关键字做细致翻译 + for (Map.Entry entry : MODEL_ERROR_MAP.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if (e.getMessage().contains(key)) { + errMsg = value; + break; + } + } + } + log.error("AI模型调用异常: {}", errMsg, e); + throw new JeecgBootException(errMsg); + } + } + + + /** + * 图生图 + * + * @param modelId + * @param messages + * @param images + * @param params + * @return + */ + @Override + public List> imageEdit(String modelId, String messages, List images, AIChatParams params) { + AiragModel airagModel = airagModelMapper.getByIdIgnoreTenant(modelId); + params = mergeParams(airagModel, params); + List originalImageBase64List = getFirstImageBase64(images); + try { + return llmHandler.imageEdit(messages, originalImageBase64List, params); + } catch (Exception e) { + String errMsg = "调用绘画AI接口失败,详情请查看后台日志。"; + if (oConvertUtils.isNotEmpty(e.getMessage())) { + // 根据常见异常关键字做细致翻译 + for (Map.Entry entry : MODEL_ERROR_MAP.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + if (errMsg.contains(key)) { + errMsg = value; + break; + } + } + } + log.error("AI模型调用异常: {}", errMsg, e); + throw new JeecgBootException(errMsg); + } + } + + /** + * 需要将图片转换成Base64编码 + * @param images 图片路径列表 + * @return Base64编码字符串 + */ + private List getFirstImageBase64(List images) { + List originalImageBase64List = new ArrayList<>(); + if (images != null && !images.isEmpty()) { + for (String imageUrl : images) { + Matcher matcher = LLMConsts.WEB_PATTERN.matcher(imageUrl); + try { + byte[] fileContent; + if (matcher.matches()) { + // 来源于网络 + java.net.URL url = new java.net.URL(imageUrl); + java.net.URLConnection conn = url.openConnection(); + conn.setConnectTimeout(5000); + conn.setReadTimeout(10000); + try (java.io.InputStream in = conn.getInputStream()) { + java.io.ByteArrayOutputStream buffer = new java.io.ByteArrayOutputStream(); + int nRead; + byte[] data = new byte[1024]; + while ((nRead = in.read(data, 0, data.length)) != -1) { + buffer.write(data, 0, nRead); + } + buffer.flush(); + fileContent = buffer.toByteArray(); + } + } else { + // 本地文件 + String filePath = uploadpath + File.separator + imageUrl; + SsrfFileTypeFilter.checkPathTraversal(filePath); + Path path = Paths.get(filePath); + fileContent = Files.readAllBytes(path); + } + originalImageBase64List.add(Base64.getEncoder().encodeToString(fileContent)); + } catch (Exception e) { + log.error("图片读取失败: {}", imageUrl, e); + throw new JeecgBootException("图片读取失败: " + imageUrl); + } + } + } + return originalImageBase64List; + } + //================================================= end 【QQYUN-12145】【AI】AI 绘画创作 ======================================== } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/EmbeddingHandler.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/EmbeddingHandler.java index cc7bfcf8f..acf4980d1 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/EmbeddingHandler.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/EmbeddingHandler.java @@ -17,13 +17,17 @@ import dev.langchain4j.store.embedding.EmbeddingMatch; import dev.langchain4j.store.embedding.EmbeddingSearchRequest; import dev.langchain4j.store.embedding.EmbeddingStore; import dev.langchain4j.store.embedding.EmbeddingStoreIngestor; +import dev.langchain4j.store.embedding.filter.Filter; +import dev.langchain4j.store.embedding.filter.logical.And; import dev.langchain4j.store.embedding.pgvector.PgVectorEmbeddingStore; +import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; import org.apache.tika.parser.AutoDetectParser; import org.jeecg.ai.factory.AiModelFactory; import org.jeecg.ai.factory.AiModelOptions; import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.util.*; import org.jeecg.modules.airag.common.handler.IEmbeddingHandler; import org.jeecg.modules.airag.common.vo.knowledge.KnowledgeSearchResult; @@ -94,11 +98,21 @@ public class EmbeddingHandler implements IEmbeddingHandler { */ private static final int DEFAULT_OVERLAP_SIZE = 50; + /** + * 最大输出长度 + */ + private static final int DEFAULT_MAX_OUTPUT_CHARS = 4000; + /** * 向量存储元数据:knowledgeId */ public static final String EMBED_STORE_METADATA_KNOWLEDGEID = "knowledgeId"; + /** + * 向量存储元数据: 用户账号 + */ + public static final String EMBED_STORE_METADATA_USER_NAME = "username"; + /** * 向量存储元数据:docId */ @@ -109,6 +123,11 @@ public class EmbeddingHandler implements IEmbeddingHandler { */ public static final String EMBED_STORE_METADATA_DOCNAME = "docName"; + /** + * 向量存储元数据:创建时间 + */ + public static final String EMBED_STORE_CREATE_TIME = "createTime"; + /** * 向量存储缓存 */ @@ -175,9 +194,35 @@ public class EmbeddingHandler implements IEmbeddingHandler { .build(); Metadata metadata = Metadata.metadata(EMBED_STORE_METADATA_DOCID, doc.getId()) .put(EMBED_STORE_METADATA_KNOWLEDGEID, doc.getKnowledgeId()) - .put(EMBED_STORE_METADATA_DOCNAME, FilenameUtils.getName(doc.getTitle())); + .put(EMBED_STORE_METADATA_DOCNAME, FilenameUtils.getName(doc.getTitle())) + //初始化记忆库的时候添加创建时间选项 + .put(EMBED_STORE_CREATE_TIME, String.valueOf(doc.getCreateTime() != null ? doc.getCreateTime().getTime() : System.currentTimeMillis())); + //update-begin---author:wangshuai---date:2025-12-26---for:【QQYUN-14265】【AI】支持记忆--- + //添加用户名字到元数据里面,用于记忆库中数据隔离 + String username = doc.getCreateBy(); + if (oConvertUtils.isEmpty(username)) { + try { + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + String token = TokenUtils.getTokenByRequest(request); + username = JwtUtil.getUsername(token); + } catch (Exception e) { + // ignore:token获取不到默认为admin + username = "admin"; + } + } + if (oConvertUtils.isNotEmpty(username)) { + metadata.put(EMBED_STORE_METADATA_USER_NAME, username); + } + //update-end---author:wangshuai---date:2025-12-26---for:【QQYUN-14265】【AI】支持记忆--- Document from = Document.from(content, metadata); - ingestor.ingest(from); + //update-begin---author:jeecg---date:2026-02-26---for:[#9374]【AI知识库】千帆向量报错,添加异常处理防止空指针 + try { + ingestor.ingest(from); + } catch (Exception e) { + log.error("向量存储失败,请检查向量模型配置是否正确", e); + throw new JeecgBootException("向量存储失败:" + e.getMessage()); + } + //update-end---author:jeecg---date:2026-02-26---for:[#9374]【AI知识库】千帆向量报错,添加异常处理防止空指针 return metadata.toMap(); } @@ -208,16 +253,47 @@ public class EmbeddingHandler implements IEmbeddingHandler { } } - //命中的文档内容 StringBuilder data = new StringBuilder(); - // 对documents按score降序排序并取前topNumber个 - List> sortedDocuments = documents.stream() - .sorted(Comparator.comparingDouble((Map doc) -> (Double) doc.get("score")).reversed()) - .limit(topNumber) - .peek(doc -> data.append(doc.get("content")).append("\n")) + //update-begin---author:wangshuai---date:2026-01-04---for:【QQYUN-14479】给ai的时候需要限制几个字--- + //是否为记忆库 + boolean memoryMode = false; + //记忆库只有一个 + if (knowIds.size() == 1) { + String firstId = knowIds.get(0); + if (oConvertUtils.isNotEmpty(firstId)) { + AiragKnowledge k = airagKnowledgeMapper.getByIdIgnoreTenant(firstId); + memoryMode = (k != null && LLMConsts.KNOWLEDGE_TYPE_MEMORY.equalsIgnoreCase(k.getType())); + } + } + //如果是记忆库按照创建时间排序,如果不是按照score分值进行排序 + List> prepared = documents.stream() + .sorted(memoryMode + ? Comparator.comparingLong((Map doc) -> oConvertUtils.getLong(doc.get(EMBED_STORE_CREATE_TIME), 0L)).reversed() + : Comparator.comparingDouble((Map doc) -> (Double) doc.get("score")).reversed()) .collect(Collectors.toList()); - - return new KnowledgeSearchResult(data.toString(), sortedDocuments); + List> limited = new ArrayList<>(); + //将返回的结果按照最大的token进行长度限制 + for (Map doc : prepared) { + if (limited.size() >= topNumber) { + break; + } + String content = oConvertUtils.getString(doc.get("content"), ""); + int remain = DEFAULT_MAX_OUTPUT_CHARS - data.length(); + if (remain <= 0) { + break; + } + //数据库中文本的长度和已经拼接的长度 + if (content.length() <= remain) { + data.append(content).append("\n"); + limited.add(doc); + } else { + data.append(content, 0, remain); + limited.add(doc); + break; + } + } + return new KnowledgeSearchResult(data.toString(), limited); + //update-end---author:wangshuai---date:2026-01-04---for:【QQYUN-14479】给ai的时候需要限制几个字--- } /** @@ -244,11 +320,31 @@ public class EmbeddingHandler implements IEmbeddingHandler { topNumber = oConvertUtils.getInteger(topNumber, modelOp.getTopNumber()); similarity = oConvertUtils.getDou(similarity, modelOp.getSimilarity()); + + //update-begin---author:wangshuai---date:2025-12-26---for:【QQYUN-14265】【AI】支持记忆--- + Filter filter = metadataKey(EMBED_STORE_METADATA_KNOWLEDGEID).isEqualTo(knowId); + + // 记忆库的时候需要根据用户隔离 + if (LLMConsts.KNOWLEDGE_TYPE_MEMORY.equalsIgnoreCase(knowledge.getType())) { + try { + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + String token = TokenUtils.getTokenByRequest(request); + String username = JwtUtil.getUsername(token); + if (oConvertUtils.isNotEmpty(username)) { + filter = new And(filter, metadataKey(EMBED_STORE_METADATA_USER_NAME).isEqualTo(username)); + } + } catch (Exception e) { + // ignore + log.info("构建过滤器异常,{}",e.getMessage()); + } + } + //update-end---author:wangshuai---date:2025-12-26---for:【QQYUN-14265】【AI】支持记忆--- + EmbeddingSearchRequest embeddingSearchRequest = EmbeddingSearchRequest.builder() .queryEmbedding(queryEmbedding) .maxResults(topNumber) .minScore(similarity) - .filter(metadataKey(EMBED_STORE_METADATA_KNOWLEDGEID).isEqualTo(knowId)) + .filter(filter) .build(); EmbeddingStore embeddingStore = getEmbedStore(model); @@ -262,6 +358,9 @@ public class EmbeddingHandler implements IEmbeddingHandler { Metadata metadata = matchRes.embedded().metadata(); data.put("chunk", metadata.getInteger("index")); data.put(EMBED_STORE_METADATA_DOCNAME, metadata.getString(EMBED_STORE_METADATA_DOCNAME)); + //查询返回的时候增加创建时间,用于排序 + String ct = metadata.getString(EMBED_STORE_CREATE_TIME); + data.put(EMBED_STORE_CREATE_TIME, ct); return data; }).collect(Collectors.toList()); } @@ -295,13 +394,32 @@ public class EmbeddingHandler implements IEmbeddingHandler { EmbeddingStore embeddingStore = getEmbedStore(model); topNumber = oConvertUtils.getInteger(topNumber, 5); similarity = oConvertUtils.getDou(similarity, 0.75); + + //update-begin---author:wangshuai---date:2025-12-26---for:【QQYUN-14265】【AI】支持记忆--- + Filter filter = metadataKey(EMBED_STORE_METADATA_KNOWLEDGEID).isEqualTo(knowId); + // 记忆库的时候需要根据用户隔离 + if (LLMConsts.KNOWLEDGE_TYPE_MEMORY.equalsIgnoreCase(knowledge.getType())) { + try { + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + String token = TokenUtils.getTokenByRequest(request); + String username = JwtUtil.getUsername(token); + if (oConvertUtils.isNotEmpty(username)) { + filter = new And(filter, metadataKey(EMBED_STORE_METADATA_USER_NAME).isEqualTo(username)); + } + } catch (Exception e) { + // ignore + log.info("构建过滤器异常,{}",e.getMessage()); + } + } + //update-end---author:wangshuai---date:2025-12-26---for:【QQYUN-14265】【AI】支持记忆--- + // 构建一个嵌入存储内容检索器,用于从嵌入存储中检索内容 EmbeddingStoreContentRetriever contentRetriever = EmbeddingStoreContentRetriever.builder() .embeddingStore(embeddingStore) .embeddingModel(embeddingModel) .maxResults(topNumber) .minScore(similarity) - .filter(metadataKey(EMBED_STORE_METADATA_KNOWLEDGEID).isEqualTo(knowId)) + .filter(filter) .build(); retrievers.add(contentRetriever); } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/PluginToolBuilder.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/PluginToolBuilder.java index e3423d146..106e7857e 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/PluginToolBuilder.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/handler/PluginToolBuilder.java @@ -12,6 +12,8 @@ import org.jeecg.common.util.CommonUtils; import org.jeecg.common.util.RestUtil; import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.common.consts.AiragConsts; +import org.jeecg.modules.airag.flow.component.ToolsNode; import org.jeecg.modules.airag.llm.entity.AiragMcp; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -51,8 +53,9 @@ public class PluginToolBuilder { } String baseUrl = airagMcp.getEndpoint(); + boolean isEmptyBaseUrl = oConvertUtils.isEmpty(baseUrl); // 如果baseUrl为空,使用当前系统地址 - if (oConvertUtils.isEmpty(baseUrl)) { + if (isEmptyBaseUrl) { if (currentHttpRequest != null) { baseUrl = CommonUtils.getBaseUrl(currentHttpRequest); log.info("插件[{}]的BaseURL为空,使用系统地址: {}", airagMcp.getName(), baseUrl); @@ -64,7 +67,10 @@ public class PluginToolBuilder { // 解析headers Map headersMap = parseHeaders(airagMcp.getHeaders()); - + + // 判断是否需要加签 + boolean isNeedSign = isEmptyBaseUrl && ToolsNode.Helper.checkNeedSign(headersMap); + // 解析并应用授权配置(从metadata中读取) applyAuthConfig(headersMap, airagMcp.getMetadata(), currentHttpRequest); @@ -76,7 +82,7 @@ public class PluginToolBuilder { try { ToolSpecification spec = buildToolSpecification(toolConfig); - ToolExecutor executor = buildToolExecutor(toolConfig, baseUrl, headersMap); + ToolExecutor executor = buildToolExecutor(toolConfig, baseUrl, headersMap, isNeedSign); if (spec != null && executor != null) { tools.put(spec, executor); } @@ -187,7 +193,7 @@ public class PluginToolBuilder { /** * 构建ToolExecutor */ - private static ToolExecutor buildToolExecutor(JSONObject toolConfig, String baseUrl, Map defaultHeaders) { + private static ToolExecutor buildToolExecutor(JSONObject toolConfig, String baseUrl, Map defaultHeaders, boolean isNeedSign) { String path = toolConfig.getString("path"); String method = toolConfig.getString("method"); JSONArray parameters = toolConfig.getJSONArray("parameters"); @@ -215,17 +221,28 @@ public class PluginToolBuilder { JSONObject urlVariables = buildUrlVariables(parameters, args); Object body = buildRequestBody(parameters, args, httpHeaders); - // 发送HTTP请求 - ResponseEntity response = RestUtil.request(url, httpMethod, httpHeaders, urlVariables, body, String.class); + if (isNeedSign) { + // 发送请求前加签 + ToolsNode.Helper.applySignature(url, httpHeaders, urlVariables, body); + } + + // 发送HTTP请求,增加超时时间 + ResponseEntity response = RestUtil.request(url, httpMethod, httpHeaders, urlVariables, body, String.class, AiragConsts.DEFAULT_TIMEOUT * 1000); // 直接返回原始响应字符串,不进行解析 return response.getBody() != null ? response.getBody() : ""; } catch (HttpClientErrorException e) { log.error("插件工具HTTP请求失败: {}", e.getMessage(), e); - return "请求失败: " + e.getStatusCode() + " - " + e.getResponseBodyAsString(); + //update-begin---author:wangshuai---date:2026-01-16---for:【QQYUN-14577】图片搜索失败会导致进行不下去--- + return "插件调用失败(HTTP " + e.getStatusCode() + "):" + e.getResponseBodyAsString() + + "。请继续完成剩余任务。"; + //update-end---author:wangshuai---date:2026-01-16---for:【QQYUN-14577】图片搜索失败会导致进行不下去--- } catch (Exception e) { log.error("插件工具执行失败: {}", e.getMessage(), e); - return "工具执行失败: " + e.getMessage(); + //update-begin---author:wangshuai---date:2026-01-16---for:【QQYUN-14577】图片搜索失败会导致进行不下去--- + return "插件工具执行失败:" + e.getMessage() + + "。请继续完成剩余任务。"; + //update-end---author:wangshuai---date:2026-01-16---for:【QQYUN-14577】图片搜索失败会导致进行不下去--- } }; } @@ -335,7 +352,13 @@ public class PluginToolBuilder { if (isQueryParam || !isOtherType) { Object value = args.get(paramName); if (value != null) { - urlVariables.put(paramName, value); + //如果是知识库的id赋值默认值 + if ("knowledgeId".equalsIgnoreCase(paramName)) { + String defaultValue = param.getString("defaultValue"); + urlVariables.put(paramName, defaultValue); + } else { + urlVariables.put(paramName, value); + } } } } @@ -392,7 +415,13 @@ public class PluginToolBuilder { Object value = args.get(paramName); if (value != null) { - body.put(paramName, value); + //如果是知识库的id赋值默认值 + if ("knowledgeId".equalsIgnoreCase(paramName)) { + String defaultValue = param.getString("defaultValue"); + body.put(paramName, defaultValue); + } else { + body.put(paramName, value); + } } else { // 检查是否有默认值 String defaultValue = param.getString("defaultValue"); diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragFlowPluginService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragFlowPluginService.java new file mode 100644 index 000000000..0ea69db68 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragFlowPluginService.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.airag.llm.service; + +import java.util.Map; + +/** + * @Description: 获取流程mcp服务 + * @Author: wangshuai + * @Date: 2025-12-22 15:34:20 + * @Version: V1.0 + */ +public interface IAiragFlowPluginService { + + /** + * 同步所有启用的流程到MCP插件配置 + * + * @param flowIds 多个流程id + */ + Map getFlowsToPlugin(String flowIds); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragKnowledgeService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragKnowledgeService.java index 064b2747d..8b360a5dd 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragKnowledgeService.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/IAiragKnowledgeService.java @@ -3,6 +3,8 @@ package org.jeecg.modules.airag.llm.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.airag.llm.entity.AiragKnowledge; +import java.util.Map; + /** * AIRag知识库 * @@ -11,4 +13,12 @@ import org.jeecg.modules.airag.llm.entity.AiragKnowledge; * @Version: V1.0 */ public interface IAiragKnowledgeService extends IService { + + /** + * 构建知识库的工具 + * + * @param memoryId + * @return Map + */ + Map getPluginMemory(String memoryId); } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragBaseApiImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragBaseApiImpl.java new file mode 100644 index 000000000..bd3bfda8e --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragBaseApiImpl.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.airag.llm.service.impl; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.airag.api.IAiragBaseApi; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.exception.JeecgBootBizTipException; +import org.jeecg.common.util.AssertUtils; +import org.jeecg.modules.airag.llm.consts.LLMConsts; +import org.jeecg.modules.airag.llm.entity.AiragKnowledgeDoc; +import org.jeecg.modules.airag.llm.service.IAiragKnowledgeDocService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +/** + * airag baseAPI 实现类 + */ +@Slf4j +@Primary +@Service("airagBaseApiImpl") +public class AiragBaseApiImpl implements IAiragBaseApi { + + @Autowired + private IAiragKnowledgeDocService airagKnowledgeDocService; + + @Override + public String knowledgeWriteTextDocument(String knowledgeId, String title, String content) { + AssertUtils.assertNotEmpty("知识库ID不能为空", knowledgeId); + AssertUtils.assertNotEmpty("写入内容不能为空", content); + AiragKnowledgeDoc knowledgeDoc = new AiragKnowledgeDoc(); + knowledgeDoc.setKnowledgeId(knowledgeId); + knowledgeDoc.setTitle(title); + knowledgeDoc.setType(LLMConsts.KNOWLEDGE_DOC_TYPE_TEXT); + knowledgeDoc.setContent(content); + Result result = airagKnowledgeDocService.editDocument(knowledgeDoc); + if (!result.isSuccess()) { + throw new JeecgBootBizTipException(result.getMessage()); + } + if (knowledgeDoc.getId() == null) { + throw new JeecgBootBizTipException("知识库文档ID为空"); + } + log.info("[AI-KNOWLEDGE] 文档写入完成,知识库:{}, 文档ID:{}", knowledgeId, knowledgeDoc.getId()); + return knowledgeDoc.getId(); + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragFlowPluginServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragFlowPluginServiceImpl.java new file mode 100644 index 000000000..9d51c9df0 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragFlowPluginServiceImpl.java @@ -0,0 +1,231 @@ +package org.jeecg.modules.airag.llm.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import dev.langchain4j.agent.tool.ToolSpecification; +import dev.langchain4j.service.tool.ToolExecutor; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.constant.SymbolConstant; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.common.util.TokenUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.flow.consts.FlowConsts; +import org.jeecg.modules.airag.flow.entity.AiragFlow; +import org.jeecg.modules.airag.flow.service.IAiragFlowService; +import org.jeecg.modules.airag.flow.vo.api.SubFlowResult; +import org.jeecg.modules.airag.flow.vo.flow.config.FlowNodeConfig; +import org.jeecg.modules.airag.llm.consts.FlowPluginContent; +import org.jeecg.modules.airag.llm.entity.AiragMcp; +import org.jeecg.modules.airag.llm.handler.PluginToolBuilder; +import org.jeecg.modules.airag.llm.service.IAiragFlowPluginService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +/** + * @Description: 流程同步到MCP服务实现类 + * @Author: wangshuai + * @Date: 2025-12-22 + * @Version: V1.0 + */ +@Service +@Slf4j +public class AiragFlowPluginServiceImpl implements IAiragFlowPluginService { + + @Autowired + private IAiragFlowService airagFlowService; + + @Override + public Map getFlowsToPlugin(String flowIds) { + log.info("开始构建流程插件"); + // 1. 查询所有启用的流程 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AiragFlow::getStatus, FlowConsts.FLOW_STATUS_ENABLE); + queryWrapper.in(AiragFlow::getId, Arrays.asList(flowIds.split(SymbolConstant.COMMA))); + List flows = airagFlowService.list(queryWrapper); + HttpServletRequest httpServletRequest = SpringContextUtils.getHttpServletRequest(); + if (flows.isEmpty()) { + log.info("当前应用所选流程没有启用的流程"); + return null; + } + //返回数据 + Map result = new HashMap<>(); + //插件 + //插件id + AiragMcp tool = new AiragMcp(); + // 2. 构建插件 + String id = UUID.randomUUID().toString().replace("-", ""); + tool.setId(id); + // 插件名称 + tool.setName(FlowPluginContent.PLUGIN_NAME); + // 描述 + tool.setDescr(FlowPluginContent.PLUGIN_DESC); + tool.setStatus(FlowConsts.FLOW_STATUS_ENABLE); + tool.setSynced(CommonConstant.STATUS_1_INT); + tool.setCategory("plugin"); + tool.setEndpoint(""); + int toolCount = 0; + //构建拆件工具 + for (AiragFlow flow : flows) { + try { + + SubFlowResult subFlow = new SubFlowResult(flow); + // 获取入参参数 + JSONArray parameter = getInputParameter(flow, subFlow); + // 获取出参参数 + JSONArray outParams = getOutputParameter(flow, subFlow); + // name必须符合 ^[a-zA-Z0-9_-]+$ + String validToolName = "flow_" + flow.getId(); + // 将原始名称拼接到描述中 + String description = flow.getName(); + if (oConvertUtils.isNotEmpty(flow.getDescr())) { + description += " : " + flow.getDescr(); + } + //构造工具参数 + String flowTool = buildParameter(parameter, outParams, flow.getId(), tool.getTools(), validToolName, description); + tool.setTools(flowTool); + toolCount++; + } catch (Exception e) { + log.error("处理流程[{}]转换插件失败: {}", flow.getName(), e.getMessage()); + } + } + String tenantId = TokenUtils.getTenantIdByRequest(httpServletRequest); + //构建元数据(请求头) + String meataData = buildMetadata(toolCount, tenantId); + tool.setMetadata(meataData); + Map tools = PluginToolBuilder.buildTools(tool, httpServletRequest); + result.put("pluginTool", tools); + result.put("pluginId", id); + log.info("构建流程插件结束"); + return result; + } + + /** + * 构建元数据 + * + * @param toolCount + * @param tenantId + */ + private String buildMetadata(int toolCount, String tenantId) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put(FlowPluginContent.TOKEN_PARAM_NAME, FlowPluginContent.X_ACCESS_TOKEN); + jsonObject.put(FlowPluginContent.TOOL_COUNT, toolCount); + jsonObject.put(FlowPluginContent.AUTH_TYPE, FlowPluginContent.TOKEN); + jsonObject.put(FlowPluginContent.TOKEN_PARAM_VALUE, ""); + jsonObject.put(CommonConstant.TENANT_ID, oConvertUtils.getInt(tenantId, 0)); + return jsonObject.toJSONString(); + } + + /** + * 构建参数 + * + * @param parameter + * @param outParams + * @param flowId + * @param tools + * @param description + * @param name + */ + private String buildParameter(JSONArray parameter, JSONArray outParams, String flowId, String tools, String name, String description) { + JSONArray paramArray = new JSONArray(); + JSONObject parameterObject = new JSONObject(); + parameterObject.put(FlowPluginContent.NAME, name); + parameterObject.put(FlowPluginContent.DESCRIPTION, description); + parameterObject.put(FlowPluginContent.PATH, FlowPluginContent.PLUGIN_REQUEST_URL + flowId); + parameterObject.put(FlowPluginContent.METHOD, FlowPluginContent.POST); + parameterObject.put(FlowPluginContent.ENABLED, true); + parameterObject.put(FlowPluginContent.PARAMETERS, parameter); + parameterObject.put(FlowPluginContent.RESPONSES, outParams); + if (oConvertUtils.isNotEmpty(tools)) { + paramArray = JSONArray.parseArray(tools); + paramArray.add(parameterObject); + } else { + paramArray.add(parameterObject); + } + return paramArray.toJSONString(); + } + + /** + * 获取参数 + * + * @param flow + * @param subFlow + */ + private JSONArray getInputParameter(AiragFlow flow, SubFlowResult subFlow) { + JSONArray parameters = new JSONArray(); + String metadata = flow.getMetadata(); + if (oConvertUtils.isNotEmpty(metadata)) { + JSONObject jsonObject = JSONObject.parseObject(metadata); + if (jsonObject.containsKey(FlowPluginContent.INPUTS)) { + JSONArray jsonArray = jsonObject.getJSONArray(FlowPluginContent.INPUTS); + jsonArray.forEach(item -> { + if (oConvertUtils.isNotEmpty(item.toString())) { + JSONObject json = JSONObject.parseObject(item.toString()); + json.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + } + }); + parameters.addAll(jsonArray); + } + } + //需要获取子流程的参数,子流程的参数是单独封装的,否则在流程执行的时候会报错缺少参数 + List inputParams = subFlow.getInputParams(); + if (inputParams != null) { + for (FlowNodeConfig.NodeParam param : inputParams) { + JSONObject p = new JSONObject(); + // 参数名 + p.put(FlowPluginContent.NAME, param.getField()); + String paramDesc = param.getName(); + if (oConvertUtils.isEmpty(paramDesc)) { + paramDesc = param.getField(); + } + // 参数描述 + p.put(FlowPluginContent.DESCRIPTION, paramDesc); + // 类型 + p.put(FlowPluginContent.TYPE, oConvertUtils.getString(param.getType(), FlowPluginContent.TYPE_STRING)); + // 所有参数都在Body中 + p.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + boolean required = param.getRequired() != null && param.getRequired(); + p.put(FlowPluginContent.REQUIRED, required); + parameters.add(p); + } + } + return parameters; + } + + /** + * 构建返回值 + */ + private JSONArray getOutputParameter(AiragFlow flow, SubFlowResult subFlow) { + JSONArray parameters = new JSONArray(); + String metadata = flow.getMetadata(); + if (oConvertUtils.isNotEmpty(metadata)) { + JSONObject jsonObject = JSONObject.parseObject(metadata); + if (jsonObject.containsKey(FlowPluginContent.OUTPUTS)) { + JSONArray jsonArray = jsonObject.getJSONArray(FlowPluginContent.OUTPUTS); + parameters.addAll(jsonArray); + } + } +// List outputParams = subFlow.getOutputParams(); +// if (outputParams != null) { +// for (FlowNodeConfig.NodeParam param : outputParams) { +// JSONObject p = new JSONObject(); +// // 参数名 +// p.put("name", param.getField()); +// String paramDesc = param.getName(); +// if (oConvertUtils.isEmpty(paramDesc)) { +// paramDesc = param.getField(); +// } +// // 参数描述 +// p.put("description", paramDesc); +// // 类型 +// p.put("type", oConvertUtils.getString(param.getType(), "String")); +// parameters.add(p); +// } +// } + return parameters; + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragKnowledgeDocServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragKnowledgeDocServiceImpl.java index 96c857595..be75bf62b 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragKnowledgeDocServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragKnowledgeDocServiceImpl.java @@ -131,7 +131,6 @@ public class AiragKnowledgeDocServiceImpl extends ServiceImpl docList = airagKnowledgeDocMapper.selectBatchIds(docIdList); AssertUtils.assertNotEmpty("文档不存在", docList); - HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); // 检查状态 List knowledgeDocs = docList.stream() .filter(doc -> { @@ -330,6 +329,7 @@ public class AiragKnowledgeDocServiceImpl extends ServiceImpl implements IAiragKnowledgeService { + + @Override + public Map getPluginMemory(String memoryId) { + //step 1获取知识库 + AiragKnowledge airagKnowledge = this.baseMapper.selectById(memoryId); + if(airagKnowledge == null){ + return null; + } + return this.getKnowledgeToPlugin(memoryId,airagKnowledge.getDescr()); + } + + /** + * 获取插件信息 + * + * @param knowledgeId + * @param descr + * @return + */ + public Map getKnowledgeToPlugin(String knowledgeId, String descr) { + //step1 构建插件 + log.info("开始构建记忆库插件"); + if (oConvertUtils.isEmpty(knowledgeId)) { + return null; + } + + HttpServletRequest httpServletRequest = SpringContextUtils.getHttpServletRequest(); + + //返回数据 + Map result = new HashMap<>(); + //插件 + //插件id + AiragMcp tool = new AiragMcp(); + // 2. 构建插件 + tool.setId(knowledgeId); + // 插件名称 + tool.setName(FlowPluginContent.PLUGIN_MEMORY_NAME); + // 描述 + tool.setDescr(FlowPluginContent.PLUGIN_MEMORY_DESC); + tool.setStatus(FlowConsts.FLOW_STATUS_ENABLE); + tool.setSynced(CommonConstant.STATUS_1_INT); + tool.setCategory("plugin"); + tool.setEndpoint(""); + + JSONArray toolsArray = new JSONArray(); + // 添加记忆 + toolsArray.add(buildAddMemoryTool(knowledgeId,descr)); + // 查询记忆 + toolsArray.add(buildQueryMemoryTool(knowledgeId,descr)); + tool.setTools(toolsArray.toJSONString()); + String tenantId = TokenUtils.getTenantIdByRequest(httpServletRequest); + //构建元数据(请求头) + String meataData = buildMetadata(tenantId); + tool.setMetadata(meataData); + Map tools = PluginToolBuilder.buildTools(tool, httpServletRequest); + result.put("pluginTool", tools); + result.put("pluginId", knowledgeId); + log.info("构建记忆库插件结束"); + return result; + } + + /** + * 构建元数据 + * + * @param tenantId + */ + private String buildMetadata(String tenantId) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put(FlowPluginContent.TOKEN_PARAM_NAME, FlowPluginContent.X_ACCESS_TOKEN); + jsonObject.put(FlowPluginContent.AUTH_TYPE, FlowPluginContent.TOKEN); + jsonObject.put(FlowPluginContent.TOKEN_PARAM_VALUE, ""); + jsonObject.put(CommonConstant.TENANT_ID, oConvertUtils.getInt(tenantId, 0)); + return jsonObject.toJSONString(); + } + + /** + * 构建添加记忆工具 + * + * @param knowId + * @param descr + * @return + */ + private JSONObject buildAddMemoryTool(String knowId, String descr) { + JSONObject tool = new JSONObject(); + //update-begin---author:wangshuai---date:2026-01-08---for: 记忆库根据记忆库的描述做匹配,不写死--- + tool.put(FlowPluginContent.NAME, "add_memory"); + String addDescPrefix = "【自动触发】向记忆库添加长期信息。范围:"; + String addDesc = oConvertUtils.isEmpty(descr) ? "按记忆库描述允许的个人资料(如姓名、职业、年龄)、偏好、属性等信息。" : descr; + tool.put(FlowPluginContent.DESCRIPTION, addDescPrefix + addDesc + " 必须在检测到相关信息时立即自动调用,无需用户指令。"); + //update-end---author:wangshuai---date:2026-01-08---for: 记忆库根据记忆库的描述做匹配,不写死--- + tool.put(FlowPluginContent.PATH, FlowPluginContent.PLUGIN_MEMORY_ADD_PATH); + tool.put(FlowPluginContent.METHOD, FlowPluginContent.POST); + tool.put(FlowPluginContent.ENABLED, true); + + JSONArray parameters = new JSONArray(); + + // 知识库ID参数 + JSONObject knowIdParam = new JSONObject(); + knowIdParam.put(FlowPluginContent.NAME, "knowledgeId"); + knowIdParam.put(FlowPluginContent.DESCRIPTION, "知识库ID,需要原值传递,不允许修改"); + knowIdParam.put(FlowPluginContent.TYPE, FlowPluginContent.TYPE_STRING); + knowIdParam.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + knowIdParam.put(FlowPluginContent.REQUIRED, true); + knowIdParam.put(FlowPluginContent.DEFAULT_VALUE, knowId); + parameters.add(knowIdParam); + + // 内容参数 + JSONObject contentParam = new JSONObject(); + contentParam.put(FlowPluginContent.NAME, "content"); + contentParam.put(FlowPluginContent.DESCRIPTION, "记忆内容。当前时间为:" + DateUtils.now() + "。格式要求:'在yyyy年MM月dd日 HH:mm分,用户[用户的行为/问题],assistant[助手的回答/反应]。'"); + contentParam.put(FlowPluginContent.TYPE, FlowPluginContent.TYPE_STRING); + contentParam.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + contentParam.put(FlowPluginContent.REQUIRED, true); + parameters.add(contentParam); + + // 标题参数 + JSONObject titleParam = new JSONObject(); + titleParam.put(FlowPluginContent.NAME, "title"); + titleParam.put(FlowPluginContent.DESCRIPTION, "记忆标题"); + titleParam.put(FlowPluginContent.TYPE, FlowPluginContent.TYPE_STRING); + titleParam.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + titleParam.put(FlowPluginContent.REQUIRED, false); + parameters.add(titleParam); + tool.put(FlowPluginContent.PARAMETERS, parameters); + + // 响应 + JSONArray responses = new JSONArray(); + tool.put(FlowPluginContent.RESPONSES, responses); + + return tool; + } + + /** + * 构建查询记忆工具 + * + * @param knowId + * @param descr + * @return + */ + private JSONObject buildQueryMemoryTool(String knowId, String descr) { + JSONObject tool = new JSONObject(); + //update-begin---author:wangshuai---date:2026-01-08---for: 记忆库根据记忆库的描述做匹配,不写死--- + String addDescPrefix = "【自动触发】向记忆库检索信息。范围:"; + String addDesc = oConvertUtils.isEmpty(descr) ? "按记忆库描述允许的个人资料(如姓名、职业、年龄)、偏好、属性等信息。" : descr; + tool.put(FlowPluginContent.NAME, "query_memory"); + tool.put(FlowPluginContent.DESCRIPTION, addDescPrefix + addDesc + " 必须在检测到相关信息时立即自动调用,无需用户指令。"); + //update-end---author:wangshuai---date:2026-01-08---for: 记忆库根据记忆库的描述做匹配,不写死--- + tool.put(FlowPluginContent.PATH, FlowPluginContent.PLUGIN_MEMORY_QUERY_PATH); + tool.put(FlowPluginContent.METHOD, FlowPluginContent.POST); + tool.put(FlowPluginContent.ENABLED, true); + + JSONArray parameters = new JSONArray(); + + // 知识库ID参数 + JSONObject knowIdParam = new JSONObject(); + knowIdParam.put(FlowPluginContent.NAME, "knowledgeId"); + knowIdParam.put(FlowPluginContent.DESCRIPTION, "知识库ID,需要原值传递,不允许修改"); + knowIdParam.put(FlowPluginContent.TYPE, FlowPluginContent.TYPE_STRING); + knowIdParam.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + knowIdParam.put(FlowPluginContent.REQUIRED, true); + knowIdParam.put(FlowPluginContent.DEFAULT_VALUE, knowId); + parameters.add(knowIdParam); + + // 查询内容参数 + JSONObject queryTextParam = new JSONObject(); + queryTextParam.put(FlowPluginContent.NAME, "queryText"); + queryTextParam.put(FlowPluginContent.DESCRIPTION, "查询内容"); + queryTextParam.put(FlowPluginContent.TYPE, FlowPluginContent.TYPE_STRING); + queryTextParam.put(FlowPluginContent.LOCATION, FlowPluginContent.LOCATION_BODY); + queryTextParam.put(FlowPluginContent.REQUIRED, true); + parameters.add(queryTextParam); + + tool.put(FlowPluginContent.PARAMETERS, parameters); + // 响应 + JSONArray responses = new JSONArray(); + tool.put(FlowPluginContent.RESPONSES, responses); + + return tool; + } } diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragMcpServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragMcpServiceImpl.java index 8e324ceea..9767820f6 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragMcpServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/llm/service/impl/AiragMcpServiceImpl.java @@ -10,11 +10,14 @@ import dev.langchain4j.agent.tool.ToolSpecification; import dev.langchain4j.mcp.client.DefaultMcpClient; import dev.langchain4j.mcp.client.McpClient; import dev.langchain4j.mcp.client.transport.http.HttpMcpTransport; +import dev.langchain4j.mcp.client.transport.http.StreamableHttpMcpTransport; +import dev.langchain4j.mcp.client.transport.stdio.StdioMcpTransport; import dev.langchain4j.model.chat.request.json.*; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.config.AiRagConfigBean; import org.jeecg.modules.airag.llm.entity.AiragMcp; import org.jeecg.modules.airag.llm.mapper.AiragMcpMapper; import org.jeecg.modules.airag.llm.service.IAiragMcpService; @@ -22,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.lang.reflect.Method; +import java.time.Duration; import java.util.*; import java.util.stream.Collectors; @@ -31,12 +35,15 @@ import java.util.stream.Collectors; * @Date: 2025-10-20 * @Version: V1.0 */ -@Service("airagMcpServiceImpl") @Slf4j +@SuppressWarnings("removal") +@Service("airagMcpServiceImpl") public class AiragMcpServiceImpl extends ServiceImpl implements IAiragMcpService { @Autowired private ObjectMapper objectMapper; // 使用全局配置的 Jackson ObjectMapper + @Autowired + private AiRagConfigBean aiRagConfigBean; /** * 新增或编辑Mcpserver @@ -125,7 +132,7 @@ public class AiragMcpServiceImpl extends ServiceImpl i Map headers = null; if (oConvertUtils.isNotEmpty(mcp.getHeaders())) { try { - headers = JSONObject.parseObject(mcp.getHeaders(), Map.class); + headers = JSONObject.parseObject(mcp.getHeaders(), new com.alibaba.fastjson.TypeReference>() {}); } catch (JSONException e) { headers = null; } @@ -136,19 +143,53 @@ public class AiragMcpServiceImpl extends ServiceImpl i McpClient mcpClient = null; try { if ("sse".equalsIgnoreCase(type)) { - HttpMcpTransport.Builder builder = new HttpMcpTransport.Builder() + //TODO 1.4.0-beta10被弃用,推荐使用http + log.info("[MCP]使用SSE协议(HttpMcpTransport), endpoint:{}", endpoint); + HttpMcpTransport.Builder builder = HttpMcpTransport.builder() .sseUrl(endpoint) .logRequests(true) .logResponses(true); + if (headers != null && !headers.isEmpty()) { + builder.customHeaders(headers); + } mcpClient = new DefaultMcpClient.Builder().transport(builder.build()).build(); } else if ("stdio".equalsIgnoreCase(type)) { - // stdio 类型:endpoint 可能是一个命令行,需要拆分为命令列表 -// List cmdParts = Arrays.asList(endpoint.trim().split("\\s+")); -// StdioMcpTransport.Builder builder = new StdioMcpTransport.Builder() -// .command(cmdParts) -// .environment(headers); -// mcpClient = new DefaultMcpClient.Builder().transport(builder.build()).build(); - return Result.error("不支持的MCP类型:" + type); + //update-begin---author:wangshuai---date:2025-12-18---for:【QQYUN-14242】【AI】添加参数控制 是否开启 默认禁用 stdio 调用执行命令--- + String openSafe = aiRagConfigBean.getAllowSensitiveNodes(); + if(oConvertUtils.isNotEmpty(openSafe) && openSafe.toLowerCase().contains("stdio")) { + log.info("[MCP]使用STDIO协议(StdioMcpTransport), endpoint:{}", endpoint); + // stdio 类型:endpoint 可能是一个命令行 + // Windows 下需要通过 cmd.exe /c 来执行命令,否则找不到 npx 等程序 + List cmdParts; + String os = System.getProperty("os.name").toLowerCase(); + if (os.contains("win")) { + // Windows: 使用 cmd.exe /c 执行 + cmdParts = new ArrayList<>(); + cmdParts.add("cmd.exe"); + cmdParts.add("/c"); + cmdParts.add(endpoint.trim()); + } else { + // Linux/Mac: 使用 sh -c 执行 + cmdParts = new ArrayList<>(); + cmdParts.add("sh"); + cmdParts.add("-c"); + cmdParts.add(endpoint.trim()); + } + log.info("[MCP]执行stdio命令: {}", cmdParts); + StdioMcpTransport.Builder builder = new StdioMcpTransport.Builder() + .command(cmdParts) + .environment(headers); + mcpClient = new DefaultMcpClient.Builder().transport(builder.build()).build(); + } else { + String disabledMsg = "stdio 功能已禁用。若需启用,请在 yml 的 jeecg.airag.allow-sensitive-nodes 中加入 stdio。"; + log.warn("[MCP]{}", disabledMsg); + return Result.error(disabledMsg); + } + //update-end---author:wangshuai---date:2025-12-19---for:【QQYUN-14242】【AI】添加参数控制 是否开启 默认禁用 stdio 调用执行命令--- + }else if("http".equalsIgnoreCase(type)){ + log.info("[MCP]使用HTTP协议(StreamableHttpMcpTransport), endpoint:{}", endpoint); + //增加http选项 + mcpClient = mcpHttpCreate(endpoint,headers); } else { return Result.error("不支持的MCP类型:" + type); } @@ -204,6 +245,29 @@ public class AiragMcpServiceImpl extends ServiceImpl i } } + /** + * mcp插件http创建 + * + * @param endpoint + * @param headers + * @return + */ + private McpClient mcpHttpCreate(String endpoint, Map headers) { + StreamableHttpMcpTransport.Builder builder = new StreamableHttpMcpTransport.Builder() + .url(endpoint) + .timeout(Duration.ofMinutes(60)) + .logRequests(true) + .logResponses(true); + + if (headers != null && !headers.isEmpty()) { + builder.customHeaders(headers); + } + + return new DefaultMcpClient.Builder() + .transport(builder.build()) + .build(); + } + // 安全序列化单个对象为 JSON 字符串 private String safeWriteJson(Object obj) { try { diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/consts/AiPromptsConsts.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/consts/AiPromptsConsts.java new file mode 100644 index 000000000..670a42e0b --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/consts/AiPromptsConsts.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.airag.prompts.consts; + +/** + * AI提示词常量类 + * + */ +public class AiPromptsConsts { + + /** + * 状态:进行中 + */ + public static final String STATUS_RUNNING = "run"; + /** + * 状态:完成 + */ + public static final String STATUS_COMPLETED = "completed"; + /** + * 状态:失败 + */ + public static final String STATUS_FAILED = "failed"; + /** + * 业务类型:评估器 + */ + public static final String BIZ_TYPE_EVALUATOR = "evaluator"; + /** + * 业务类型:轨迹 + */ + public static final String BIZ_TYPE_TRACK = "track"; + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragExtDataController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragExtDataController.java new file mode 100644 index 000000000..7eb70fd74 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragExtDataController.java @@ -0,0 +1,213 @@ +package org.jeecg.modules.airag.prompts.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.prompts.consts.AiPromptsConsts; +import org.jeecg.modules.airag.prompts.entity.AiragExtData; +import org.jeecg.modules.airag.prompts.service.IAiragExtDataService; +import org.jeecg.modules.airag.prompts.vo.AiragDebugVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.Arrays; +import java.util.List; + +/** + * @Description: airag_ext_data + * @Author: jeecg-boot + * @Date: 2025-12-24 + * @Version: V1.0 + */ +@Tag(name="airag_ext_data") +@RestController +@RequestMapping("/airag/extData") +@Slf4j +public class AiragExtDataController extends JeecgController { + @Autowired + private IAiragExtDataService airagExtDataService; + + /** + * 分页列表查询 + * + * @param airagExtData + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "airag_ext_data-分页列表查询") + @Operation(summary="airag_ext_data-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(AiragExtData airagExtData, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(airagExtData, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.eq("biz_type", AiPromptsConsts.BIZ_TYPE_EVALUATOR); + IPage pageList = airagExtDataService.page(page, queryWrapper); + return Result.OK(pageList); + } + /** + * 调用轨迹列表查询 + * + * @param airagExtData + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @Operation(summary="airag_ext_data-分页列表查询") + @GetMapping(value = "/getTrackList") + public Result> getTrackList(AiragExtData airagExtData, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(airagExtData, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.eq("biz_type", AiPromptsConsts.BIZ_TYPE_TRACK); + String metadata = airagExtData.getMetadata(); + if(oConvertUtils.isEmpty(metadata)){ + return Result.OK(); + } + IPage pageList = airagExtDataService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param airagExtData + * @return + */ + @AutoLog(value = "airag_ext_data-添加") + @Operation(summary="airag_ext_data-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody AiragExtData airagExtData) { + airagExtData.setBizType(AiPromptsConsts.BIZ_TYPE_EVALUATOR); + airagExtDataService.save(airagExtData); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param airagExtData + * @return + */ + @AutoLog(value = "airag_ext_data-编辑") + @Operation(summary="airag_ext_data-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody AiragExtData airagExtData) { + airagExtDataService.updateById(airagExtData); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "airag_ext_data-通过id删除") + @Operation(summary="airag_ext_data-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + airagExtDataService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "airag_ext_data-批量删除") + @Operation(summary="airag_ext_data-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.airagExtDataService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "airag_ext_data-通过id查询") + @Operation(summary="airag_ext_data-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + AiragExtData airagExtData = airagExtDataService.getById(id); + if(airagExtData==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(airagExtData); + } + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "airag_ext_data-通过id查询") + @Operation(summary="airag_ext_data-通过id查询") + @GetMapping(value = "/queryTrackById") + public Result> queryTrackById(@RequestParam(name="id",required=true) String id) { + AiragExtData airagExtData = airagExtDataService.getById(id); + String status = airagExtData.getStatus(); + if(AiPromptsConsts.STATUS_RUNNING.equals(status)) { + return Result.error("处理中,请稍后刷新"); + } + List trackList = airagExtDataService.queryTrackById(id); + return Result.OK(trackList); + } + /** + * 构造器调试 + * + * @param debugVo + * @return + */ + @PostMapping(value = "/evaluator/debug") + public Result debugEvaluator(@RequestBody AiragDebugVo debugVo) { + return airagExtDataService.debugEvaluator(debugVo); + } + /** + * 导出excel + * + * @param request + * @param airagExtData + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, AiragExtData airagExtData) { + return super.exportXls(request, airagExtData, AiragExtData.class, "airag_ext_data"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AiragExtData.class); + } + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragPromptsController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragPromptsController.java new file mode 100644 index 000000000..a834d9ee5 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragPromptsController.java @@ -0,0 +1,167 @@ +package org.jeecg.modules.airag.prompts.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.airag.prompts.entity.AiragPrompts; +import org.jeecg.modules.airag.prompts.service.IAiragPromptsService; +import org.jeecg.modules.airag.prompts.vo.AiragExperimentVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.Arrays; + /** + * @Description: airag_prompts + * @Author: jeecg-boot + * @Date: 2025-12-24 + * @Version: V1.0 + */ +@Tag(name="airag_prompts") +@RestController +@RequestMapping("/airag/prompts") +@Slf4j +public class AiragPromptsController extends JeecgController { + @Autowired + private IAiragPromptsService airagPromptsService; + + /** + * 分页列表查询 + * + * @param airagPrompts + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "airag_prompts-分页列表查询") + @Operation(summary="airag_prompts-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(AiragPrompts airagPrompts, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(airagPrompts, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = airagPromptsService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param airagPrompts + * @return + */ + @AutoLog(value = "airag_prompts-添加") + @Operation(summary="airag_prompts-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody AiragPrompts airagPrompts) { + airagPrompts.setDelFlag(CommonConstant.DEL_FLAG_0); + airagPrompts.setStatus("0"); + airagPromptsService.save(airagPrompts); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param airagPrompts + * @return + */ + @AutoLog(value = "airag_prompts-编辑") + @Operation(summary="airag_prompts-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody AiragPrompts airagPrompts) { + airagPromptsService.updateById(airagPrompts); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "airag_prompts-通过id删除") + @Operation(summary="airag_prompts-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + airagPromptsService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "airag_prompts-批量删除") + @Operation(summary="airag_prompts-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.airagPromptsService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "airag_prompts-通过id查询") + @Operation(summary="airag_prompts-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + AiragPrompts airagPrompts = airagPromptsService.getById(id); + if(airagPrompts==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(airagPrompts); + } + /** + * 构造器调试 + * + * @param experimentVo + * @return + */ + @PostMapping(value = "/experiment") + public Result promptExperiment(@RequestBody AiragExperimentVo experimentVo, HttpServletRequest request) { + return airagPromptsService.promptExperiment(experimentVo,request); + } + /** + * 导出excel + * + * @param request + * @param airagPrompts + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, AiragPrompts airagPrompts) { + return super.exportXls(request, airagPrompts, AiragPrompts.class, "airag_prompts"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, AiragPrompts.class); + } + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/entity/AiragExtData.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/entity/AiragExtData.java new file mode 100644 index 000000000..5956293aa --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/entity/AiragExtData.java @@ -0,0 +1,99 @@ +package org.jeecg.modules.airag.prompts.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: airag_ext_data + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +@Data +@TableName("airag_ext_data") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(description="airag_ext_data") +public class AiragExtData implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键ID*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键ID") + private java.lang.String id; + /**业务类型标识(evaluator:评估器;track:测试追踪)*/ + @Excel(name = "业务类型标识(evaluator:评估器;track:测试追踪)", width = 15) + @Schema(description = "业务类型标识(evaluator:评估器;track:测试追踪)") + private java.lang.String bizType; + /**名称*/ + @Excel(name = "名称", width = 15) + @Schema(description = "名称") + private java.lang.String name; + /**描述信息*/ + @Excel(name = "描述信息", width = 15) + @Schema(description = "描述信息") + private java.lang.String descr; + /**标签,多个用逗号分隔*/ + @Excel(name = "标签,多个用逗号分隔", width = 15) + @Schema(description = "标签,多个用逗号分隔") + private java.lang.String tags; + /**实际存储内容,json*/ + @Excel(name = "实际存储内容,json", width = 15) + @Schema(description = "实际存储内容,json") + private java.lang.String dataValue; + /**元数据,用于存储补充业务数据信息*/ + @Excel(name = "元数据,用于存储补充业务数据信息", width = 15) + @Schema(description = "元数据,用于存储补充业务数据信息") + private java.lang.String metadata; + /**评测集数据*/ + @Excel(name = "评测集数据", width = 15) + @Schema(description = "评测集数据") + private java.lang.String datasetValue; + /**创建人*/ + @Schema(description = "创建人") + private java.lang.String createBy; + /**创建时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建时间") + private java.util.Date createTime; + /**修改人*/ + @Schema(description = "修改人") + private java.lang.String updateBy; + /**修改时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "修改时间") + private java.util.Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private java.lang.String sysOrgCode; + /**租户id*/ + @Excel(name = "租户id", width = 15) + @Schema(description = "租户id") + private java.lang.String tenantId; + /**状态*/ + @Excel(name = "状态(run:进行中 completed:已完成)", width = 15) + @Schema(description = "状态(run:进行中 completed:已完成)") + private java.lang.String status; + /**版本*/ + @Excel(name = "版本", width = 15) + @Schema(description = "版本") + private java.lang.Integer version; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/entity/AiragPrompts.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/entity/AiragPrompts.java new file mode 100644 index 000000000..d693d1b5a --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/entity/AiragPrompts.java @@ -0,0 +1,108 @@ +package org.jeecg.modules.airag.prompts.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import org.jeecg.common.constant.ProvinceCityArea; +import org.jeecg.common.util.SpringContextUtils; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: airag_prompts + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +@Data +@TableName("airag_prompts") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(description="airag_prompts") +public class AiragPrompts implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键ID*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键ID") + private java.lang.String id; + /**提示词名称*/ + @Excel(name = "提示词名称", width = 15) + @Schema(description = "提示词名称") + private java.lang.String name; + /**提示词名称*/ + @Excel(name = "提示key", width = 15) + @Schema(description = "提示key") + private java.lang.String promptKey; + /**提示词功能描述*/ + @Excel(name = "提示词功能描述", width = 15) + @Schema(description = "提示词功能描述") + private java.lang.String description; + /**提示词模板内容,支持变量占位符如 {{variable}}*/ + @Excel(name = "提示词模板内容,支持变量占位符如 {{variable}}", width = 15) + @Schema(description = "提示词模板内容,支持变量占位符如 {{variable}}") + private java.lang.String content; + /**提示词分类*/ + @Excel(name = "提示词分类", width = 15) + @Schema(description = "提示词分类") + private java.lang.String category; + /**标签,多个逗号分割*/ + @Excel(name = "标签,多个逗号分割", width = 15) + @Schema(description = "标签,多个逗号分割") + private java.lang.String tags; + /**适配的大模型ID*/ + @Excel(name = "适配的大模型ID", width = 15) + @Schema(description = "适配的大模型ID") + private java.lang.String modelId; + /**大模型的参数配置*/ + @Excel(name = "大模型的参数配置", width = 15) + @Schema(description = "大模型的参数配置") + private java.lang.String modelParam; + /**状态(0:未发布 1:已发布)*/ + @Excel(name = "状态(0:未发布 1:已发布)", width = 15) + @Schema(description = "状态(0:未发布 1:已发布)") + private java.lang.String status; + /**版本号(格式 0.0.1)*/ + @Excel(name = "版本号(格式 0.0.1)", width = 15) + @Schema(description = "版本号(格式 0.0.1)") + private java.lang.String version; + /**删除状态(0未删除 1已删除)*/ + @Excel(name = "删除状态(0未删除 1已删除)", width = 15) + @Schema(description = "删除状态(0未删除 1已删除)") + @TableLogic + private java.lang.Integer delFlag; + /**创建人*/ + @Schema(description = "创建人") + private java.lang.String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private java.lang.String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private java.lang.String sysOrgCode; + /**租户id*/ + @Excel(name = "租户id", width = 15) + @Schema(description = "租户id") + private java.lang.String tenantId; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/AiragExtDataMapper.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/AiragExtDataMapper.java new file mode 100644 index 000000000..1f26f3a6e --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/AiragExtDataMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.airag.prompts.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.airag.prompts.entity.AiragExtData; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: airag_ext_data + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +public interface AiragExtDataMapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/AiragPromptsMapper.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/AiragPromptsMapper.java new file mode 100644 index 000000000..17ec7dc0f --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/AiragPromptsMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.airag.prompts.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.airag.prompts.entity.AiragPrompts; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: airag_prompts + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +public interface AiragPromptsMapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/xml/AiragExtDataMapper.xml b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/xml/AiragExtDataMapper.xml new file mode 100644 index 000000000..cad72b1b8 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/xml/AiragExtDataMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/xml/AiragPromptsMapper.xml b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/xml/AiragPromptsMapper.xml new file mode 100644 index 000000000..585dd2905 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/mapper/xml/AiragPromptsMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/IAiragExtDataService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/IAiragExtDataService.java new file mode 100644 index 000000000..a67895233 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/IAiragExtDataService.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.airag.prompts.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.airag.prompts.entity.AiragExtData; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.airag.prompts.vo.AiragDebugVo; + +import java.util.List; + +/** + * @Description: airag_ext_data + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +public interface IAiragExtDataService extends IService { + + Result debugEvaluator(AiragDebugVo debugVo); + + List queryTrackById(String id); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/IAiragPromptsService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/IAiragPromptsService.java new file mode 100644 index 000000000..b7717bc09 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/IAiragPromptsService.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.airag.prompts.service; + +import jakarta.servlet.http.HttpServletRequest; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.airag.prompts.entity.AiragPrompts; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.airag.prompts.vo.AiragExperimentVo; + +/** + * @Description: airag_prompts + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +public interface IAiragPromptsService extends IService { + + Result promptExperiment(AiragExperimentVo experimentVo, HttpServletRequest request); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/impl/AiragExtDataServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/impl/AiragExtDataServiceImpl.java new file mode 100644 index 000000000..e56a1256e --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/impl/AiragExtDataServiceImpl.java @@ -0,0 +1,98 @@ +package org.jeecg.modules.airag.prompts.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import dev.langchain4j.data.message.ChatMessage; +import dev.langchain4j.data.message.SystemMessage; +import dev.langchain4j.data.message.UserMessage; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.AssertUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.common.handler.AIChatParams; +import org.jeecg.modules.airag.common.handler.IAIChatHandler; +import org.jeecg.modules.airag.prompts.entity.AiragExtData; +import org.jeecg.modules.airag.prompts.mapper.AiragExtDataMapper; +import org.jeecg.modules.airag.prompts.service.IAiragExtDataService; +import org.jeecg.modules.airag.prompts.vo.AiragDebugVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + +/** + * @Description: airag_ext_data + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +@Service("airagExtDataServiceImpl") +public class AiragExtDataServiceImpl extends ServiceImpl implements IAiragExtDataService { + + @Autowired + IAIChatHandler aiChatHandler; + + @Override + public Result debugEvaluator(AiragDebugVo debugVo) { + //1.提示词 + String prompt = debugVo.getPrompts(); + AssertUtils.assertNotEmpty("请输入提示词", prompt); + + //2.测试内容 + String content = debugVo.getContent(); + AssertUtils.assertNotEmpty("请输入测试内容", content); + List messages = Arrays.asList(new SystemMessage(prompt), new UserMessage(content)); + + //3.模型数据 + String modelId = debugVo.getModelId(); + AssertUtils.assertNotEmpty("请选择模型", modelId); + + //4.模型参数 + String modelParam = debugVo.getModelParam(); + // 默认大模型参数 + AIChatParams params = new AIChatParams(); + params.setTemperature(0.8); + params.setTopP(0.9); + params.setPresencePenalty(0.1); + params.setFrequencyPenalty(0.1); + + if(oConvertUtils.isNotEmpty(modelParam)){ + JSONObject param = JSON.parseObject(modelParam); + if(param.containsKey("temperature")){ + params.setTemperature(param.getDoubleValue("temperature")); + } + if(param.containsKey("topP")){ + params.setTemperature(param.getDoubleValue("topP")); + } + if(param.containsKey("presencePenalty")){ + params.setTemperature(param.getDoubleValue("presencePenalty")); + } + if(param.containsKey("frequencyPenalty")){ + params.setTemperature(param.getDoubleValue("frequencyPenalty")); + } + } + //5.AI问答 + String promptValue = aiChatHandler.completions(modelId,messages, params); + if (promptValue == null || promptValue.isEmpty()) { + return Result.error("生成失败"); + } + return Result.OK("success", promptValue); + } + + /** + * 查询AI问答记录 + * @param id + * @return + */ + @Override + public List queryTrackById(String id) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .eq(AiragExtData::getMetadata, id) + .orderByDesc(AiragExtData::getVersion) + .orderByDesc(AiragExtData::getCreateTime); + List list = this.baseMapper.selectList(lqw); + return list; + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/impl/AiragPromptsServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/impl/AiragPromptsServiceImpl.java new file mode 100644 index 000000000..97e364127 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/service/impl/AiragPromptsServiceImpl.java @@ -0,0 +1,394 @@ +package org.jeecg.modules.airag.prompts.service.impl; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import dev.langchain4j.data.message.ChatMessage; +import dev.langchain4j.data.message.SystemMessage; +import dev.langchain4j.data.message.UserMessage; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.AssertUtils; +import org.jeecg.common.util.CommonUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.config.JeecgBaseConfig; +import org.jeecg.modules.airag.common.handler.AIChatParams; +import org.jeecg.modules.airag.common.handler.IAIChatHandler; +import org.jeecg.modules.airag.prompts.consts.AiPromptsConsts; +import org.jeecg.modules.airag.prompts.entity.AiragExtData; +import org.jeecg.modules.airag.prompts.entity.AiragPrompts; +import org.jeecg.modules.airag.prompts.mapper.AiragPromptsMapper; +import org.jeecg.modules.airag.prompts.service.IAiragExtDataService; +import org.jeecg.modules.airag.prompts.service.IAiragPromptsService; +import org.jeecg.modules.airag.prompts.vo.AiragExperimentVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +/** + * @Description: airag_prompts + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +@Slf4j +@Service("airagPromptsServiceImpl") +public class AiragPromptsServiceImpl extends ServiceImpl implements IAiragPromptsService { + @Autowired + IAIChatHandler aiChatHandler; + + @Autowired + IAiragExtDataService airagExtDataService; + + @Autowired + private JeecgBaseConfig jeecgBaseConfig; + // 创建静态线程池,确保整个应用生命周期中只有一个实例 + private static final ExecutorService executor = new ThreadPoolExecutor( + 4, // 核心线程数 + 8, // 最大线程数 + 60L, TimeUnit.SECONDS, + new ArrayBlockingQueue<>(100), // 防止内存溢出 + new ThreadPoolExecutor.CallerRunsPolicy() // 拒绝策略 + ); + + /** + * 提示词实验 + * @param experimentVo + * @return + */ + @Override + public Result promptExperiment(AiragExperimentVo experimentVo, HttpServletRequest request) { + log.info("开始执行提示词实验,参数:{}", JSON.toJSONString(experimentVo)); + + // 参数验证 + String promptKey = experimentVo.getPromptKey(); + AssertUtils.assertNotEmpty("请选择提示词", promptKey); + String dataId = experimentVo.getExtDataId(); + AssertUtils.assertNotEmpty("请选择数据集", dataId); + + Map fieldMappings = experimentVo.getMappings(); + AssertUtils.assertNotEmpty("请配置字段映射", fieldMappings); + + try { + //1.查询提示词 + AiragPrompts airagPrompts = this.baseMapper.selectOne(new LambdaQueryWrapper().eq(AiragPrompts::getPromptKey, promptKey)); + AssertUtils.assertNotEmpty("未找到指定的提示词", airagPrompts); + String modelParam = airagPrompts.getModelParam(); + // 过滤提示词变量 + JSONArray promptVariables; + if(oConvertUtils.isNotEmpty(modelParam)){ + JSONObject airagPromptsParams = JSON.parseObject(modelParam); + if(airagPromptsParams.containsKey("promptVariables")){ + promptVariables = airagPromptsParams.getJSONArray("promptVariables"); + } else { + promptVariables = null; + } + } else { + promptVariables = null; + } + //2.查询数据集 + AiragExtData airagExtData = airagExtDataService.getById(dataId); + AssertUtils.assertNotEmpty("未找到指定的数据集", airagExtData); + String datasetValue = airagExtData.getDatasetValue(); + if(oConvertUtils.isEmpty(datasetValue)){ + return Result.error("评测集不能为空!"); + } + + //3.异步调用 根据映射字段,调用评估器测评 + JSONObject datasetObj = JSONObject.parseObject(datasetValue); + //评测列配置 + JSONArray columns = datasetObj.getJSONArray("columns"); + //评测题库 + JSONArray datasetArray = datasetObj.getJSONArray("dataSource"); + AssertUtils.assertNotEmpty("数据集中没有找到数据源", datasetArray); + AssertUtils.assertTrue("数据源为空", datasetArray.size() > 0); + + //测评结果集 - 使用线程安全的CopyOnWriteArrayList + List scoreResult = new CopyOnWriteArrayList<>(); + + // 批量提交任务 + List> futures = IntStream.range(0, datasetArray.size()) + .mapToObj(i -> CompletableFuture.runAsync(() -> { + try { + log.info("开始处理第{}条数据", i + 1); + //定义返回结果 + JSONObject result = new JSONObject(); + //评测数据 + JSONObject dataset = datasetArray.getJSONObject(i); + result.putAll(dataset); + //用户问题 + String userQuery = dataset.getString(fieldMappings.get("user_query")); + result.put("userQuery", userQuery); + //变量处理 + if(!CollectionUtils.isEmpty(promptVariables)){ + String content = airagPrompts.getContent(); + for (Object var : promptVariables){ + JSONObject variable = JSONObject.parseObject(var.toString()); + String name = dataset.getString(fieldMappings.get(variable.getString("name"))); + //提示词默认变量值 + String defaultValue = variable.getString("value"); + // 获取目标类型 + String dataType = findDataType(columns, variable); + if("FILE".equals(dataType)){ + defaultValue = getFileAccessHttpUrl(request, defaultValue); + name = getFileAccessHttpUrl(request, name); + } + if(oConvertUtils.isNotEmpty(name)){ + //提示词 评估集变量值替换 + content = content.replaceAll(variable.getString("name"), name); + }else if(oConvertUtils.isNotEmpty(defaultValue)){ + content = content.replaceAll(variable.getString("name"), defaultValue); + } + } + airagPrompts.setContent(content); + } + + //提示词答案 + String promptAnswer = getPromptAnswer(airagPrompts, dataset, fieldMappings); + result.put("promptAnswer", promptAnswer); + + //评估器答案 + String answerScore = getAnswerScore(promptAnswer, dataset, fieldMappings, airagExtData); + result.put("answerScore", answerScore); + + scoreResult.add(result); + log.info("第{}条数据处理完成", i + 1); + } catch (Exception e) { + log.error("处理第{}条数据时发生异常", i + 1, e); + // 重新抛出异常,让CompletableFuture捕获 + throw new CompletionException(e); + } + }, executor)) + .collect(Collectors.toList()); + + // 非阻塞方式处理完成 + CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])) + .whenComplete((result, ex) -> { + if (ex != null) { + log.error("批量处理失败", ex); + // 更新状态为失败 + airagExtData.setStatus(AiPromptsConsts.STATUS_FAILED); + } else { + log.info("所有数据处理完成,共处理{}条数据", scoreResult.size()); + // 查询已存在的评测记录 + List existingTracks = airagExtDataService.queryTrackById(dataId); + Integer version = 1; + if(!CollectionUtils.isEmpty(existingTracks)) { + version = existingTracks.stream() + .map(AiragExtData::getVersion) + .max(Integer::compareTo) + .orElse(0) + 1; + } + for (JSONObject item : scoreResult) { + // 保存结果 + AiragExtData track = new AiragExtData(); + //关联评估器ID + track.setMetadata(dataId); + //定义类型 + track.setBizType(AiPromptsConsts.BIZ_TYPE_TRACK); + //定义版本 + track.setVersion(version); + //定义状态 + track.setStatus(AiPromptsConsts.STATUS_COMPLETED); + //定义评测结果 + track.setDataValue(item.toJSONString()); + airagExtDataService.save(track); + } + // 更新状态为完成 + airagExtData.setStatus(AiPromptsConsts.STATUS_COMPLETED); + } + airagExtDataService.updateById(airagExtData); + }); + + //4.修改状态进行中 + airagExtData.setStatus(AiPromptsConsts.STATUS_RUNNING); + airagExtDataService.updateById(airagExtData); + + log.info("提示词实验已提交,共{}条数据待处理", datasetArray.size()); + return Result.OK("实验已开始,正在处理数据"); + } catch (Exception e) { + log.error("提示词实验执行失败", e); + return Result.error("实验执行失败:" + e.getMessage()); + } + } + + + /** + * 提示词回答的结果 + * @param airagPrompts + * @param questions + * @param fieldMappings + * @return + */ + public String getPromptAnswer(AiragPrompts airagPrompts, JSONObject questions, Map fieldMappings) { + try { + //0.判断是否配置了判断fieldMappings的value值 是否包含actual_output + if (!fieldMappings.containsValue("actual_output")) { + log.warn("字段映射中没有配置actual_output"); + return null; + } + + //1.提示词 + String prompt = airagPrompts.getContent(); + AssertUtils.assertNotEmpty("请输入提示词", prompt); + + String userQuery = questions.getString(fieldMappings.get("user_query")); + AssertUtils.assertNotEmpty("请输入测试内容", userQuery); + + //2.ai问题组装 + List messages = Arrays.asList(new SystemMessage(prompt), new UserMessage(userQuery)); + + //3.模型数据 + String modelId = airagPrompts.getModelId(); + AssertUtils.assertNotEmpty("请选择模型", modelId); + + //4.模型参数 + String modelParam = airagPrompts.getModelParam(); + // 默认大模型参数 + AIChatParams params = new AIChatParams(); + params.setTemperature(0.8); + params.setTopP(0.9); + params.setPresencePenalty(0.1); + params.setFrequencyPenalty(0.1); + + if(oConvertUtils.isNotEmpty(modelParam)){ + JSONObject param = JSON.parseObject(modelParam); + if(param.containsKey("temperature")){ + params.setTemperature(param.getDoubleValue("temperature")); + } + if(param.containsKey("topP")){ + params.setTopP(param.getDoubleValue("topP")); // 修复:设置到正确的字段 + } + if(param.containsKey("presencePenalty")){ + params.setPresencePenalty(param.getDoubleValue("presencePenalty")); // 修复:设置到正确的字段 + } + if(param.containsKey("frequencyPenalty")){ + params.setFrequencyPenalty(param.getDoubleValue("frequencyPenalty")); // 修复:设置到正确的字段 + } + } + + log.debug("调用AI模型,模型ID:{},参数:{}", modelId, JSON.toJSONString(params)); + //5.AI问答 + String promptAnswer = aiChatHandler.completions(modelId, messages, params); + log.debug("AI模型返回结果:{}", promptAnswer); + + return promptAnswer; + } catch (Exception e) { + log.error("获取提示词回答失败", e); + return null; + } + } + + /** + * 评测答案分数 + * @return + */ + public String getAnswerScore(String promptAnswer, JSONObject questions, Map fieldMappings, AiragExtData airagExtData) { + try { + //1.提示词 + String prompt = airagExtData.getDataValue(); + AssertUtils.assertNotEmpty("请输入提示词", prompt); + prompt += "定义返回格式: 得分:最终的得分,必须输出一个数字,表示满足Prompt中评分标准的程度。得分范围从 0.0 到 1.0,1.0 表示完全满足评分标准,0.0 表示完全不满足评分标准。\n" + + "原因:{对得分的可读性的解释,说明打分原因}。最后,必须用一句话结束理由,该句话为:因此,应该给出的分数是<你评测的的得分>。请勿返回提问的问题、添加分析过程、解释说明等内容,只返回要求的格式内容"; + + String userQuery = "输入的内容:"; + //2.拼接测试内容 + for (Map.Entry entry : fieldMappings.entrySet()) { + // 评估器中的key + String key = entry.getKey(); + // 评估器中的映射的key + String value = entry.getValue(); + String valueData; + if("actual_output".equalsIgnoreCase(value)){ + valueData = promptAnswer; + }else{ + valueData = questions.getString(value); + } + userQuery += (key + ":" + valueData + " "); + } + List messages = Arrays.asList(new SystemMessage(prompt), new UserMessage(userQuery)); + + //3.模型数据 + String metadata = airagExtData.getMetadata(); + if(oConvertUtils.isNotEmpty(metadata)){ + JSONObject modelParam = JSONObject.parseObject(metadata); + String modelId = modelParam.getString("modelId"); + AssertUtils.assertNotEmpty("评估器模型ID不能为空", modelId); + + // 默认大模型参数 + AIChatParams params = new AIChatParams(); + params.setTemperature(0.8); + params.setTopP(0.9); + params.setPresencePenalty(0.1); + params.setFrequencyPenalty(0.1); + + if(oConvertUtils.isNotEmpty(modelParam)){ + if(modelParam.containsKey("temperature")){ + params.setTemperature(modelParam.getDoubleValue("temperature")); + } + if(modelParam.containsKey("topP")){ + params.setTopP(modelParam.getDoubleValue("topP")); // 修复:设置到正确的字段 + } + if(modelParam.containsKey("presencePenalty")){ + params.setPresencePenalty(modelParam.getDoubleValue("presencePenalty")); // 修复:设置到正确的字段 + } + if(modelParam.containsKey("frequencyPenalty")){ + params.setFrequencyPenalty(modelParam.getDoubleValue("frequencyPenalty")); // 修复:设置到正确的字段 + } + } + + log.debug("调用评估器模型,模型ID:{},参数:{}", modelId, JSON.toJSONString(params)); + //5.AI问答 + String answerScore = aiChatHandler.completions(modelId, messages, params); + log.debug("评估器模型返回结果:{}", answerScore); + + return answerScore; + } + return null; + } catch (Exception e) { + log.error("获取答案评分失败", e); + return null; + } + } + + /** + * + * @param columns + * @param variable + * @return + */ + public static String findDataType(JSONArray columns, JSONObject variable) { + // 获取目标字段值 + String targetName = variable.getString("name"); + + // 使用 Stream API 查找并获取 dataType + return columns.stream() + .map(obj -> JSONObject.parseObject(obj.toString())) + .filter(column -> targetName.equals(column.getString("name"))) + .findFirst() + .map(column -> column.getString("dataType")) + .orElse(null); // 如果没有找到,返回 null + } + /** + * 获取图片地址 + * @param request + * @param url + * @return + */ + private String getFileAccessHttpUrl(HttpServletRequest request,String url){ + if(oConvertUtils.isNotEmpty(url) && url.startsWith("http")){ + return url; + }else{ + return CommonUtils.getBaseUrl(request) + "/sys/common/static/" + url; + } + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/vo/AiragDebugVo.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/vo/AiragDebugVo.java new file mode 100644 index 000000000..7ce158255 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/vo/AiragDebugVo.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.airag.prompts.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: AiragDebugVo + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +@Data +public class AiragDebugVo implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 提示词 + */ + private String prompts; + /** + * 输入内容 + */ + private String content; + /**适配的大模型ID*/ + private String modelId; + /**大模型的参数配置*/ + private String modelParam; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/vo/AiragExperimentVo.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/vo/AiragExperimentVo.java new file mode 100644 index 000000000..41a2083cd --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/vo/AiragExperimentVo.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.airag.prompts.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * @Description: AiragExperimentVo + * @Author: jeecg-boot + * @Date: 2025-12-12 + * @Version: V1.0 + */ +@Data +public class AiragExperimentVo implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 提示词 + */ + private String promptKey; + /** + * 输入内容 + */ + private String extDataId; + /** + * 映射关系 + */ + private Map mappings; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/consts/WordTitleEnum.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/consts/WordTitleEnum.java new file mode 100644 index 000000000..e16263b7c --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/consts/WordTitleEnum.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.airag.wordtpl.consts; + +import lombok.Getter; + +/** + * @author chenrui + * @ClassName: TitleLevelEnum + * @Description: 标题级别 + * @date 2024年5月4日07:38:30 + */ +@Getter +public enum WordTitleEnum { + + FIRST("first", "标题1"), + SECOND("second", "标题2"), + THIRD("third", "标题3"), + FOURTH("fourth", "标题4"), + FIFTH("fifth", "标题5"), + SIXTH("sixth", "标题6"); + + WordTitleEnum(String code, String name) { + this.code = code; + this.name = name; + } + + final String code; + + final String name; + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/controller/EoaWordTemplateController.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/controller/EoaWordTemplateController.java new file mode 100644 index 000000000..98e0029f1 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/controller/EoaWordTemplateController.java @@ -0,0 +1,244 @@ +package org.jeecg.modules.airag.wordtpl.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.AssertUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.wordtpl.dto.WordTplGenDTO; +import org.jeecg.modules.airag.wordtpl.entity.EoaWordTemplate; +import org.jeecg.modules.airag.wordtpl.service.IEoaWordTemplateService; +import org.jeecg.modules.airag.wordtpl.utils.WordTplUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.net.URLEncoder; +import java.util.Arrays; + +/** + * @Description: word模版管理 + * @Author: jeecg-boot + * @Date: 2025-07-04 + * @Version: V1.0 + */ +@Tag(name = "word模版管理") +@RestController("eoaWordTemplateController") +@RequestMapping("/airag/word") +@Slf4j +public class EoaWordTemplateController extends JeecgController { + @Autowired + private IEoaWordTemplateService eoaWordTemplateService; + + @Autowired + WordTplUtils wordTplUtils; + + /** + * 分页列表查询 + * + * @param eoaWordTemplate + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @Operation(summary = "word模版管理-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(EoaWordTemplate eoaWordTemplate, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(eoaWordTemplate, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = eoaWordTemplateService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param eoaWordTemplate + * @return + */ + @AutoLog(value = "word模版管理-添加") + @Operation(summary = "word模版管理-添加") +// @RequiresPermissions("wordtpl:template:add") + @PostMapping(value = "/add") + public Result add(@RequestBody EoaWordTemplate eoaWordTemplate) { + AssertUtils.assertNotEmpty("参数异常", eoaWordTemplate); + AssertUtils.assertNotEmpty("模版名称不能为空", eoaWordTemplate.getName()); + boolean isCodeExists = eoaWordTemplateService.exists(Wrappers.lambdaQuery(EoaWordTemplate.class).eq(EoaWordTemplate::getCode, eoaWordTemplate.getCode())); + AssertUtils.assertFalse("模版编码已存在", isCodeExists); + eoaWordTemplateService.save(eoaWordTemplate); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param eoaWordTemplate + * @return + */ + @AutoLog(value = "word模版管理-编辑") + @Operation(summary = "word模版管理-编辑") +// @RequiresPermissions("wordtpl:template:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody EoaWordTemplate eoaWordTemplate) { + AssertUtils.assertNotEmpty("参数异常", eoaWordTemplate); + AssertUtils.assertNotEmpty("模版名称不能为空", eoaWordTemplate.getName()); + // 避免编辑时修改编码 + eoaWordTemplate.setCode(null); + eoaWordTemplateService.updateById(eoaWordTemplate); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "word模版管理-通过id删除") + @Operation(summary = "word模版管理-通过id删除") +// @RequiresPermissions("wordtpl:template:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + eoaWordTemplateService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "word模版管理-批量删除") + @Operation(summary = "word模版管理-批量删除") +// @RequiresPermissions("wordtpl:template:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.eoaWordTemplateService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "word模版管理-通过id查询") + @Operation(summary = "word模版管理-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + EoaWordTemplate eoaWordTemplate = eoaWordTemplateService.getById(id); + if (eoaWordTemplate == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(eoaWordTemplate); + } + + /** + * 下载word模版 + * @param id + * @param response + * @return + * @author chenrui + * @date 2025/7/9 14:38 + */ + @GetMapping(value = "/download") + public void downloadTemplate(@RequestParam(name = "id", required = true) String id, HttpServletResponse response) { + AssertUtils.assertNotEmpty("请先选择模版", id); + EoaWordTemplate template = eoaWordTemplateService.getById(id); + try (ByteArrayOutputStream wordTemplateOut = new ByteArrayOutputStream(); + BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());) { + wordTplUtils.generateWordTemplate(template, wordTemplateOut); + String fileName = template.getName(); + String encodedFileName = URLEncoder.encode(fileName, "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); + response.addHeader("Content-Disposition", "attachment;filename=" + encodedFileName + ".docx"); + response.addHeader("filename", encodedFileName + ".docx"); + byte[] bytes = wordTemplateOut.toByteArray(); + response.setHeader("Content-Length", String.valueOf(bytes.length)); + bos.write(bytes); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new JeecgBootException("下载word模版失败: " + e.getMessage(), e); + } + } + + + /** + * 解析word模版文件 + * @param file + * @param id + * @return + * @author chenrui + * @date 2025/7/9 14:38 + */ + @PostMapping(value = "/parse/file") + public Result parseWOrdFile(@RequestParam("file") MultipartFile file) { + try { + InputStream inputStream = file.getInputStream(); + EoaWordTemplate eoaWordTemplate = wordTplUtils.parseWordFile(inputStream); + log.info("解析的模版信息: {}", eoaWordTemplate); + return Result.OK("解析成功", eoaWordTemplate); + } catch (Exception e) { + throw new RuntimeException("解析word模版失败: " + e.getMessage(), e); + } + } + + /** + * 生成word文档 + * + * @param wordTplGenDTO + * @param response + * @author chenrui + * @date 2025/7/10 15:39 + */ + @PostMapping(value = "/generate/word") + public void generateWord(@RequestBody WordTplGenDTO wordTplGenDTO, HttpServletResponse response) { + AssertUtils.assertNotEmpty("参数异常", wordTplGenDTO); + EoaWordTemplate template ; + if (oConvertUtils.isNotEmpty(wordTplGenDTO.getTemplateId())) { + template = eoaWordTemplateService.getById(wordTplGenDTO.getTemplateId()); + }else{ + AssertUtils.assertNotEmpty("请先选择模版", wordTplGenDTO.getTemplateCode()); + template = eoaWordTemplateService.getOne(Wrappers.lambdaQuery(EoaWordTemplate.class) + .eq(EoaWordTemplate::getCode, wordTplGenDTO.getTemplateCode())); + } + AssertUtils.assertNotEmpty("未找到对应的模版", template); + + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());) { + eoaWordTemplateService.generateWordFromTpl(wordTplGenDTO, outputStream); + String fileName = template.getName(); + String encodedFileName = URLEncoder.encode(fileName, "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); + response.addHeader("Content-Disposition", "attachment;filename=" + encodedFileName + ".docx"); + response.addHeader("filename", encodedFileName + ".docx"); + byte[] bytes = outputStream.toByteArray(); + response.setHeader("Content-Length", String.valueOf(bytes.length)); + bos.write(bytes); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new JeecgBootException("生成word文档失败: " + e.getMessage(), e); + } + } + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/MergeColDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/MergeColDTO.java new file mode 100644 index 000000000..ad03e253d --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/MergeColDTO.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import lombok.Data; + +/** + * 合并列DTO + * @author chenrui + * @date 2025/7/4 18:36 + */ +@Data +public class MergeColDTO { + + /** + * 合并列的行号 + */ + private int row; + + /** + * 合并列的起始列号 + */ + private int from; + + /** + * 合并列的结束列号 + */ + private int to; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordImageDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordImageDTO.java new file mode 100644 index 000000000..9b400eff8 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordImageDTO.java @@ -0,0 +1,47 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import lombok.Data; + +/** + * @ClassName: DocImageDto + * @Description: word文档图片用实体类 + * @author chenrui + * @date 2024-10-02 09:17:59 +*/ +@Data +public class WordImageDTO { + + /** + * @Fields type : 类型 + * @author chenrui + * @date 2024-09-29 08:53:27 + */ + private String type = "image"; + /** + * @Fields value : 内容 + * @author chenrui + * @date 2024-09-24 10:20:12 + */ + private String value = ""; + + /** + * @Fields width : 图片宽度 + * @author chenrui + * @date 2024-10-02 09:22:33 + */ + private double width; + + /** + * @Fields height : 图片高度 + * @author chenrui + * @date 2024-10-02 09:22:40 + */ + private double height; + + /** + * @Fields rowFlex : 水平对齐方式,默认left + * @author chenrui + * @date 2024-09-27 09:12:18 + */ + private String rowFlex = "left"; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableCellDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableCellDTO.java new file mode 100644 index 000000000..8cc971aef --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableCellDTO.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import java.util.ArrayList; +import java.util.List; + +import lombok.Data; + +@Data +public class WordTableCellDTO { + + /** + * @Fields colspan : 合并列数 + * @author chenrui + * @date 2024-09-26 09:37:27 + */ + private int colspan; + + /** + * @Fields rowspan : 合并行数 + * @author chenrui + * @date 2024-09-26 09:38:22 + */ + private int rowspan; + + /** + * @Fields value : 单元格数据 + * @author chenrui + * @date 2024-09-26 09:42:14 + */ + private List value = new ArrayList<>(); + + /** + * @Fields verticalAlign : 垂直对齐方式,默认top + * @author chenrui + * @date 2024-09-27 09:16:56 + */ + private String verticalAlign = "top"; + + /** + * @Fields backgroundColor : 背景颜色 + * @author chenrui + * @date 2024-11-18 09:56:28 + */ + private String backgroundColor; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableDTO.java new file mode 100644 index 000000000..3d14e822c --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableDTO.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import java.util.ArrayList; +import java.util.List; + +import com.alibaba.fastjson.JSONObject; + +import lombok.Data; + +@Data +public class WordTableDTO { + + private String value = ""; + + private String type = "table"; + + private List trList; + + private int width; + + private int height; + + private List colgroup = new ArrayList<>(); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableRowDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableRowDTO.java new file mode 100644 index 000000000..f46370fca --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTableRowDTO.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import java.util.List; + +import lombok.Data; + +@Data +public class WordTableRowDTO { + + /** + * @Fields height : 行高 + * @author chenrui + * @date 2024-09-26 09:45:30 + */ + private Integer height; + + /** + * @Fields minHeight : 行最小高度 + * @author chenrui + * @date 2024-09-26 09:47:28 + */ + private int minHeight = 42; + + /** + * @Fields tdList : 行数据 + * @author chenrui + * @date 2024-09-26 09:46:02 + */ + private List tdList; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTextDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTextDTO.java new file mode 100644 index 000000000..845ef8cfd --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTextDTO.java @@ -0,0 +1,94 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import java.util.ArrayList; +import java.util.List; + +import lombok.Data; + +/** + * @author chenrui + * @ClassName: DocTextDto + * @Description: word文本实体类 + * @date 2024-09-24 10:19:57 + */ +@Data +public class WordTextDTO { + + /** + * @Fields type : 类型 + * @author chenrui + * @date 2024-09-29 08:53:27 + */ + private String type; + /** + * @Fields value : 内容 + * @author chenrui + * @date 2024-09-24 10:20:12 + */ + private String value = ""; + + /** + * @Fields bold : 是否加粗 默认false + * @author chenrui + * @date 2024-09-24 10:20:33 + */ + private boolean bold = false; + + /** + * @Fields color : 字体颜色 + * @author chenrui + * @date 2024-09-24 10:21:08 + */ + private String color; + + /** + * @Fields italic : 是否斜体 默认false + * @author chenrui + * @date 2024-09-24 10:21:25 + */ + private boolean italic = false; + + /** + * @Fields underline : 是否下划线 默认false + * @author chenrui + * @date 2024-09-24 10:21:47 + */ + private boolean underline = false; + + /** + * @Fields strikeout : 删除线 默认false + * @author chenrui + * @date 2024-09-24 10:22:06 + */ + private boolean strikeout = false; + + /** + * @Fields size : 字号大小 + * @author chenrui + * @date 2024-09-24 10:44:42 + */ + private int size; + + /** + * @Fields font : 字体,默认微软雅黑 + * @author chenrui + * @date 2024-09-24 10:45:31 + */ + private String font = "微软雅黑"; + + /** + * @Fields highlight : 高亮颜色 + * @author chenrui + * @date 2024-09-25 11:20:23 + */ + private String highlight; + + /** + * @Fields rowFlex : 水平对齐方式,默认left + * @author chenrui + * @date 2024-09-27 09:12:18 + */ + private String rowFlex = "left"; + + private List dashArray = new ArrayList<>(); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTplGenDTO.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTplGenDTO.java new file mode 100644 index 000000000..ff57831ed --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/dto/WordTplGenDTO.java @@ -0,0 +1,31 @@ +package org.jeecg.modules.airag.wordtpl.dto; + +import lombok.Data; + +import java.util.Map; + +/** + * word模版生成入参 + * @author chenrui + * @date 2025/7/10 14:38 + */ +@Data +public class WordTplGenDTO { + + /** + * 模版id + */ + String templateId; + + + /** + * 模版code + */ + String templateCode; + + /** + * 数据 + */ + Map data; + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/entity/EoaWordTemplate.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/entity/EoaWordTemplate.java new file mode 100644 index 000000000..c032df764 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/entity/EoaWordTemplate.java @@ -0,0 +1,126 @@ +package org.jeecg.modules.airag.wordtpl.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: word模版管理 + * @Author: jeecg-boot + * @Date: 2025-07-04 + * @Version: V1.0 + */ +@Data +@TableName("aigc_word_template") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(description = "word模版管理") +public class EoaWordTemplate implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") + private String id; + /** + * 创建人 + */ + @Schema(description = "创建人") + private String createBy; + /** + * 创建日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private Date createTime; + /** + * 更新人 + */ + @Schema(description = "更新人") + private String updateBy; + /** + * 更新日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private Date updateTime; + /** + * 所属部门 + */ + @Schema(description = "所属部门") + private String sysOrgCode; + /** + * 模版名称 + */ + @Excel(name = "模版名称", width = 15) + @Schema(description = "模版名称") + private String name; + /** + * 模版编码 + */ + @Excel(name = "模版编码", width = 15) + @Schema(description = "模版编码") + private String code; + /** + * 页眉 + */ + @Excel(name = "页眉", width = 15) + @Schema(description = "页眉") + private String header; + /** + * 页脚 + */ + @Excel(name = "页脚", width = 15) + @Schema(description = "页脚") + private String footer; + /** + * 主体内容 + */ + @Excel(name = "主体内容", width = 15) + @Schema(description = "主体内容") + private String main; + /** + * 页边距 + */ + @Excel(name = "页边距", width = 15) + @Schema(description = "页边距") + private String margins; + /** + * 宽度 + */ + @Excel(name = "宽度", width = 15) + @Schema(description = "宽度") + private Integer width; + /** + * 高度 + */ + @Excel(name = "高度", width = 15) + @Schema(description = "高度") + private Integer height; + /** + * 纸张方向 vertical纵向 horizontal横向 + */ + @Excel(name = "纸张方向 vertical纵向 horizontal横向", width = 15) + @Schema(description = "纸张方向 vertical纵向 horizontal横向") + private String paperDirection; + /** + * 水印 + */ + @Excel(name = "水印", width = 15) + @Schema(description = "水印") + private String watermark; +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/mapper/EoaWordTemplateMapper.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/mapper/EoaWordTemplateMapper.java new file mode 100644 index 000000000..156cb6412 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/mapper/EoaWordTemplateMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.airag.wordtpl.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.airag.wordtpl.entity.EoaWordTemplate; + +/** + * @Description: word模版管理 + * @Author: jeecg-boot + * @Date: 2025-07-04 + * @Version: V1.0 + */ +public interface EoaWordTemplateMapper extends BaseMapper { + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/mapper/xml/EoaWordTemplateMapper.xml b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/mapper/xml/EoaWordTemplateMapper.xml new file mode 100644 index 000000000..63ed8fe8b --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/mapper/xml/EoaWordTemplateMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/service/IEoaWordTemplateService.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/service/IEoaWordTemplateService.java new file mode 100644 index 000000000..c4f0dfe14 --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/service/IEoaWordTemplateService.java @@ -0,0 +1,26 @@ +package org.jeecg.modules.airag.wordtpl.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.airag.wordtpl.dto.WordTplGenDTO; +import org.jeecg.modules.airag.wordtpl.entity.EoaWordTemplate; + +import java.io.ByteArrayOutputStream; + +/** + * @Description: word模版管理 + * @Author: jeecg-boot + * @Date: 2025-07-04 + * @Version: V1.0 + */ +public interface IEoaWordTemplateService extends IService { + + /** + * 通过模版生成word文档 + * + * @param wordTplGenDTO + * @return + * @author chenrui + * @date 2025/7/10 14:40 + */ + void generateWordFromTpl(WordTplGenDTO wordTplGenDTO, ByteArrayOutputStream wordOutputStream); +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/service/impl/EoaWordTemplateServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/service/impl/EoaWordTemplateServiceImpl.java new file mode 100644 index 000000000..9e3e55a3c --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/service/impl/EoaWordTemplateServiceImpl.java @@ -0,0 +1,85 @@ +package org.jeecg.modules.airag.wordtpl.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.constant.DataBaseConstant; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.common.util.AssertUtils; +import org.jeecg.modules.airag.wordtpl.dto.WordTplGenDTO; +import org.jeecg.modules.airag.wordtpl.entity.EoaWordTemplate; +import org.jeecg.modules.airag.wordtpl.mapper.EoaWordTemplateMapper; +import org.jeecg.modules.airag.wordtpl.service.IEoaWordTemplateService; +import org.jeecg.modules.airag.wordtpl.utils.WordTplUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.*; +import java.util.Map; + +/** + * @Description: word模版管理 + * @Author: jeecg-boot + * @Date: 2025-07-04 + * @Version: V1.0 + */ +@Slf4j +@Service("eoaWordTemplateService") +public class EoaWordTemplateServiceImpl extends ServiceImpl implements IEoaWordTemplateService { + + /** + * 内置的系统变量键列表 + */ + private static final String[] SYSTEM_KEYS = { + DataBaseConstant.SYS_ORG_CODE, DataBaseConstant.SYS_ORG_CODE_TABLE, DataBaseConstant.SYS_MULTI_ORG_CODE, + DataBaseConstant.SYS_MULTI_ORG_CODE_TABLE, DataBaseConstant.SYS_ORG_ID, DataBaseConstant.SYS_ORG_ID_TABLE, + DataBaseConstant.SYS_ROLE_CODE, DataBaseConstant.SYS_ROLE_CODE_TABLE, DataBaseConstant.SYS_USER_CODE, + DataBaseConstant.SYS_USER_CODE_TABLE, DataBaseConstant.SYS_USER_ID, DataBaseConstant.SYS_USER_ID_TABLE, + DataBaseConstant.SYS_USER_NAME, DataBaseConstant.SYS_USER_NAME_TABLE, DataBaseConstant.SYS_DATE, + DataBaseConstant.SYS_DATE_TABLE, DataBaseConstant.SYS_TIME, DataBaseConstant.SYS_TIME_TABLE, + DataBaseConstant.SYS_BASE_PATH + }; + + @Autowired + WordTplUtils wordTplUtils; + + @Override + public void generateWordFromTpl(WordTplGenDTO wordTplGenDTO, ByteArrayOutputStream wordOutputStream) { + AssertUtils.assertNotEmpty("参数异常", wordTplGenDTO); + AssertUtils.assertNotEmpty("模版ID不能为空", wordTplGenDTO.getTemplateId()); + String templateId = wordTplGenDTO.getTemplateId(); + // 生成word模版 date:2025/7/10 + EoaWordTemplate template = getById(templateId); + ByteArrayOutputStream wordTemplateOut = new ByteArrayOutputStream(); + wordTplUtils.generateWordTemplate(template, wordTemplateOut); + //根据word模版和数据生成word文件 + Map data = wordTplGenDTO.getData(); + mergeSystemVarsToData(data); + try { + XWPFTemplate.compile(new ByteArrayInputStream(wordTemplateOut.toByteArray())).render(data).write(wordOutputStream); + }catch (Exception e){ + log.error(e.getMessage(), e); + throw new JeecgBootException("生成word文档失败,请检查模版和数据是否正确"); + } + + } + + /** + * 将系统变量合并到数据中 + * + * @param data + * @author chenrui + * @date 2025/7/3 17:43 + */ + private static void mergeSystemVarsToData(Map data) { + for (String key : SYSTEM_KEYS) { + if (!data.containsKey(key)) { + String value = JwtUtil.getUserSystemData(key, null); + if (value != null) { + data.put(key, value); + } + } + } + } +} \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/utils/WordTplUtils.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/utils/WordTplUtils.java new file mode 100644 index 000000000..91f445e7b --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/utils/WordTplUtils.java @@ -0,0 +1,1095 @@ +package org.jeecg.modules.airag.wordtpl.utils; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.wp.usermodel.HeaderFooterType; +import org.apache.poi.xwpf.usermodel.*; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.util.AssertUtils; +import org.jeecg.common.util.CommonUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.wordtpl.consts.WordTitleEnum; +import org.jeecg.modules.airag.wordtpl.dto.*; +import org.jeecg.modules.airag.wordtpl.entity.EoaWordTemplate; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.*; +import java.math.BigInteger; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: Word模版工具类 + * @Author: chenrui + * @Date: 2025/7/4 10:54 + */ +@Component("jeecgWordTplUtils") +@Slf4j +public class WordTplUtils { + + + @Value(value = "${jeecg.path.upload}") + private String uploadpath; + + /** + * 本地:local minio:minio 阿里:alioss + */ + @Value(value = "${jeecg.uploadType}") + private String uploadType; + + + /** + * 根据设计数据生成word模版 + * + * @param template + * @param outputStream + * @return + * @author chenrui + * @date 2025/7/9 11:14 + */ + public void generateWordTemplate(EoaWordTemplate template, ByteArrayOutputStream outputStream) { + AssertUtils.assertNotEmpty("模版数据不能为空", template); + XWPFDocument doc = new XWPFDocument(); + + //添加自定义标题 + for (int i = 1; i <= 6; i++) { + WordUtil.addCustomHeadingStyle(doc, "标题" + i, i); + } + + // 设置纸张大小 + WordUtil.setPaperSize(doc, template.getHeight(), template.getWidth(), template.getPaperDirection()); + // 设置边距 + JSONArray margins = JSONArray.parseArray(template.getMargins()); + WordUtil.setPaperMargins(doc, margins); + + // TODO author: chenrui for:水印设置 date:2025/7/4 + + // 渲染页眉和页脚 + renderHeaderAndFooter(template, doc); + + // 文档主体渲染 date:2025/7/4 + renderDocumentBody(doc, template); + + // 页码 +// addPageNumbers(doc, 0); + + try { + doc.write(outputStream); + outputStream.flush(); + doc.close(); + } catch (Exception e) { + throw new RuntimeException("生成Word模版失败: " + e.getMessage(), e); + } + } + + /** + * 渲染页眉和页脚 + * + * @param template + * @param doc + * @author chenrui + * @date 2025/7/10 17:52 + */ + private static void renderHeaderAndFooter(EoaWordTemplate template, XWPFDocument doc) { + //页眉 + JSONArray header = JSON.parseArray(template.getHeader()); + if (oConvertUtils.isObjectNotEmpty(header)) { + XWPFHeader docHeader = doc.createHeader(HeaderFooterType.DEFAULT); + XWPFParagraph paragraph = null; + for (int i = 0; i < header.size(); i++) { + String type = header.getJSONObject(i).getString("type") == null ? "" : header.getJSONObject(i).getString("type"); + switch (type) { + case "separator": + if (i == 0 || paragraph == null) { + paragraph = docHeader.createParagraph(); + } + WordUtil.addSeparator(paragraph, header.getJSONObject(i)); + if (i == 0) { + paragraph = null; + } + break; + default: + if (paragraph == null) { + paragraph = docHeader.createParagraph(); + } + WordUtil.addParagraph(paragraph, header.getJSONObject(i), null, true); + break; + } + } + } + //页脚 + JSONArray footer = JSON.parseArray(template.getFooter()); + if (oConvertUtils.isObjectNotEmpty(footer)) { + XWPFFooter docFooter = doc.createFooter(HeaderFooterType.DEFAULT); + XWPFParagraph paragraph = null; + for (int i = 0; i < footer.size(); i++) { + String type = footer.getJSONObject(i).getString("type") == null ? "" : footer.getJSONObject(i).getString("type"); + switch (type) { + case "separator": + if (i == 0 || paragraph == null) { + paragraph = docFooter.createParagraph(); + } + WordUtil.addSeparator(paragraph, footer.getJSONObject(i)); + if (i == 0) { + paragraph = null; + } + break; + default: + if (paragraph == null) { + paragraph = docFooter.createParagraph(); + } + WordUtil.addParagraph(paragraph, footer.getJSONObject(i), null, true); + break; + } + } + } + } + +// [poi5.x] +// private static void addPageNumbers(XWPFDocument doc, int startingNum) { +// CTSectPr sectPr = doc.getDocument().getBody().isSetSectPr() ? doc.getDocument().getBody().getSectPr() +// : doc.getDocument().getBody().addNewSectPr(); +// CTPageNumber pgNum = sectPr.isSetPgNumType() ? sectPr.getPgNumType() : sectPr.addNewPgNumType(); +// pgNum.setStart(BigInteger.valueOf(startingNum)); +// pgNum.setFmt(STNumberFormat.DECIMAL); +// } + + /** + * 渲染文档主体内容 + * + * @param doc + * @param template + * @author chenrui + * @date 2025/7/4 14:00 + */ + private void renderDocumentBody(XWPFDocument doc, EoaWordTemplate template) { + + // TODO author: chenrui for:整理图表???? date:2025/7/4 + + // TODO author: chenrui for:整理条码 date:2025/7/4 + + //文档主体内容 + JSONArray main = JSON.parseArray(template.getMain()); + int abstractNumID = 1; + if (oConvertUtils.isObjectNotEmpty(main)) { + XWPFParagraph paragraph = null; + String lastType = ""; + for (int i = 0; i < main.size(); i++) { + JSONObject content = main.getJSONObject(i); + String type = content.getString("type") == null ? "" : content.getString("type"); + switch (type) { + case "": + if (content.getString("value").startsWith("\n") || + (!type.equals(lastType) && !"tab".equals(lastType) + && !"superscript".equals(lastType) + && !"subscript".equals(lastType) + && !"separator".equals(lastType) + && !"hyperlink".equals(lastType))) { + content.put("value", content.getString("value").replaceFirst("\n", "")); + paragraph = doc.createParagraph(); + } + if ("separator".equals(lastType)) { + String value = content.getString("value"); + if (oConvertUtils.isObjectNotEmpty(value) && value.startsWith("\n")) { + content.put("value", value.replaceFirst("\n", "")); + } + } + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addParagraph(paragraph, content, null, false); + break; + case "title": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addTitleParagraph(paragraph, content); + break; + case "tab": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addTab(paragraph, null); + break; + case "table": + abstractNumID = WordUtil.addTable(doc, content, abstractNumID); + break; + case "superscript": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addSubSupScript(paragraph, content, "sup"); + break; + case "subscript": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addSubSupScript(paragraph, content, "sub"); + break; + case "separator": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addSeparator(paragraph, content); + break; + case "list": + abstractNumID = WordUtil.addList(doc, content, abstractNumID); + break; + case "hyperlink": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addHyperlink(paragraph, content); + break; + case "pageBreak": + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + WordUtil.addPageBreak(paragraph); + break; + case "image": +// String chartUrlPrefix = MessageUtil.getValue("chart.url.prefix"); + String url = content.getString("value"); + if (paragraph == null) { + paragraph = doc.createParagraph(); + } + // TODO author: chenrui for:图表和条码 date:2025/7/4 +// if (url.contains(chartUrlPrefix)) { +// //图表 +// if (!StringUtil.isEmptyMap(docTplChartsMap)) { +// if (docTplChartsMap.containsKey(url)) { +// DocTplCharts tplCharts = docTplChartsMap.get(url).get(0); +// DocChartSettingDto docChartSettingDto = new DocChartSettingDto(); +// BeanUtils.copyProperties(tplCharts, docChartSettingDto); +// WordUtil.addChart(doc, paragraph, content, dynamicData, isTemplate, docChartSettingDto); +// } else { +// WordUtil.addImage(paragraph, content); +// } +// } else if (!StringUtil.isEmptyMap(docTplCodesMap)) { +// if (docTplCodesMap.containsKey(url) && !isTemplate) { +// DocTplCodes tplCodes = docTplCodesMap.get(url).get(0); +// Map data = null; +// if (dynamicData.get(tplCodes.getDatasetName()) != null) { +// Object obj = dynamicData.get(tplCodes.getDatasetName()); +// if (obj instanceof List) { +// List> datas = (List>) obj; +// data = datas.get(0); +// } else { +// data = (Map) dynamicData.get(tplCodes.getDatasetName()); +// } +// +// } +// int width = content.getIntValue("width"); +// int height = content.getIntValue("height"); +// if (data != null) { +// Object value = data.get(tplCodes.getValueField()); +// if (value != null) { +// byte[] codeByte = null; +// if (tplCodes.getCodeType().intValue() == 1) { +// codeByte = BarCodeUtil.generateBarcodeImage(String.valueOf(value), width, height); +// } else { +// codeByte = QRCodeUtil.generateQRCodeImage(String.valueOf(value), width, height); +// } +// WordUtil.addImage(paragraph, content, codeByte); +// } +// } +// } else { +// WordUtil.addImage(paragraph, content); +// } +// } else { +// WordUtil.addImage(paragraph, content); +// } +// } else { + //图片 + WordUtil.addImage(paragraph, content); +// } + break; + default: + if (content.getString("value").startsWith("\n") || + (!type.equals(lastType) && !"tab".equals(lastType) + && !"superscript".equals(lastType) + && !"subscript".equals(lastType) + && !"separator".equals(lastType))) { + content.put("value", content.getString("value").replaceFirst("\n", "")); + paragraph = doc.createParagraph(); + } + if ("separator".equals(lastType)) { + String value = content.getString("value"); + if (oConvertUtils.isObjectNotEmpty(value) && value.startsWith("\n")) { + content.put("value", value.replaceFirst("\n", "")); + } + } + WordUtil.addParagraph(paragraph, content, null, false); + break; + } + lastType = type; + } + } + } + + public EoaWordTemplate parseWordFile(InputStream wordFileIs) throws Exception { + AssertUtils.assertNotEmpty("请上传word文档", wordFileIs); + EoaWordTemplate template = new EoaWordTemplate(); + XWPFDocument xwpfDocument = new XWPFDocument(wordFileIs); + CTSectPr sectPr = xwpfDocument.getDocument().getBody().getSectPr(); + if (sectPr != null) { + if (sectPr.getPgSz().getOrient() != null) { + if ("landscape".equals(String.valueOf(sectPr.getPgSz().getOrient()))) { + template.setPaperDirection("horizontal"); + } + } + // [poi 5.x版本] getW() 和 getH() 返回 Object,需要强转为 BigInteger + BigInteger w = (BigInteger) sectPr.getPgSz().getW(); + double width = Math.ceil((double) w.intValue() / 20 * 1.33445); + BigInteger h = (BigInteger) sectPr.getPgSz().getH(); + double height = Math.ceil((double) h.intValue() / 20 * 1.33445); + if ("horizontal".equals(template.getPaperDirection())) { + template.setHeight((int) width); + template.setWidth((int) height); + } else { + template.setHeight((int) height); + template.setWidth((int) width); + } + } + List headerElements = new ArrayList<>(); + List headers = xwpfDocument.getHeaderList(); + if (oConvertUtils.isObjectNotEmpty(headers)) { + for (int i = 0; i < headers.size(); i++) { + XWPFHeader header = headers.get(i); + List paragraphs = header.getParagraphs(); + if (oConvertUtils.isObjectNotEmpty(paragraphs)) { + for (int j = 0; j < paragraphs.size(); j++) { + parseTextParagraph(paragraphs.get(j), headerElements, j == 0); + } + } + } + } + List footerElements = new ArrayList<>(); + List footers = xwpfDocument.getFooterList(); + if (oConvertUtils.isObjectNotEmpty(footers)) { + for (int i = 0; i < footers.size(); i++) { + XWPFFooter footer = footers.get(i); + List paragraphs = footer.getParagraphs(); + if (oConvertUtils.isObjectNotEmpty(paragraphs)) { + for (int j = 0; j < paragraphs.size(); j++) { + parseTextParagraph(paragraphs.get(j), footerElements, j == 0); + } + } + } + } + + List documentElements = new ArrayList<>(); + + List bodyElements = xwpfDocument.getBodyElements(); + if (oConvertUtils.isObjectNotEmpty(bodyElements)) { + Map listMap = new HashMap<>(); + for (int i = 0; i < bodyElements.size(); i++) { + IBodyElement iBodyElement = bodyElements.get(i); + if (iBodyElement instanceof XWPFParagraph) { + XWPFParagraph paragraph = (XWPFParagraph) iBodyElement; + parseParagraph(paragraph, documentElements, listMap, i == 0); + } else if (iBodyElement instanceof XWPFTable) { + parseTable((XWPFTable) iBodyElement, documentElements); + } + + } + } + xwpfDocument.close(); + template.setMain(JSON.toJSONString(documentElements)); + template.setHeader(JSON.toJSONString(headerElements)); + template.setFooter(JSON.toJSONString(footerElements)); + return template; + } + + private void parseParagraph(XWPFParagraph paragraph, List documentElements, Map listMap, boolean isFirst) throws Exception { + if (paragraph.getNumID() != null) { + JSONObject listObj = null; + if (listMap.containsKey(paragraph.getNumID())) { + listObj = listMap.get(paragraph.getNumID()); + } else { + String listStyle = "decimal"; + String listType = "ol"; + try { + if ("bullet".equals(paragraph.getNumFmt())) { + listStyle = "disc"; + listType = "ul"; + } + } catch (Exception ignored) { + } + listObj = new JSONObject(); + listObj.put("value", ""); + listObj.put("type", "list"); + listObj.put("listType", listType); + listObj.put("listStyle", listStyle); + List valueList = new ArrayList<>(); + listObj.put("valueList", valueList); + listMap.put(paragraph.getNumID(), listObj); + documentElements.add(listObj); + } + parseListParagraph(paragraph, listObj); + } else if (paragraph.getStyle() != null) { + parseTitleParagraph(paragraph, documentElements); + } else { + parseTextParagraph(paragraph, documentElements, isFirst); + } + } + + private void parseTable(XWPFTable table, List documentElements) throws Exception { + List colgroup = new ArrayList<>(); + WordTableDTO wordTableDto = new WordTableDTO(); + int height = 0; + List rows = table.getRows(); + Map mergeCells = new HashMap<>(); + List wordTableRowDTOS = new ArrayList<>(); + for (int i = 0; i < rows.size(); i++) { + List cells = rows.get(i).getTableCells(); + for (int j = 0; j < cells.size(); j++) { + XWPFTableCell cell = cells.get(j); + if (cell == null) { + continue; + } + if (cell.getCTTc().getTcPr().getGridSpan() != null) { + int colspan = cell.getCTTc().getTcPr().getGridSpan().getVal().intValue(); + for (int k = 1; k < colspan; k++) { + rows.get(i).getTableCells().add(j + k, null); + } + } + } + } + for (int i = 0; i < rows.size(); i++) { + WordTableRowDTO wordTableRowDto = new WordTableRowDTO(); + height = height + rows.get(i).getHeight(); + wordTableRowDto.setHeight(rows.get(i).getHeight()); + List wordTableCellDtos = new ArrayList<>(); + List cells = rows.get(i).getTableCells(); + for (int j = 0; j < cells.size(); j++) { + XWPFTableCell cell = cells.get(j); + if (cell == null || mergeCells.containsKey(i + "_" + j)) { + continue; + } + WordTableCellDTO wordTableCellDto = new WordTableCellDTO(); + int colspan = 1; + int rowspan = 1; + wordTableCellDto.setColspan(colspan); + wordTableCellDto.setRowspan(rowspan); + if (oConvertUtils.isObjectNotEmpty(cell.getColor())) { + wordTableCellDto.setBackgroundColor("#" + cell.getColor()); + } + if (cell.getCTTc().getTcPr().getGridSpan() != null) { + wordTableCellDto.setColspan(cell.getCTTc().getTcPr().getGridSpan().getVal().intValue()); + } + if (i == 0) { + int width = 25; + try { + width = cell.getWidth() / 16; + } catch (Exception e) { + log.warn("WordTplUtils parseTable getWidth error: {}", e.getMessage()); + } + width = width / wordTableCellDto.getColspan(); + for (int k = 0; k < wordTableCellDto.getColspan(); k++) { + JSONObject col = new JSONObject(); + col.put("width", width); + colgroup.add(col); + } + } + if (cell.getCTTc().getTcPr().getVMerge() != null && cell.getCTTc().getTcPr().getVMerge().getVal() != null && "restart".equals(cell.getCTTc().getTcPr().getVMerge().getVal().toString())) { + getRowSpan(i, j, wordTableCellDto, mergeCells, rows); + } + List cellParagraph = cell.getParagraphs(); + if (oConvertUtils.isObjectNotEmpty(cellParagraph)) { + List docTextDtos = new ArrayList<>(); + for (int k = 0; k < cellParagraph.size(); k++) { + parseParagraph(cellParagraph.get(k), docTextDtos, new HashMap<>(), k == 0); + } + wordTableCellDto.setValue(docTextDtos); + } + if (cell.getVerticalAlignment() != null) { + if (cell.getVerticalAlignment() == XWPFTableCell.XWPFVertAlign.TOP) { + wordTableCellDto.setVerticalAlign("top"); + } else if (cell.getVerticalAlignment() == XWPFTableCell.XWPFVertAlign.BOTTOM) { + wordTableCellDto.setVerticalAlign("bottom"); + } else if (cell.getVerticalAlignment() == XWPFTableCell.XWPFVertAlign.CENTER) { + wordTableCellDto.setVerticalAlign("bottom"); + } + } + wordTableCellDtos.add(wordTableCellDto); + } + wordTableRowDto.setTdList(wordTableCellDtos); + wordTableRowDTOS.add(wordTableRowDto); + } + wordTableDto.setWidth(table.getWidth()); + wordTableDto.setHeight(height); + wordTableDto.setTrList(wordTableRowDTOS); + wordTableDto.setColgroup(colgroup); + documentElements.add(wordTableDto); + } + + private void parseListParagraph(XWPFParagraph paragraph, JSONObject listObj) { + List valueList = (List) listObj.get("valueList"); + List runs = paragraph.getRuns(); + if (oConvertUtils.isObjectNotEmpty(runs)) { + for (int i = 0; i < runs.size(); i++) { + WordTextDTO wordTextDTO = new WordTextDTO(); + XWPFRun xwpfRun = runs.get(i); + String text = String.valueOf(xwpfRun); + if (text.equals("\t")) { + wordTextDTO.setType("tab"); + if (i == 0) { + text = "\n" + text; + } + wordTextDTO.setValue(text); + valueList.add(wordTextDTO); + continue; + } + if (i == 0 && !text.startsWith("\n")) { + text = "\n" + text; + } + wordTextDTO.setValue(text); + if (oConvertUtils.isObjectNotEmpty(xwpfRun.getColor())) { + wordTextDTO.setColor("#" + xwpfRun.getColor()); + } + if (xwpfRun.isBold()) { + wordTextDTO.setBold(true); + } + if (xwpfRun.isItalic()) { + wordTextDTO.setItalic(true); + } + if (xwpfRun.isStrikeThrough()) { + wordTextDTO.setStrikeout(true); + } + if (xwpfRun.getUnderline().getValue() != UnderlinePatterns.NONE.getValue()) { + wordTextDTO.setUnderline(true); + } + wordTextDTO.setSize((int) (xwpfRun.getFontSize() == -1 ? 14 : xwpfRun.getFontSize() * 1.33445)); + if (oConvertUtils.isObjectNotEmpty(xwpfRun.getFontFamily())) { + wordTextDTO.setFont(xwpfRun.getFontFamily()); + } + // [poi 5.x版本] 获取高亮颜色 + if (xwpfRun.isHighlighted()) { + String color = WordUtil.getHighlightByName(xwpfRun.getTextHighlightColor().toString()); + if (oConvertUtils.isObjectNotEmpty(color)) { + wordTextDTO.setHighlight(color); + } + } + // [poi 4.x版本] 获取高亮颜色 +// if (xwpfRun.getCTR() != null && xwpfRun.getCTR().getRPr() != null && xwpfRun.getCTR().getRPr().isSetHighlight()) { +// String highlightVal = xwpfRun.getCTR().getRPr().getHighlight().getVal().toString(); +// String color = WordUtil.getHighlightByName(highlightVal); +// if (oConvertUtils.isObjectNotEmpty(color)) { +// wordTextDTO.setHighlight(color); +// } +// } + valueList.add(wordTextDTO); + } + } + } + + private void parseTitleParagraph(XWPFParagraph paragraph, List documentElements) { + boolean isSeperator = isSeperator(paragraph); + JSONObject titleParagraph = new JSONObject(); + titleParagraph.put("value", ""); + titleParagraph.put("type", "title"); + List valueList = new ArrayList<>(); + titleParagraph.put("valueList", valueList); + int titleFontSize = 26; + String level = WordTitleEnum.FIRST.getCode(); + if ("1".equals(paragraph.getStyle())) { + level = WordTitleEnum.FIRST.getCode(); + } else if ("2".equals(paragraph.getStyle())) { + titleFontSize = 24; + level = WordTitleEnum.SECOND.getCode(); + } else if ("3".equals(paragraph.getStyle())) { + titleFontSize = 22; + level = WordTitleEnum.THIRD.getCode(); + } else if ("4".equals(paragraph.getStyle())) { + titleFontSize = 20; + level = WordTitleEnum.FOURTH.getCode(); + } else if ("5".equals(paragraph.getStyle())) { + titleFontSize = 18; + level = WordTitleEnum.FIFTH.getCode(); + } else if ("6".equals(paragraph.getStyle())) { + titleFontSize = 16; + level = WordTitleEnum.SIXTH.getCode(); + } + titleParagraph.put("level", level); + List runs = paragraph.getRuns(); + if (oConvertUtils.isObjectNotEmpty(runs)) { + for (int i = 0; i < runs.size(); i++) { + WordTextDTO wordTextDTO = new WordTextDTO(); + XWPFRun xwpfRun = runs.get(i); + String text = String.valueOf(xwpfRun); + wordTextDTO.setValue(text == null ? "" : text); + wordTextDTO.setBold(true); + wordTextDTO.setSize(titleFontSize); + if (paragraph.getAlignment() != null) { + if (paragraph.getAlignment().getValue() == ParagraphAlignment.LEFT.getValue()) { + wordTextDTO.setRowFlex("left"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.RIGHT.getValue()) { + wordTextDTO.setRowFlex("right"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.CENTER.getValue()) { + wordTextDTO.setRowFlex("center"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.BOTH.getValue()) { + wordTextDTO.setRowFlex("alignment"); + } + } + valueList.add(wordTextDTO); + } + } + documentElements.add(titleParagraph); + if (isSeperator) { + WordTextDTO wordTextDTO = new WordTextDTO(); + wordTextDTO.setType("separator"); + wordTextDTO.setRowFlex("left"); + wordTextDTO.setValue("\n"); + CTP ctp = paragraph.getCTP(); + CTPPr pr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); + CTPBdr border = pr.isSetPBdr() ? pr.getPBdr() : pr.addNewPBdr(); + CTBorder ct = border.isSetBottom() ? border.getBottom() : border.addNewBottom(); + int seperatorType = ct.getVal().intValue(); + List dashArray = new ArrayList<>(); + switch (seperatorType) { + case 3: + break; + case 6: + dashArray.add(1); + dashArray.add(1); + wordTextDTO.setDashArray(dashArray); + break; + case 7: + dashArray.add(4); + dashArray.add(4); + wordTextDTO.setDashArray(dashArray); + break; + case 8: + dashArray.add(7); + dashArray.add(3); + dashArray.add(3); + dashArray.add(3); + wordTextDTO.setDashArray(dashArray); + break; + case 9: + dashArray.add(6); + dashArray.add(2); + dashArray.add(2); + dashArray.add(2); + dashArray.add(2); + dashArray.add(2); + wordTextDTO.setDashArray(dashArray); + break; + case 22: + dashArray.add(3); + dashArray.add(1); + wordTextDTO.setDashArray(dashArray); + break; + default: + break; + } + documentElements.add(wordTextDTO); + } + } + + private void parseTextParagraph(XWPFParagraph paragraph, List documentElements, boolean isFirst) throws Exception { + List runs = paragraph.getRuns(); + boolean isSeperator = isSeperator(paragraph); + if (oConvertUtils.isObjectNotEmpty(runs)) { + for (int i = 0; i < runs.size(); i++) { + WordTextDTO wordTextDto = new WordTextDTO(); + XWPFRun xwpfRun = runs.get(i); + List brList = xwpfRun.getCTR().getBrList(); + if (oConvertUtils.isObjectNotEmpty(brList)) { + for (CTBr br : brList) { + if (br.getType() == STBrType.PAGE) { + WordTextDTO pageBreak = new WordTextDTO(); + pageBreak.setType("pageBreak"); + pageBreak.setValue("\n"); + documentElements.add(pageBreak); + } + } + } + List pictures = xwpfRun.getEmbeddedPictures(); + if (oConvertUtils.isObjectNotEmpty(pictures)) { + if (i == runs.size() - 1) { + WordTextDTO breakWordTextDto = new WordTextDTO(); + breakWordTextDto.setValue("\n"); + documentElements.add(breakWordTextDto); + } + for (int j = 0; j < pictures.size(); j++) { + WordImageDTO wordImageDto = new WordImageDTO(); + XWPFPicture picture = pictures.get(j); + byte[] bytes = picture.getPictureData().getData(); + BufferedImage image = ImageIO.read(new ByteArrayInputStream(bytes)); + MultipartFile file = new CustomMultipartFile("file", picture.getPictureData().getFileName(), "application/octet-stream", bytes); + String url = this.uploadFile(file, "wordTplAssets"); + wordImageDto.setValue(url); + wordImageDto.setWidth(image.getWidth()); + wordImageDto.setHeight(image.getHeight()); + if (paragraph.getAlignment() != null) { + if (paragraph.getAlignment().getValue() == ParagraphAlignment.LEFT.getValue()) { + wordImageDto.setRowFlex("left"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.RIGHT.getValue()) { + wordImageDto.setRowFlex("right"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.CENTER.getValue()) { + wordImageDto.setRowFlex("center"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.BOTH.getValue()) { + wordImageDto.setRowFlex("alignment"); + } + } + documentElements.add(wordImageDto); + } + continue; + } + String text = String.valueOf(xwpfRun); + if (text.equals("\t")) { + if (paragraph.getAlignment() != null) { + if (paragraph.getAlignment().getValue() == ParagraphAlignment.LEFT.getValue()) { + wordTextDto.setRowFlex("left"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.RIGHT.getValue()) { + wordTextDto.setRowFlex("right"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.CENTER.getValue()) { + wordTextDto.setRowFlex("center"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.BOTH.getValue()) { + wordTextDto.setRowFlex("alignment"); + } + } + wordTextDto.setType("tab"); + if (i == 0 && !isFirst) { + text = "\n" + text; + } + wordTextDto.setValue(text); + documentElements.add(wordTextDto); + continue; + } + if (i == 0 && !isFirst) { + text = "\n" + text; + } + String scriptType = getSupSubScriptType(xwpfRun); + if (oConvertUtils.isObjectNotEmpty(scriptType)) { + wordTextDto.setType(scriptType); + } + wordTextDto.setValue(text); + if (oConvertUtils.isObjectNotEmpty(xwpfRun.getColor())) { + wordTextDto.setColor("#" + xwpfRun.getColor()); + } + if (xwpfRun.isBold()) { + wordTextDto.setBold(true); + } + if (xwpfRun.isItalic()) { + wordTextDto.setItalic(true); + } + if (xwpfRun.isStrikeThrough()) { + wordTextDto.setStrikeout(true); + } + if (xwpfRun.getUnderline().getValue() != UnderlinePatterns.NONE.getValue()) { + wordTextDto.setUnderline(true); + } + wordTextDto.setSize((int) (xwpfRun.getFontSize() == -1 ? 14 : xwpfRun.getFontSize() * 1.33445)); + if (oConvertUtils.isObjectNotEmpty(xwpfRun.getFontFamily())) { + wordTextDto.setFont(xwpfRun.getFontFamily()); + } + // [poi 5.x版本] 获取高亮颜色 + if (xwpfRun.isHighlighted()) { + String color = WordUtil.getHighlightByName(xwpfRun.getTextHighlightColor().toString()); + if (oConvertUtils.isObjectNotEmpty(color)) { + wordTextDto.setHighlight(color); + } + } + // [poi 4.x版本] 获取高亮颜色 +// if (xwpfRun.getCTR() != null && xwpfRun.getCTR().getRPr() != null && xwpfRun.getCTR().getRPr().isSetHighlight()) { +// String highlightVal = xwpfRun.getCTR().getRPr().getHighlight().getVal().toString(); +// String color = WordUtil.getHighlightByName(highlightVal); +// if (oConvertUtils.isObjectNotEmpty(color)) { +// wordTextDto.setHighlight(color); +// } +// } + if (paragraph.getAlignment() != null) { + if (paragraph.getAlignment().getValue() == ParagraphAlignment.LEFT.getValue()) { + wordTextDto.setRowFlex("left"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.RIGHT.getValue()) { + wordTextDto.setRowFlex("right"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.CENTER.getValue()) { + wordTextDto.setRowFlex("center"); + } else if (paragraph.getAlignment().getValue() == ParagraphAlignment.BOTH.getValue()) { + wordTextDto.setRowFlex("alignment"); + } + } + documentElements.add(wordTextDto); + } + } + if (isSeperator) { + WordTextDTO wordTextDto = new WordTextDTO(); + wordTextDto.setType("separator"); + wordTextDto.setRowFlex("left"); + wordTextDto.setValue("\n"); + CTP ctp = paragraph.getCTP(); + CTPPr pr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); + CTPBdr border = pr.isSetPBdr() ? pr.getPBdr() : pr.addNewPBdr(); + CTBorder ct = border.isSetBottom() ? border.getBottom() : border.addNewBottom(); + int seperatorType = ct.getVal().intValue(); + List dashArray = new ArrayList<>(); + switch (seperatorType) { + case 3: + break; + case 6: + dashArray.add(1); + dashArray.add(1); + wordTextDto.setDashArray(dashArray); + break; + case 7: + dashArray.add(4); + dashArray.add(4); + wordTextDto.setDashArray(dashArray); + break; + case 8: + dashArray.add(7); + dashArray.add(3); + dashArray.add(3); + dashArray.add(3); + wordTextDto.setDashArray(dashArray); + break; + case 9: + dashArray.add(6); + dashArray.add(2); + dashArray.add(2); + dashArray.add(2); + dashArray.add(2); + dashArray.add(2); + wordTextDto.setDashArray(dashArray); + break; + case 22: + dashArray.add(3); + dashArray.add(1); + wordTextDto.setDashArray(dashArray); + break; + default: + break; + } + documentElements.add(wordTextDto); + } + } + + private void getRowSpan(int r, int c, WordTableCellDTO wordTableCellDto, Map mergeCells, List rows) { + for (int i = (r + 1); i < rows.size(); i++) { + List cells = rows.get(i).getTableCells(); + if (c <= (cells.size() - 1)) { + XWPFTableCell cell = cells.get(c); + if (cell != null && cell.getCTTc().getTcPr().getVMerge() != null && cell.getCTTc().getTcPr().getVMerge().getVal() == null) { + wordTableCellDto.setRowspan(wordTableCellDto.getRowspan() + 1); + mergeCells.put(i + "_" + c, "1"); + } else { + break; + } + } + } + } + + /** + * 是否分隔符 + * + * @param paragraph + * @return + * @author chenrui + * @date 2025/7/9 11:40 + */ + private boolean isSeperator(XWPFParagraph paragraph) { + boolean result = true; + CTP ctp = paragraph.getCTP(); + if (ctp == null) { + return false; + } + CTPPr pr = ctp.getPPr(); + if (pr == null) { + return false; + } + CTPBdr border = pr.getPBdr(); + if (border == null) { + return false; + } + CTBorder ct = border.getBottom(); + if (ct == null) { + return false; + } + return result; + } + + /** + * 获取上下标 + * + * @param run + * @return + * @author chenrui + * @date 2025/7/9 12:07 + */ + private String getSupSubScriptType(XWPFRun run) { + String result = ""; + // [poi 5.x版本] 获取上下标 + if (run.getCTR().getRPr() != null && run.getCTR().getRPr().getVertAlignArray() != null && run.getCTR().getRPr().getVertAlignArray().length > 0) { + CTVerticalAlignRun CTVerticalAlignRun = run.getCTR().getRPr().getVertAlignArray()[0]; + result = String.valueOf(CTVerticalAlignRun.getVal()); + } + + // [poi 4.x版本] 获取上下标 +// if (run.getCTR() != null) { +// if (run.getCTR().getRPr() != null) { +// if (run.getCTR().getRPr() != null && run.getCTR().getRPr().isSetVertAlign()) { +// CTVerticalAlignRun ctVerticalAlignRun = run.getCTR().getRPr().getVertAlign(); +// result = String.valueOf(ctVerticalAlignRun.getVal()); +// } +// } +// } + return result; + } + + /** + * 上传文件 + * + * @param file + * @return + * @author chenrui + * @date 2025/7/7 18:40 + */ + private String uploadFile(MultipartFile file, String bizPath) { + String savePath; + if (CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)) { + savePath = CommonUtils.uploadLocal(file, bizPath, uploadpath); + } else { + savePath = CommonUtils.upload(file, bizPath, uploadType); + } + return savePath; + } + + + public static void main(String[] args) { + EoaWordTemplate template = new EoaWordTemplate(); + template.setHeight(1123); + template.setWidth(794); + template.setPaperDirection("vertical"); + template.setMargins("[25.4,31.8,25.4,31.8]"); +// template.setMain("[{\"value\":\"\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"\",\"type\":\"title\",\"valueList\":[{\"value\":\"会\",\"font\":\"微软雅黑\",\"size\":26,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"议\",\"font\":\"微软雅黑\",\"size\":26,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"纪\",\"font\":\"微软雅黑\",\"size\":26,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]},{\"value\":\"要\",\"font\":\"微软雅黑\",\"size\":26,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"center\",\"dashArray\":[]}],\"level\":\"first\"},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#FF0000\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"一\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"、\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"会\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"议\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"时\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"间\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"ml.meeting_time\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\"},{\"value\":\"}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"二\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"、\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"会\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"议\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"地\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"点\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{{ml.location}}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\"},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"三\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"、\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"会\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"议\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"议\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"题\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{ml.agenda}}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\"},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"四\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"、\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"会\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"议\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"主\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"持\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"人\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{{ml.moderator}}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\"},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"五\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"、\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"参\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"会\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"人\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"员\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\":\",\"font\":\"宋体\",\"size\":16,\"bold\":true,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{{ml.attendees}}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\"},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\",\"dashArray\":[]},{\"value\":\"{{ml.content}}\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"left\"},{\"value\":\"\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\",\"dashArray\":[]},{\"value\":\"{{ml.formatted_date}}\\n\",\"font\":\"宋体\",\"size\":16,\"bold\":false,\"color\":\"#auto\",\"italic\":false,\"underline\":false,\"strikeout\":false,\"rowFlex\":\"right\"},{\"value\":\"http://localhost:9099/images/2025-07-03/1940720058774863873.png?t=1751538693508\",\"type\":\"image\",\"rowFlex\":\"right\",\"width\":137.64250695113952,\"height\":125.02599781096147,\"imgDisplay\":\"float-top\",\"imgFloatPosition\":{\"x\":551.6720123291016,\"y\":358.7252540588379,\"pageNo\":0}},{\"value\":\" \",\"rowFlex\":\"right\"}]"); + template.setMain("[{\"value\":\" \\n\\n222222222222\\n2222222222\"},{\"value\":\"http://localhost:9099/images/2025-07-08/1942502516700803074.png?t=1751963664591\",\"type\":\"image\",\"width\":200,\"height\":200,\"imgDisplay\":\"float-top\",\"imgFloatPosition\":{\"x\":232.421875,\"y\":111,\"pageNo\":0}},{\"value\":\"22222212312312312333333333333333333333333333333333\"}]"); + + WordTplUtils utils = new WordTplUtils(); + ByteArrayOutputStream wordTemplateOut = new ByteArrayOutputStream(); + utils.generateWordTemplate(template, wordTemplateOut); + try (FileOutputStream fos = new FileOutputStream("/Users/chenrui/work/temp/testWordTpl/test.docx")) { + wordTemplateOut.writeTo(fos); + fos.flush(); + //System.out.println("Word模版已保存到本地文件。"); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + /** + * 自定义的MultipartFile + */ + private static class CustomMultipartFile implements MultipartFile { + private final File file; + private final byte[] content; + private final String name; + private final String originalFilename; + private final String contentType; + + // 通过 File 构造 + public CustomMultipartFile(File file, String name, String contentType) { + this.file = file; + this.content = null; + this.name = name; + this.originalFilename = file.getName(); + this.contentType = contentType; + } + + // 通过字节数组构造 + public CustomMultipartFile(String name, String originalFilename, String contentType, byte[] content) { + this.file = null; + this.content = content; + this.name = name; + this.originalFilename = originalFilename; + this.contentType = contentType; + } + + @Override + public String getName() { + return name; + } + + @Override + public String getOriginalFilename() { + return originalFilename; + } + + @Override + public String getContentType() { + return contentType; + } + + @Override + public boolean isEmpty() { + if (file != null) { + return file.length() == 0; + } + return content == null || content.length == 0; + } + + @Override + public long getSize() { + if (file != null) { + return file.length(); + } + return content == null ? 0 : content.length; + } + + @Override + public byte[] getBytes() throws IOException { + if (file != null) { + try (FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream baos = new ByteArrayOutputStream()) { + byte[] buffer = new byte[4096]; + int len; + while ((len = fis.read(buffer)) != -1) { + baos.write(buffer, 0, len); + } + return baos.toByteArray(); + } + } + return content; + } + + @Override + public InputStream getInputStream() throws IOException { + if (file != null) { + return Files.newInputStream(file.toPath()); + } + return new ByteArrayInputStream(content); + } + + @Override + public void transferTo(File dest) throws IOException { + if (file != null) { + try (InputStream in = getInputStream(); OutputStream out = Files.newOutputStream(dest.toPath())) { + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = in.read(buffer)) != -1) { + out.write(buffer, 0, bytesRead); + } + } + } else if (content != null) { + try (OutputStream out = Files.newOutputStream(dest.toPath())) { + out.write(content); + } + } + } + } + + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/utils/WordUtil.java b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/utils/WordUtil.java new file mode 100644 index 000000000..534b2139f --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/wordtpl/utils/WordUtil.java @@ -0,0 +1,1340 @@ +package org.jeecg.modules.airag.wordtpl.utils; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.deepoove.poi.util.TableTools; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.util.Units; +import org.apache.poi.xwpf.usermodel.*; +import org.apache.xmlbeans.XmlException; +import org.apache.xmlbeans.XmlToken; +import org.apache.xmlbeans.impl.xb.xmlschema.SpaceAttribute; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.wordtpl.consts.WordTitleEnum; +import org.jeecg.modules.airag.wordtpl.dto.MergeColDTO; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.*; + +import java.io.*; +import java.math.BigInteger; +import java.net.URL; +import java.net.URLConnection; +import java.net.URLEncoder; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +/** + * word工具类 + * + * @author chenrui + * @date 2025/7/8 17:22 + */ +@Slf4j +public class WordUtil { + + + /** + * 正则表达式:是否是网页 + */ + public static final Pattern WEB_PATTERN = Pattern.compile("^(http|https)://.*"); + + /** + * 添加自定义标题样式 + * + * @param doc + * @param strStyleId + * @param headingLevel + * @author chenrui + * @date 2025/7/4 11:08 + */ + public static void addCustomHeadingStyle(XWPFDocument doc, String strStyleId, int headingLevel) { + // 创建一个新的样式对象,并设置样式ID + CTStyle ctStyle = CTStyle.Factory.newInstance(); + ctStyle.setStyleId(strStyleId); + + // 设置样式名称 + CTString styleName = CTString.Factory.newInstance(); + styleName.setVal(strStyleId); + ctStyle.setName(styleName); + + // 设置样式优先级,数字越小越突出 + CTDecimalNumber indentNumber = CTDecimalNumber.Factory.newInstance(); + indentNumber.setVal(BigInteger.valueOf(headingLevel)); + ctStyle.setUiPriority(indentNumber); + + // 设置样式在样式栏中可见 + CTOnOff onoffnull = CTOnOff.Factory.newInstance(); + ctStyle.setUnhideWhenUsed(onoffnull); + + // [poi5.x]设置段落属性,指定大纲级别(即标题级别) + CTPPrGeneral ctpPrGeneral = CTPPrGeneral.Factory.newInstance(); + ctpPrGeneral.setOutlineLvl(indentNumber); + ctStyle.setPPr(ctpPrGeneral); + +// // [poi4.x]设置段落属性,指定大纲级别(即标题级别) +// CTPPr ctpPr = CTPPr.Factory.newInstance(); +// ctpPr.setOutlineLvl(indentNumber); +// ctStyle.setPPr(ctpPr); + + // 创建 XWPFStyle 并添加到文档样式集合中 + XWPFStyle style = new XWPFStyle(ctStyle); + XWPFStyles styles = doc.createStyles(); + style.setType(STStyleType.PARAGRAPH); + styles.addStyle(style); + } + + /** + * 设置纸张大小 + * + * @param document + * @param height + * @param width + * @param pagerDirection + * @author chenrui + * @date 2025/7/4 11:29 + */ + public static void setPaperSize(XWPFDocument document, int height, int width, String pagerDirection) { + // 计算纸张实际宽高 + int pagerWidth = (int) (width * 20 / 1.33445); + int pagerHeight = (int) (height * 20 / 1.33445); + // 根据纸张方向设置纸张宽高 + CTBody body = document.getDocument().getBody(); + CTSectPr sectPr = body.isSetSectPr() ? body.getSectPr() : body.addNewSectPr(); + CTPageSz pageSize = sectPr.addNewPgSz(); + if ("horizontal".equals(pagerDirection)) { + //横版 + pageSize.setW(BigInteger.valueOf(pagerHeight)); + pageSize.setH(BigInteger.valueOf(pagerWidth)); + pageSize.setOrient(STPageOrientation.LANDSCAPE); + } else { + pageSize.setW(BigInteger.valueOf(pagerWidth)); + pageSize.setH(BigInteger.valueOf(pagerHeight)); + pageSize.setOrient(STPageOrientation.PORTRAIT); + } + } + + /** + * 设置页面边距 + * + * @param document + * @param margins 单位 mm + * @author chenrui + * @date 2025/7/4 11:32 + */ + public static void setPaperMargins(XWPFDocument document, JSONArray margins) { + if (oConvertUtils.isNotEmpty(margins)) { + // 获取CTSectPr,如果没有则创建 + CTSectPr sectPr = document.getDocument().getBody().addNewSectPr(); + CTPageMar pageMar = sectPr.addNewPgMar(); + + // 设置上页边距 + pageMar.setTop(BigInteger.valueOf((long) (margins.getLongValue(0)*14.4))); + // 设置下页边距 + pageMar.setBottom(BigInteger.valueOf((long) (margins.getLongValue(2)*14.4))); + // 设置左页边距 + pageMar.setLeft(BigInteger.valueOf((long) (margins.getLongValue(3)*14.4))); + // 设置右页边距 + pageMar.setRight(BigInteger.valueOf((long) (margins.getLongValue(1)*14.4))); + } + } + + public static void addSeparator(XWPFParagraph paragraph, JSONObject content) { + JSONArray dashArray = content.getJSONArray("dashArray"); + CTP ctp = paragraph.getCTP(); + CTPPr pr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); + CTPBdr border = pr.isSetPBdr() ? pr.getPBdr() : pr.addNewPBdr(); + CTBorder ct = border.isSetBottom() ? border.getBottom() : border.addNewBottom(); + if (oConvertUtils.isEmpty(dashArray) || dashArray.isEmpty()) { + ct.setVal(STBorder.Enum.forInt(3)); + } else { + int value = dashArray.getIntValue(0); + switch (value) { + case 1: + ct.setVal(STBorder.Enum.forInt(6)); + break; + case 3: + ct.setVal(STBorder.Enum.forInt(22)); + break; + case 4: + ct.setVal(STBorder.Enum.forInt(7)); + break; + case 7: + ct.setVal(STBorder.Enum.forInt(8)); + break; + case 6: + ct.setVal(STBorder.Enum.forInt(9)); + break; + default: + ct.setVal(STBorder.Enum.forInt(3)); + break; + } + } + ct.setSz(BigInteger.valueOf(4)); + ct.setSpace(BigInteger.ZERO); + ct.setColor("auto"); + } + + /** + * 添加分页符 + * + * @param paragraph + * @author chenrui + * @date 2025/7/4 15:03 + */ + public static void addPageBreak(XWPFParagraph paragraph) { + paragraph.createRun().addBreak(BreakType.PAGE); + } + +// /** +// * 添加页码 +// * only poi 5.x +// * @param doc +// * @param startingNum +// * @author chenrui +// * @date 2025/7/4 15:18 +// */ +// private static void addPageNumbers(XWPFDocument doc, int startingNum) { +// CTSectPr sectPr = doc.getDocument().getBody().isSetSectPr() ? doc.getDocument().getBody().getSectPr() +// : doc.getDocument().getBody().addNewSectPr(); +// CTPageNumber pgNum = sectPr.isSetPgNumType() ? sectPr.getPgNumType() : sectPr.addNewPgNumType(); +// pgNum.setStart(BigInteger.valueOf(startingNum)); +// pgNum.setFmt(STNumberFormat.DECIMAL); +// } + + /** + * 添加段落 + * + * @param paragraph + * @param content + * @param titleStyle + * @param ignoreStartn + * @author chenrui + * @date 2025/7/4 14:04 + */ + public static void addParagraph(XWPFParagraph paragraph, JSONObject content, String titleStyle, boolean ignoreStartn) { + XWPFRun run = paragraph.createRun(); + setRunText(run, content, "text", ignoreStartn); + // 对齐方式 + String rowFlex = content.getString("rowFlex"); + // 行间距 + Float rowMargin = content.getFloat("rowMargin"); + if (oConvertUtils.isNotEmpty(rowFlex)) { + switch (rowFlex) { + case "left": + paragraph.setAlignment(ParagraphAlignment.LEFT); + break; + case "center": + paragraph.setAlignment(ParagraphAlignment.CENTER); + break; + case "right": + paragraph.setAlignment(ParagraphAlignment.RIGHT); + break; + case "alignment": + paragraph.setAlignment(ParagraphAlignment.BOTH); + break; + default: + paragraph.setAlignment(ParagraphAlignment.LEFT); + break; + } + } else { + paragraph.setAlignment(ParagraphAlignment.LEFT); + } + if (rowMargin != null) { + setSingleLineSpacing(paragraph, rowMargin); + } + if (oConvertUtils.isNotEmpty(titleStyle)) { + paragraph.setStyle(titleStyle); + } + + } + + + /** + * 添加标题段落 + * + * @param paragraph + * @param content + * @author chenrui + * @date 2025/7/4 14:42 + */ + public static void addTitleParagraph(XWPFParagraph paragraph, JSONObject content) { + String level = content.getString("level"); + String headStyle = ""; + if (WordTitleEnum.FIRST.getCode().equals(level)) { + headStyle = WordTitleEnum.FIRST.getName(); + } else if (WordTitleEnum.SECOND.getCode().equals(level)) { + headStyle = WordTitleEnum.SECOND.getName(); + } else if (WordTitleEnum.THIRD.getCode().equals(level)) { + headStyle = WordTitleEnum.THIRD.getName(); + } else if (WordTitleEnum.FOURTH.getCode().equals(level)) { + headStyle = WordTitleEnum.FOURTH.getName(); + } else if (WordTitleEnum.FIFTH.getCode().equals(level)) { + headStyle = WordTitleEnum.FIFTH.getName(); + } else if (WordTitleEnum.SIXTH.getCode().equals(level)) { + headStyle = WordTitleEnum.SIXTH.getName(); + } + JSONArray valueList = content.getJSONArray("valueList"); + if (oConvertUtils.isNotEmpty(valueList)) { + for (int i = 0; i < valueList.size(); i++) { + addParagraph(paragraph, valueList.getJSONObject(i), headStyle, false); + } + } + } + + /** + * 添加制表符 + * + * @param paragraph + * @param run + * @author chenrui + * @date 2025/7/4 14:44 + */ + public static void addTab(XWPFParagraph paragraph, XWPFRun run) { + if (run == null) { + run = paragraph.createRun(); + } + run.setText(" "); + CTText ctText = run.getCTR().getTArray(0); + ctText.setSpace(SpaceAttribute.Space.PRESERVE); + } + + /** + * 添加单独的行间距 + * + * @param paragraph + * @param rowMargin + * @author chenrui + * @date 2025/7/4 14:32 + */ + public static void setSingleLineSpacing(XWPFParagraph paragraph, Float rowMargin) { + CTP ctp = paragraph.getCTP(); + CTPPr ppr = ctp.isSetPPr() ? ctp.getPPr() : ctp.addNewPPr(); + CTSpacing spacing = ppr.isSetSpacing() ? ppr.getSpacing() : ppr.addNewSpacing(); + spacing.setAfter(BigInteger.valueOf(0)); + spacing.setBefore(BigInteger.valueOf(0)); + //注意设置行距类型为 EXACT + spacing.setLineRule(STLineSpacingRule.EXACT); + //1磅数是20 + spacing.setLine(BigInteger.valueOf((long) (rowMargin * 350))); + } + + /** + * 设置Run文本内容 + * + * @param run + * @param content + * @param type + * @param ignoreStartEnter + * @author chenrui + * @date 2025/7/4 14:33 + */ + private static void setRunText(XWPFRun run, JSONObject content, String type, boolean ignoreStartEnter) { + //内容 + String value = content.getString("value"); + //字体 + String font = content.getString("font"); + //字体大小 + Float fontSize = content.getFloat("size"); + //是否加粗 + Boolean bold = content.getBoolean("bold"); + //字体颜色 + String color = content.getString("color"); + //是否斜体 + Boolean italic = content.getBoolean("italic"); + //高亮 + String highlight = content.getString("highlight"); + //是否下划线 + Boolean underline = content.getBoolean("underline"); + //是否删除线 + Boolean strikeout = content.getBoolean("strikeout"); + // 忽视第一个换行 + if (ignoreStartEnter) { + if (oConvertUtils.isNotEmpty(value) && value.startsWith("\n")) { + value = value.replaceFirst("\n", ""); + } + } + if (value.contains("\n")) { + if ("\n".equals(value)) { + //update-begin---author:chenrui ---date:20250714 for:[QQYUN-13104]【word模版】设计器中有空格,导出到word空格没了------------ + run.addBreak(); + //update-end---author:chenrui ---date:20250714 for:[QQYUN-13104]【word模版】设计器中有空格,导出到word空格没了------------ + } else { + String[] textes = (value + " ").split("\n"); + for (int i = 0; i < textes.length; i++) { + if (i == textes.length - 1) { + int lastIndex = textes[i].lastIndexOf(" "); + if (lastIndex != -1) { + textes[i] = textes[i].substring(0, lastIndex); + } + } + run.setText(textes[i]); + if (i != textes.length - 1) { + run.addBreak(); + } + } + } + + } else { + run.setText(value); + } + switch (type) { + case "sup": + run.setSubscript(VerticalAlign.SUPERSCRIPT); + break; + case "sub": + run.setSubscript(VerticalAlign.SUBSCRIPT); + default: + break; + } + + if (oConvertUtils.isNotEmpty(font)) { + run.setFontFamily(font); + } else { + run.setFontFamily("微软雅黑"); + } + // 字体大小 + if (null != fontSize) { + // 字体大小转换为twips,1pt = 20 twips, 1px = 1/1.33445 pt + run.setFontSize(Math.round(fontSize / 1.33445F)); + } else { + // 默认字体大小 + run.setFontSize(Math.round(16F / 1.33445F)); + } + if (bold != null) { + run.setBold(bold); + } + if (oConvertUtils.isNotEmpty(color)) { + if (color.startsWith("#")) { + run.setColor(color.replaceAll("#", "")); + } else if (color.startsWith("rgb")) { + int[] rgbArray = rgbStringToRgb(color); + color = rgb2Hex(rgbArray[0], rgbArray[1], rgbArray[2]); + run.setColor(color); + } + } + // 斜体 + if (italic != null) { + run.setItalic(italic); + } + // 高亮 + if (oConvertUtils.isNotEmpty(highlight)) { + run.setTextHighlightColor(getHighlightName(highlight)); + } + // 下划线 + if (underline != null && underline) { + JSONObject textDecoration = content.getJSONObject("textDecoration"); + if (textDecoration == null || textDecoration.isEmpty()) { + run.setUnderline(UnderlinePatterns.SINGLE); + } else { + String style = textDecoration.getString("style"); + switch (style) { + case "solid": + run.setUnderline(UnderlinePatterns.SINGLE); + break; + case "double": + run.setUnderline(UnderlinePatterns.DOUBLE); + break; + case "dashed": + run.setUnderline(UnderlinePatterns.DASH); + break; + case "dotted": + run.setUnderline(UnderlinePatterns.DOT_DASH); + break; + case "wavy": + run.setUnderline(UnderlinePatterns.WAVE); + break; + default: + run.setUnderline(UnderlinePatterns.SINGLE); + break; + } + } + } else { + run.setUnderline(UnderlinePatterns.NONE); + } + if (strikeout != null) { + run.setStrikeThrough(strikeout); + } + } + + /** + * 添加上下标 + * + * @param paragraph + * @param content + * @param type + * @author chenrui + * @date 2025/7/4 14:49 + */ + public static void addSubSupScript(XWPFParagraph paragraph, JSONObject content, String type) { + XWPFRun run = paragraph.createRun(); + setRunText(run, content, type, false); + } + + /** + * 添加超链接 + * + * @param paragraph + * @param content + * @author chenrui + * @date 2025/7/4 14:50 + */ + public static void addHyperlink(XWPFParagraph paragraph, JSONObject content) { + JSONArray valueList = content.getJSONArray("valueList"); + String url = content.getString("url"); + if (oConvertUtils.isNotEmpty(valueList)) { + XWPFRun run = null; + for (int i = 0; i < valueList.size(); i++) { + JSONObject valueObj = valueList.getJSONObject(i); + String value = valueObj.getString("value"); + url = url.replace("\b",""); + run = paragraph.createHyperlinkRun(url); + valueObj.put("value", value); + setRunText(run, valueObj, "text", false); + } + } + } + + /** + * 添加列表 + * + * @param document + * @param content + * @param abstractNumID + * @return + * @author chenrui + * @date 2025/7/4 15:03 + */ + public static int addList(XWPFDocument document, JSONObject content, int abstractNumID) { + String listStyle = content.getString("listStyle"); + JSONArray valueList = content.getJSONArray("valueList"); + if (oConvertUtils.isNotEmpty(valueList)) { + BigInteger numID = getNewDecimalNumberingId(document, BigInteger.valueOf(abstractNumID), listStyle); + abstractNumID = abstractNumID + 1; + XWPFParagraph paragraph = null; + XWPFRun run; + for (int i = 0; i < valueList.size(); i++) { + JSONObject valueObj = valueList.getJSONObject(i); + String value = valueObj.getString("value"); + String type = valueObj.getString("type") == null ? "" : valueObj.getString("type"); + if ("superscript".equals(type)) { + type = "sup"; + } else if ("subscript".equals(type)) { + type = "sub"; + } else { + type = "text"; + } + if ("\n".equals(value)) { + paragraph = document.createParagraph(); + paragraph.setNumID(numID); + paragraph.setNumILvl(BigInteger.valueOf(0)); + run = paragraph.createRun(); + valueObj.put("value", value); + setRunText(run, valueObj, type, false); + } else { + String[] values = value.split("\n"); + for (int j = 0; j < values.length; j++) { + if (oConvertUtils.isNotEmpty(values[j])) { + if (paragraph == null) { + paragraph = document.createParagraph(); + paragraph.setNumID(numID); + paragraph.setNumILvl(BigInteger.valueOf(0)); + } else if (j != 0) { + paragraph = document.createParagraph(); + paragraph.setNumID(numID); + paragraph.setNumILvl(BigInteger.valueOf(0)); + } + run = paragraph.createRun(); + valueObj.put("value", values[j]); + setRunText(run, valueObj, type, false); + } + } + } + + } + } + return abstractNumID; + } + + /** + * 添加表格列表 + * + * @param document + * @param content + * @param abstractNumID + * @param cell + * @return + * @author chenrui + * @date 2025/7/4 14:52 + */ + public static int addCellList(XWPFDocument document, JSONObject content, int abstractNumID, XWPFTableCell cell) { + String listStyle = content.getString("listStyle"); + JSONArray valueList = content.getJSONArray("valueList"); + if (oConvertUtils.isNotEmpty(valueList)) { + BigInteger numID = getNewDecimalNumberingId(document, BigInteger.valueOf(abstractNumID), listStyle); + abstractNumID = abstractNumID + 1; + XWPFParagraph paragraph; + XWPFRun run = null; + for (int i = 0; i < valueList.size(); i++) { + JSONObject valueObj = valueList.getJSONObject(i); + String value = valueObj.getString("value"); + String type = valueObj.getString("type") == null ? "" : valueObj.getString("type"); + switch (type) { + case "superscript": + type = "sup"; + break; + case "subscript": + type = "sub"; + break; + default: + type = "text"; + break; + } + if ("\n".equals(value)) { + if (oConvertUtils.isEmpty(cell.getParagraphs().get(0).getRuns())) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + paragraph.setNumID(numID); + paragraph.setNumILvl(BigInteger.valueOf(0)); + run = paragraph.createRun(); + valueObj.put("value", value); + setRunText(run, valueObj, type, false); + } else { + String[] values = value.split("\n"); + for (int j = 0; j < values.length; j++) { + if (oConvertUtils.isNotEmpty(values[j])) { + if (oConvertUtils.isEmpty(cell.getParagraphs().get(0).getRuns())) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + paragraph.setNumID(numID); + paragraph.setNumILvl(BigInteger.valueOf(0)); + run = paragraph.createRun(); + valueObj.put("value", values[j]); + setRunText(run, valueObj, type, false); + } + } + } + + } + } + return abstractNumID; + } + + /** + * 获取新的编号ID + * + * @param document + * @param abstractNumID + * @param listStyle + * @return + * @author chenrui + * @date 2025/7/4 14:51 + */ + private static BigInteger getNewDecimalNumberingId(XWPFDocument document, BigInteger abstractNumID, String listStyle) { + CTAbstractNum cTAbstractNum = CTAbstractNum.Factory.newInstance(); + cTAbstractNum.setAbstractNumId(abstractNumID); + + CTLvl cTLvl = cTAbstractNum.addNewLvl(); + cTLvl.setIlvl(BigInteger.valueOf(0)); // set indent level 0 + switch (listStyle) { + case "decimal": + cTLvl.addNewNumFmt().setVal(STNumberFormat.DECIMAL); + cTLvl.addNewLvlText().setVal("%1."); + break; + case "checkbox": + cTLvl.addNewNumFmt().setVal(STNumberFormat.BULLET); + cTLvl.addNewLvlText().setVal("■"); + break; + case "disc": + cTLvl.addNewNumFmt().setVal(STNumberFormat.BULLET); + cTLvl.addNewLvlText().setVal("●"); + break; + case "circle": + cTLvl.addNewNumFmt().setVal(STNumberFormat.BULLET); + cTLvl.addNewLvlText().setVal("○"); + break; + case "square": + cTLvl.addNewNumFmt().setVal(STNumberFormat.BULLET); + cTLvl.addNewLvlText().setVal("□"); + break; + default: + break; + } + cTLvl.addNewStart().setVal(BigInteger.valueOf(1)); + + XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum); + + XWPFNumbering numbering = document.createNumbering(); + + abstractNumID = numbering.addAbstractNum(abstractNum); + + return numbering.addNum(abstractNumID); + } + + /** + * 添加图片 + * + * @param paragraph + * @param content + * @author chenrui + * @date 2025/7/4 14:53 + */ + public static void addImage(XWPFParagraph paragraph, JSONObject content) { + InputStream in = null; + try { + String imageUrl = content.getString("value"); + Matcher matcher = WEB_PATTERN.matcher(imageUrl); + if (matcher.matches()) { + // 网络资源,先下载到临时目录 + log.info("[批量下载文件]网络资源,下载到临时目录:" + imageUrl); + try { + String fileName = imageUrl.substring(imageUrl.lastIndexOf("/") + 1); + imageUrl = imageUrl.replace(fileName, URLEncoder.encode(fileName, "UTF-8")); + URL url = new URL(imageUrl); + URLConnection conn = url.openConnection(); + // 设置超时间为3秒 + conn.setConnectTimeout(3 * 1000); + // 防止屏蔽程序 + conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); + in = conn.getInputStream(); + } catch (IOException e) { + log.error(e.getMessage(), e); + throw new JeecgBootException(e); + } + } else { + String uploadPath = SpringContextUtils.getApplicationContext() + .getEnvironment() + .getProperty("jeecg.path.upload", ""); + // 将本地图片读取到 InputStream + String filePath = uploadPath + File.separator + imageUrl; + in = new FileInputStream(filePath); + } + XWPFRun run = paragraph.createRun(); + + String display = content.getString("imgDisplay"); + + if(oConvertUtils.isNotEmpty(display) && display.toLowerCase().startsWith("float-")){ + // 浮动图片 + String behindDoc = "0"; + if(!display.equalsIgnoreCase("float-bottom")){ + behindDoc = "1"; + } + + int width = content.getIntValue("width"); + int height = content.getIntValue("height"); + + int left =0; + int top = 0; + if(content.containsKey("imgFloatPosition")){ + JSONObject imgFloatPosition = content.getJSONObject("imgFloatPosition"); + if(imgFloatPosition.containsKey("x")){ + left = imgFloatPosition.getIntValue("x"); + } + if(imgFloatPosition.containsKey("y")){ + top = imgFloatPosition.getIntValue("y"); + } + } + byte[] imageBytes; + try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { + byte[] buffer = new byte[4096]; + int len; + while ((len = in.read(buffer)) != -1) { + baos.write(buffer, 0, len); + } + imageBytes = baos.toByteArray(); + } + addFloatingPicture(imageBytes, paragraph.getDocument(), run, width, height, left, top, behindDoc); + return; + }else{ + // 内嵌图片 + run.addPicture(in, Document.PICTURE_TYPE_PNG, "", + Units.pixelToEMU(content.getIntValue("width")), Units.pixelToEMU(content.getIntValue("height"))); + } + String rowFlex = content.getString("rowFlex");//对齐方式 + if (oConvertUtils.isNotEmpty(rowFlex)) { + switch (rowFlex) { + case "left": + paragraph.setAlignment(ParagraphAlignment.LEFT); + break; + case "center": + paragraph.setAlignment(ParagraphAlignment.CENTER); + break; + case "right": + paragraph.setAlignment(ParagraphAlignment.RIGHT); + break; + case "alignment": + paragraph.setAlignment(ParagraphAlignment.BOTH); + break; + default: + paragraph.setAlignment(ParagraphAlignment.LEFT); + break; + } + } else { + paragraph.setAlignment(ParagraphAlignment.LEFT); + } + } catch (Exception e) { + log.error("添加图片异常", e); + throw new RuntimeException("添加图片异常: " + e.getMessage(), e); + } finally { + if (null != in) { + try { + in.close(); + } catch (Exception e) { + // ignore + log.error("关闭图片流异常", e); + } + } + } + } + + /** + * 添加图片 + * + * @param imageData 图片流 + * @param doc 文档对象 + * @param run 文档运行对象 + * @param width 宽度 px + * @param height 高度 px + * @param left 左边距 px + * @param top 上边距 px + * @param behindDoc 环绕方式 0 处于文字上方 1 处于文字下方 + * @author chenrui + * @date 2025-07-14 15:18 + */ + private static void addFloatingPicture(byte[] imageData, XWPFDocument doc, XWPFRun run, int width, int height, int left, int top, String behindDoc) { + if(null == imageData){ + return; + } + // 生成 anchor XML + int widthNum = Units.pixelToEMU(width); + int heightNum = Units.pixelToEMU(height); + int leftNum = Units.pixelToEMU(left); + int topNum = Units.pixelToEMU(top); + // 环绕方式 0 处于文字上方 1 处于文字下方 + behindDoc = oConvertUtils.getString(behindDoc, "0"); + try { + // 添加图片数据 + String blipId = doc.addPictureData(imageData, Document.PICTURE_TYPE_JPEG); + /* + behindDoc:图片是否在文字之后。1 表示图片在文字后面,0 表示浮在文字上方。 + locked:是否锁定对象(防止移动/编辑)。0 表示未锁定。 + layoutInCell:如果插入在表格中,是否允许在单元格内部布局。1 表示允许。 + allowOverlap:是否允许重叠。1 表示允许。 + relativeHeight:相对层级高度,影响图像的叠放顺序。越大越靠前。 + */ + String anchorXml = + "" + + "" + + "" + + "" + leftNum + "" + + "" + + "" + + "" + topNum + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + // 注入 anchor 到 drawing + XmlToken token = XmlToken.Factory.parse(anchorXml); + CTDrawing drawing = run.getCTR().addNewDrawing(); + drawing.set(token); + } catch (InvalidFormatException | XmlException e) { + throw new RuntimeException(e); + } + } + + + /** + * 添加表格 + * + * @param doc + * @param tableData + * @param abstractNumID + * @return + * @throws Exception + * @author chenrui + * @date 2025/7/4 14:49 + */ + public static int addTable(XWPFDocument doc, JSONObject tableData, int abstractNumID) { + //行数 + int rows = 1; + //列数 + int cols = 1; + JSONArray trList = tableData.getJSONArray("trList"); + rows = trList.size(); + JSONArray colgroup = tableData.getJSONArray("colgroup"); + cols = colgroup.size(); + String rowFlex = tableData.getString("rowFlex"); + XWPFTable xwpfTable = doc.createTable(rows, cols); + String borderType = tableData.getString("borderType"); + if ("empty".equals(borderType)) { + //无边框设置 + CTTblPr tblPr = xwpfTable.getCTTbl().getTblPr(); + if (tblPr == null) tblPr = xwpfTable.getCTTbl().addNewTblPr(); + CTTblBorders tblBorders = tblPr.addNewTblBorders(); + tblBorders.addNewTop().setVal(STBorder.NONE); + tblBorders.addNewLeft().setVal(STBorder.NONE); + tblBorders.addNewBottom().setVal(STBorder.NONE); + tblBorders.addNewRight().setVal(STBorder.NONE); + tblBorders.addNewInsideH().setVal(STBorder.NONE); + tblBorders.addNewInsideV().setVal(STBorder.NONE); + } + if (oConvertUtils.isNotEmpty(rowFlex)) { + switch (rowFlex) { + case "left": + xwpfTable.setTableAlignment(TableRowAlign.LEFT); + break; + case "center": + xwpfTable.setTableAlignment(TableRowAlign.CENTER); + break; + case "right": + xwpfTable.setTableAlignment(TableRowAlign.RIGHT); + break; + default: + xwpfTable.setTableAlignment(TableRowAlign.LEFT); + break; + } + } + CTTbl ttbl = xwpfTable.getCTTbl(); + CTTblGrid tblGrid = ttbl.addNewTblGrid(); + + setTableWidthFixed(xwpfTable, true); + JSONObject mergeObj = new JSONObject(); + mergeObj.put("isMerge", true); + for (int i = 0; i < rows; i++) { + JSONArray tdList = trList.getJSONObject(i).getJSONArray("tdList"); + for (int j = 0; j < tdList.size(); j++) { + JSONObject cellInfo = tdList.getJSONObject(j); + boolean isMerge = cellInfo.getBooleanValue("isMerge"); + if (isMerge) { + continue; + } else { + int rowspan = cellInfo.getIntValue("rowspan"); + int colspan = cellInfo.getIntValue("colspan"); + if (rowspan > 1 || colspan > 1) { + for (int k = 0; k < rowspan; k++) { + for (int k2 = 0; k2 < colspan; k2++) { + int r = i + k; + int c = j + k2; + if (r == i) { + if (k2 != 0) { + if (c >= tdList.size()) { + tdList.add(mergeObj); + } else { + tdList.add(c, mergeObj); + } + } + } else { + if (c >= trList.getJSONObject(r).getJSONArray("tdList").size()) { + trList.getJSONObject(r).getJSONArray("tdList").add(mergeObj); + } else { + trList.getJSONObject(r).getJSONArray("tdList").add(c, mergeObj); + } + } + } + } + } + } + } + } + Map isDynamicRow = new HashMap<>(); + for (int i = 0; i < trList.size(); i++) { + JSONArray tdList = trList.getJSONObject(i).getJSONArray("tdList"); + for (int j = 0; j < tdList.size(); j++) { + JSONObject cellInfo = tdList.getJSONObject(j); + boolean isMerge = cellInfo.getBooleanValue("isMerge"); + if (isMerge) { + continue; + } else { + abstractNumID = setCellValue(xwpfTable.getRow(i).getCell(j), cellInfo, doc, abstractNumID); + } + if (!isDynamicRow.containsKey(i)) { + String plainText = getCellPlainText(cellInfo); + if (oConvertUtils.isNotEmpty(plainText)) { + if ((plainText.contains("{{") && plainText.contains("}}")) || (plainText.contains("[") && plainText.contains("]"))) { + isDynamicRow.put(i, true); + } + } + } + } + } + for (int i = 0; i < cols; i++) { + CTTblGridCol gridCol = tblGrid.addNewGridCol(); + gridCol.setW(new BigInteger(String.valueOf(colgroup.getJSONObject(i).getBigDecimal("width").intValue() * 16))); + for (int j = 0; j < rows; j++) { + xwpfTable.getRow(j).getCell(i).setWidth(String.valueOf(colgroup.getJSONObject(i).getBigDecimal("width").intValue() * 16)); + } + } + for (int i = 0; i < rows; i++) { + int height = trList.getJSONObject(i).getIntValue("height"); + if (isDynamicRow.containsKey(i)) { + xwpfTable.getRow(i).setHeight(42 * 15); + xwpfTable.getRow(i).setHeight(42 * 15); + } else { + xwpfTable.getRow(i).setHeight(height * 15); + } + } + for (int i = 0; i < trList.size(); i++) { + JSONArray tdList = trList.getJSONObject(i).getJSONArray("tdList"); + for (int j = 0; j < tdList.size(); j++) { + JSONObject cellInfo = tdList.getJSONObject(j); + boolean isMerge = cellInfo.getBooleanValue("isMerge"); + if (isMerge) { + continue; + } + int rowspan = cellInfo.getIntValue("rowspan"); + int colspan = cellInfo.getIntValue("colspan"); + if (rowspan > 1) { + for (int k = 0; k < colspan; k++) { + TableTools.mergeCellsVertically(xwpfTable, j + k, i, i + rowspan - 1); + } + } + + } + } + List mergeCellsHorizonal = new ArrayList(); + for (int i = trList.size() - 1; i >= 0; i--) { + JSONArray tdList = trList.getJSONObject(i).getJSONArray("tdList"); + for (int j = tdList.size() - 1; j >= 0; j--) { + JSONObject cellInfo = tdList.getJSONObject(j); + boolean isMerge = cellInfo.getBooleanValue("isMerge"); + if (isMerge) { + continue; + } + int rowspan = cellInfo.getIntValue("rowspan"); + int colspan = cellInfo.getIntValue("colspan"); + if (colspan > 1) { + for (int k = 0; k < rowspan; k++) { + MergeColDTO mergeColDto = new MergeColDTO(); + mergeColDto.setRow(i + k); + mergeColDto.setFrom(j); + mergeColDto.setTo(j + colspan - 1); + mergeCellsHorizonal.add(mergeColDto); + } + } + } + } + if (oConvertUtils.isNotEmpty(mergeCellsHorizonal)) { + Map> groupBy = mergeCellsHorizonal.stream().collect(Collectors.groupingBy(MergeColDTO::getRow)); + for (List value : groupBy.values()) { + value.sort(Comparator.comparing(MergeColDTO::getFrom).reversed()); + for (MergeColDTO mergeColDTO : value) { + TableTools.mergeCellsHorizonal(xwpfTable, mergeColDTO.getRow(), mergeColDTO.getFrom(), mergeColDTO.getTo()); + } + } + } + return abstractNumID; + } + + /** + * 是否允许表格自动重调单元格宽度 对应【表格属性-表格-选项-自动重调尺寸以适应内容】 + * + * @param table + * @param isFixed + * @author chenrui + * @date 2025/7/4 14:48 + */ + public static void setTableWidthFixed(XWPFTable table, boolean isFixed) { + CTTblPr tblPr = table.getCTTbl().getTblPr(); + CTTblLayoutType tblLayout = tblPr.isSetTblLayout() ? tblPr.getTblLayout() : tblPr.addNewTblLayout(); + if (isFixed) { + tblLayout.setType(STTblLayoutType.AUTOFIT); + } + } + + /** + * 设置单元格的值 + * + * @param cell + * @param cellInfo + * @param doc + * @param abstractNumID + * @return + * @author chenrui + * @date 2025/7/4 14:49 + */ + private static int setCellValue(XWPFTableCell cell, JSONObject cellInfo, XWPFDocument doc, int abstractNumID) { + if (cell == null) { + return abstractNumID; + } + String backgroundColor = cellInfo.getString("backgroundColor"); + if (oConvertUtils.isNotEmpty(backgroundColor)) { + cell.setColor(backgroundColor.replaceFirst("#", "")); + } + JSONArray values = cellInfo.getJSONArray("value"); + String verticalAlign = cellInfo.getString("verticalAlign"); + if (oConvertUtils.isNotEmpty(values)) { + XWPFParagraph paragraph = null; + float pRowMargin = 1f; + String lastType = ""; + for (int i = 0; i < values.size(); i++) { + JSONObject content = values.getJSONObject(i); + String type = content.getString("type") == null ? "" : content.getString("type"); + switch (type) { + case "": + if (content.getString("value").startsWith("\n") || + (!type.equals(lastType) && !"tab".equals(lastType) + && !"superscript".equals(lastType) + && !"subscript".equals(lastType) + && !"separator".equals(lastType) + && !"hyperlink".equals(lastType))) { + content.put("value", content.getString("value").replaceFirst("\n", "")); + if (i == 0) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + } + if ("separator".equals(lastType)) { + String value = content.getString("value"); + if (oConvertUtils.isNotEmpty(value) && value.startsWith("\n")) { + content.put("value", value.replaceFirst("\n", "")); + } + } + if (paragraph == null) { + if (i == 0) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + } + WordUtil.addParagraph(paragraph, content, null, false); + break; + case "superscript": + if (paragraph == null) { + if (i == 0) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + } + WordUtil.addSubSupScript(paragraph, content, "sup"); + break; + case "subscript": + if (paragraph == null) { + if (i == 0) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + } + WordUtil.addSubSupScript(paragraph, content, "sub"); + break; + case "hyperlink": + if (paragraph == null) { + if (i == 0) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + } + WordUtil.addHyperlink(paragraph, content); + break; + case "list": + abstractNumID = WordUtil.addCellList(doc, content, abstractNumID, cell); + break; + case "image": + if (paragraph == null) { + if (i == 0) { + paragraph = cell.getParagraphs().get(0); + } else { + paragraph = cell.addParagraph(); + } + } + WordUtil.addImage(paragraph, content); + break; + default: + break; + } + lastType = type; + } + if (paragraph != null) { + paragraph.setSpacingBetween(pRowMargin, LineSpacingRule.AUTO); + } + if (oConvertUtils.isNotEmpty(verticalAlign)) { + switch (verticalAlign) { + case "top": + cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.TOP); + break; + case "middle": + cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); + break; + case "bottom": + cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.BOTTOM); + break; + default: + break; + } + } + } + return abstractNumID; + } + + /** + * 获取单元格的纯文本内容 + * + * @param cellInfo + * @return + * @author chenrui + * @date 2025/7/4 14:55 + */ + public static String getCellPlainText(JSONObject cellInfo) { + StringBuilder sb = new StringBuilder(); + JSONArray values = cellInfo.getJSONArray("value"); + if (oConvertUtils.isNotEmpty(values)) { + for (int i = 0; i < values.size(); i++) { + JSONObject content = values.getJSONObject(i); + String value = content.getString("value");//内容 + sb.append(value); + } + } + return sb.toString(); + } + + /** + * 将rgb字符串转换成rgb数组 + * + * @param rgb + * @return + * @author chenrui + * @date 2025/7/4 14:28 + */ + public static int[] rgbStringToRgb(String rgb) { + int[] color = new int[3]; + rgb = rgb.replace("rgb", ""); + rgb = rgb.replace("(", "").replace(")", "").replaceAll(" ", ""); + String[] colors = rgb.split(","); + //update-begin---author:chenrui ---date:20250813 for:[QQYUN-13384]word设计器,导出word失败------------ + // 只取前三个分量,忽略 alpha + for (int i = 0; i < 3 && i < colors.length; i++) { + color[i] = Integer.parseInt(colors[i].replaceAll("[^0-9]", "")); + } + //update-end---author:chenrui ---date:20250813 for:[QQYUN-13384]word设计器,导出word失败------------ + return color; + } + + /** + * 将RGB颜色值转换为十六进制字符串 + * + * @param r + * @param g + * @param b + * @return + * @author chenrui + * @date 2025/7/4 14:29 + */ + public static String rgb2Hex(int r, int g, int b) { + return String.format("%02x%02x%02x", r, g, b); + } + + /** + * @param color + * @return + * @date 2020年4月7日 下午7:16:39 + */ + private static String getHighlightName(String color) { + color = color.replaceAll("\\s+", ""); + if ("#FFFF00".equals(color)) { + return "yellow";//1-黄色 + } else if ("#00FF00".equals(color)) { + return "green";//2-绿色 + } else if ("#00FFFF".equals(color)) { + return "cyan";//3-青色 + } else if ("#FF00FF".equals(color)) { + return "magenta";//4-粉红色 + } else if ("#0000FF".equals(color)) { + return "blue";//5-蓝色 + } else if ("#FF0000".equals(color)) { + return "red";//6-红色 + } else if ("#000080".equals(color)) { + return "darkBlue";//7-深蓝色 + } else if ("#008080".equals(color)) { + return "darkCyan";//8-深青色 + } else if ("#008000".equals(color)) { + return "darkGreen";//9-深绿色 + } else if ("#800080".equals(color)) { + return "darkMagenta";//10-深粉红色,紫色 + } else if ("#800000".equals(color)) { + return "darkRed";//11-深红色 + } else if ("#808000".equals(color)) { + return "darkYellow";//12-深黄色 + } else if ("#808080".equals(color)) { + return "darkGray";//13-深灰色 + } else if ("#C0C0C0".equals(color)) { + return "lightGray";//14-浅灰色 + } else if ("#000000".equals(color)) { + return "black";//15-黑色 + } else { + return "none";//无色 + } + } + + public static String getHighlightByName(String name) { + if ("yellow".equals(name)) { + return "#FFFF00";//1-黄色 + } else if ("green".equals(name)) { + return "#00FF00";//2-绿色 + } else if ("cyan".equals(name)) { + return "#00FFFF";//3-青色 + } else if ("magenta".equals(name)) { + return "#FF00FF";//4-粉红色 + } else if ("blue".equals(name)) { + return "#0000FF";//5-蓝色 + } else if ("red".equals(name)) { + return "#FF0000";//6-红色 + } else if ("darkBlue".equals(name)) { + return "#000080";//7-深蓝色 + } else if ("darkCyan".equals(name)) { + return "#008080";//8-深青色 + } else if ("darkGreen".equals(name)) { + return "#008000";//9-深绿色 + } else if ("darkMagenta".equals(name)) { + return "#800080";//10-深粉红色,紫色 + } else if ("#800000".equals(name)) { + return "darkRed";//11-深红色 + } else if ("darkYellow".equals(name)) { + return "#808000";//12-深黄色 + } else if ("darkGray".equals(name)) { + return "#808080";//13-深灰色 + } else if ("lightGray".equals(name)) { + return "#C0C0C0";//14-浅灰色 + } else if ("black".equals(name)) { + return "#000000";//15-黑色 + } else { + return "";//无色 + } + } + +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-demo/pom.xml b/jeecg-boot/jeecg-boot-module/jeecg-module-demo/pom.xml index 5991fc9dc..d7d016b86 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-demo/pom.xml +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-demo/pom.xml @@ -5,7 +5,7 @@ jeecg-boot-module org.jeecgframework.boot3 - 3.9.0 + 3.9.1 4.0.0 diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mcp/McpDemoController.java b/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mcp/McpDemoController.java new file mode 100644 index 000000000..515120e4a --- /dev/null +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/mcp/McpDemoController.java @@ -0,0 +1,326 @@ +package org.jeecg.modules.demo.mcp; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.config.shiro.IgnoreAuth; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import java.io.IOException; +import java.io.PrintWriter; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +/** + * MCP Server 示例 (Model Context Protocol) + * + * 这是一个符合 MCP 协议的服务端实现,支持 SSE 传输。 + * + * 连接地址: http://你的服务器:8080/jeecg-boot/demo/mcp/sse + * + * 提供的工具: + * - hello: 打招呼工具 + * - get_time: 获取当前时间 + * - calculate: 简单计算器 + */ +@Slf4j +@RestController +@RequestMapping("/demo/mcp") +@Tag(name = "MCP Server 示例") +public class McpDemoController { + + // 存储 SSE 连接 + private final Map sseEmitters = new ConcurrentHashMap<>(); + + // 定义工具列表 + private final List> TOOLS = List.of( + Map.of( + "name", "hello", + "description", "打招呼工具,返回问候语", + "inputSchema", Map.of( + "type", "object", + "properties", Map.of( + "name", Map.of("type", "string", "description", "你的名字") + ), + "required", List.of("name") + ) + ), + Map.of( + "name", "get_time", + "description", "获取当前服务器时间", + "inputSchema", Map.of( + "type", "object", + "properties", Map.of() + ) + ), + Map.of( + "name", "calculate", + "description", "简单计算器,支持加减乘除", + "inputSchema", Map.of( + "type", "object", + "properties", Map.of( + "a", Map.of("type", "number", "description", "第一个数"), + "b", Map.of("type", "number", "description", "第二个数"), + "operator", Map.of("type", "string", "description", "运算符: +, -, *, /") + ), + "required", List.of("a", "b", "operator") + ) + ) + ); + + /** + * MCP SSE 端点 - 客户端通过此接口建立 SSE 连接 + */ + @IgnoreAuth + @GetMapping(value = "/sse", produces = MediaType.TEXT_EVENT_STREAM_VALUE) + @Operation(summary = "MCP SSE 连接端点") + public SseEmitter sse(HttpServletRequest request) { + String clientId = UUID.randomUUID().toString(); + log.info("[MCP Server] 新客户端 SSE 连接: {}", clientId); + + SseEmitter emitter = new SseEmitter(0L); // 不超时 + sseEmitters.put(clientId, emitter); + + emitter.onCompletion(() -> { + log.info("[MCP Server] 客户端断开: {}", clientId); + sseEmitters.remove(clientId); + }); + emitter.onTimeout(() -> { + log.info("[MCP Server] 客户端超时: {}", clientId); + sseEmitters.remove(clientId); + }); + emitter.onError(e -> { + log.error("[MCP Server] SSE 错误: {}", e.getMessage()); + sseEmitters.remove(clientId); + }); + + // 发送 endpoint 事件,告诉客户端消息端点地址 + try { + String baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort(); + String messageEndpoint = baseUrl + request.getContextPath() + "/demo/mcp/message?sessionId=" + clientId; + emitter.send(SseEmitter.event() + .name("endpoint") + .data(messageEndpoint)); + log.info("[MCP Server] 发送 endpoint 事件: {}", messageEndpoint); + } catch (IOException e) { + log.error("[MCP Server] 发送 endpoint 事件失败", e); + } + + return emitter; + } + + /** + * Streamable HTTP 端点 - 同时支持 POST 到 /sse 的 JSON-RPC 请求 + * Cursor 客户端会先尝试这种方式 + */ + @IgnoreAuth + @PostMapping(value = "/sse") + @Operation(summary = "MCP Streamable HTTP 端点") + public void ssePost(@RequestBody String body, HttpServletResponse response) throws IOException { + log.info("[MCP Server] Streamable HTTP 请求: {}", body); + handleJsonRpcRequest(body, response); + } + + /** + * MCP 消息处理端点 - 处理 JSON-RPC 请求 + * 直接写入原始 JSON-RPC 响应,避免框架包装 + */ + @IgnoreAuth + @PostMapping(value = "/message") + @Operation(summary = "MCP 消息处理") + public void handleMessage(@RequestParam(required = false) String sessionId, + @RequestBody String body, + HttpServletResponse response) throws IOException { + log.info("[MCP Server] 收到消息, sessionId: {}, body: {}", sessionId, body); + handleJsonRpcRequest(body, response); + } + + /** + * 处理 JSON-RPC 请求的公共方法 + */ + private void handleJsonRpcRequest(String body, HttpServletResponse response) throws IOException { + response.setContentType("application/json;charset=UTF-8"); + PrintWriter writer = response.getWriter(); + + try { + JSONObject request = JSON.parseObject(body); + String method = request.getString("method"); + Object id = request.get("id"); + JSONObject params = request.getJSONObject("params"); + + // 通知类消息(没有id)不需要响应 + if (id == null) { + log.info("[MCP Server] 收到通知: {}", method); + writer.write("{}"); + writer.flush(); + return; + } + + // 构建 JSON-RPC 2.0 响应 + Map jsonRpcResponse = new LinkedHashMap<>(); + jsonRpcResponse.put("jsonrpc", "2.0"); + jsonRpcResponse.put("id", id); + + try { + Object result = switch (method) { + case "initialize" -> handleInitialize(params); + case "initialized", "notifications/initialized" -> handleInitialized(); + case "tools/list" -> handleToolsList(); + case "tools/call" -> handleToolsCall(params); + case "ping" -> handlePing(); + case "notifications/cancelled" -> handleCancelled(params); + default -> { + if (method != null && method.startsWith("notifications/")) { + log.info("[MCP Server] 忽略未知通知: {}", method); + yield Map.of(); + } + throw new RuntimeException("未知方法: " + method); + } + }; + jsonRpcResponse.put("result", result); + } catch (Exception e) { + log.error("[MCP Server] 处理请求失败", e); + jsonRpcResponse.put("error", Map.of( + "code", -32603, + "message", e.getMessage() + )); + } + + String responseJson = JSON.toJSONString(jsonRpcResponse); + log.info("[MCP Server] 返回: {}", responseJson); + writer.write(responseJson); + + } catch (Exception e) { + log.error("[MCP Server] 解析请求失败", e); + writer.write("{\"jsonrpc\":\"2.0\",\"id\":null,\"error\":{\"code\":-32700,\"message\":\"Parse error\"}}"); + } + + writer.flush(); + } + + /** + * 处理 initialize 请求 + */ + private Map handleInitialize(JSONObject params) { + log.info("[MCP Server] 初始化请求: {}", params); + return Map.of( + "protocolVersion", "2024-11-05", + "capabilities", Map.of( + "tools", Map.of() + ), + "serverInfo", Map.of( + "name", "jeecg-mcp-demo", + "version", "1.0.0" + ) + ); + } + + /** + * 处理 initialized 通知 + */ + private Map handleInitialized() { + log.info("[MCP Server] 客户端已初始化完成"); + return Map.of(); + } + + /** + * 处理 ping 请求 + */ + private Map handlePing() { + log.info("[MCP Server] Ping"); + return Map.of(); + } + + /** + * 处理 notifications/cancelled 通知 + */ + private Map handleCancelled(JSONObject params) { + log.info("[MCP Server] 请求被取消: {}", params); + return Map.of(); + } + + /** + * 处理 tools/list 请求 + */ + private Map handleToolsList() { + log.info("[MCP Server] 获取工具列表"); + return Map.of("tools", TOOLS); + } + + /** + * 处理 tools/call 请求 + */ + private Map handleToolsCall(JSONObject params) { + String toolName = params.getString("name"); + JSONObject arguments = params.getJSONObject("arguments"); + if (arguments == null) { + arguments = new JSONObject(); + } + log.info("[MCP Server] 调用工具: {}, 参数: {}", toolName, arguments); + + String result = switch (toolName) { + case "hello" -> { + String name = arguments.getString("name"); + if (name == null || name.isEmpty()) { + name = "World"; + } + yield "你好, " + name + "! 欢迎使用 JeecgBoot MCP 服务!"; + } + case "get_time" -> { + yield "当前时间: " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } + case "calculate" -> { + double a = arguments.getDoubleValue("a"); + double b = arguments.getDoubleValue("b"); + String op = arguments.getString("operator"); + if (op == null) op = "+"; + double res = switch (op) { + case "+" -> a + b; + case "-" -> a - b; + case "*" -> a * b; + case "/" -> b != 0 ? a / b : Double.NaN; + default -> throw new RuntimeException("不支持的运算符: " + op); + }; + yield String.format("%.2f %s %.2f = %.2f", a, op, b, res); + } + default -> throw new RuntimeException("未知工具: " + toolName); + }; + + return Map.of( + "content", List.of(Map.of( + "type", "text", + "text", result + )) + ); + } + + /** + * 使用说明页面 + */ + @IgnoreAuth + @GetMapping("/info") + @Operation(summary = "MCP Server 使用说明") + public Map info(HttpServletRequest request) { + log.info("[MCP Server] Hello 接口被访问"); + String baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath(); + return Map.of( + "success", true, + "message", "JeecgBoot MCP Server 示例", + "sseUrl", baseUrl + "/demo/mcp/sse", + "tools", List.of( + Map.of("name", "hello", "description", "打招呼工具", "params", "name: 你的名字"), + Map.of("name", "get_time", "description", "获取当前时间", "params", "无"), + Map.of("name", "calculate", "description", "简单计算器", "params", "a, b, operator(+,-,*,/)") + ), + "usage", "在 Cursor/Claude 等 MCP 客户端中配置 SSE URL: " + baseUrl + "/demo/mcp/sse", + "example", "请调用 hello 工具,参数 name 填 \"测试用户\"" + ); + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java b/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java index b80a3f5f1..def7806f7 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java @@ -72,10 +72,10 @@ public class JeecgDemoController extends JeecgController page = new Page(pageNo, pageSize); IPage pageList = jeecgDemoService.page(page, queryWrapper); - log.info("查询当前页:" + pageList.getCurrent()); - log.info("查询当前页数量:" + pageList.getSize()); - log.info("查询结果数量:" + pageList.getRecords().size()); - log.info("数据总数:" + pageList.getTotal()); + log.debug("查询当前页:" + pageList.getCurrent()); + log.debug("查询当前页数量:" + pageList.getSize()); + log.debug("查询结果数量:" + pageList.getRecords().size()); + log.debug("数据总数:" + pageList.getTotal()); return Result.OK(pageList); } diff --git a/jeecg-boot/jeecg-boot-module/pom.xml b/jeecg-boot/jeecg-boot-module/pom.xml index c3bb23c50..a9bc18b6c 100644 --- a/jeecg-boot/jeecg-boot-module/pom.xml +++ b/jeecg-boot/jeecg-boot-module/pom.xml @@ -5,7 +5,7 @@ jeecg-boot-parent org.jeecgframework.boot3 - 3.9.0 + 3.9.1 4.0.0 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml index 287c3f6f9..2ae8a1acb 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/pom.xml @@ -5,7 +5,7 @@ jeecg-system-api org.jeecgframework.boot3 - 3.9.0 + 3.9.1 4.0.0 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/IAiragBaseApi.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/IAiragBaseApi.java new file mode 100644 index 000000000..1e52252df --- /dev/null +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/IAiragBaseApi.java @@ -0,0 +1,39 @@ +package org.jeecg.common.airag.api; + +import org.jeecg.common.airag.api.fallback.AiragBaseApiFallback; +import org.jeecg.common.constant.ServiceNameConstants; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * airag baseAPI + * + * @author sjlei + * @date 2025-12-30 + */ +@Component +@FeignClient(contextId = "airagBaseRemoteApi", value = ServiceNameConstants.SERVICE_SYSTEM, fallbackFactory = AiragBaseApiFallback.class) +@ConditionalOnMissingClass("org.jeecg.modules.airag.llm.service.impl.AiragBaseApiImpl") +public interface IAiragBaseApi { + + /** + * 知识库写入文本文档 + * + * @param knowledgeId 知识库ID + * @param title 文档标题 + * @param content 文档内容 + * @return 新增的文档ID + * @author sjlei + * @date 2025-12-30 + */ + @PostMapping("/airag/api/knowledgeWriteTextDocument") + String knowledgeWriteTextDocument( + @RequestParam("knowledgeId") String knowledgeId, + @RequestParam("title") String title, + @RequestParam("content") String content + ); + +} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/factory/AiragBaseApiFallbackFactory.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/factory/AiragBaseApiFallbackFactory.java new file mode 100644 index 000000000..abf1f9fff --- /dev/null +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/factory/AiragBaseApiFallbackFactory.java @@ -0,0 +1,18 @@ +package org.jeecg.common.airag.api.factory; + +import org.jeecg.common.airag.api.IAiragBaseApi; +import org.jeecg.common.airag.api.fallback.AiragBaseApiFallback; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +@Component +public class AiragBaseApiFallbackFactory implements FallbackFactory { + + @Override + public IAiragBaseApi create(Throwable cause) { + AiragBaseApiFallback fallback = new AiragBaseApiFallback(); + fallback.setCause(cause); + return fallback; + } + +} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/fallback/AiragBaseApiFallback.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/fallback/AiragBaseApiFallback.java new file mode 100644 index 000000000..4c6b9f068 --- /dev/null +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/airag/api/fallback/AiragBaseApiFallback.java @@ -0,0 +1,16 @@ +package org.jeecg.common.airag.api.fallback; + +import lombok.Setter; +import org.jeecg.common.airag.api.IAiragBaseApi; + +public class AiragBaseApiFallback implements IAiragBaseApi { + + @Setter + private Throwable cause; + + @Override + public String knowledgeWriteTextDocument(String knowledgeId, String title, String content) { + return null; + } + +} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java index 82ce4412a..15ef7d4cd 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java @@ -18,6 +18,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.List; import java.util.Map; @@ -872,6 +873,18 @@ public interface ISysBaseAPI extends CommonAPI { @PostMapping(value = "/sys/api/runAiragFlow") Object runAiragFlow(@RequestBody AiragFlowDTO airagFlowDTO); + /** + * 流式运行AIRag流程 + * for [QQYUN-13634]在baseapi里面封装方法,方便其他模块调用 + * + * @param airagFlowDTO + * @return 流程执行结果,可能是String或者Map + * @author chenrui + * @date 2025/9/2 11:43 + */ + @PostMapping(value = "/sys/api/runAiragFlowStream") + SseEmitter runAiragFlowStream(@RequestBody AiragFlowDTO airagFlowDTO); + /** * 根据部门code或部门id获取部门名称(当前和上级部门) * diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java index e927a9279..0f6e9cc82 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-cloud-api/src/main/java/org/jeecg/common/system/api/fallback/SysBaseAPIFallback.java @@ -12,6 +12,7 @@ import org.jeecg.common.constant.enums.DySmsEnum; import org.jeecg.common.constant.enums.EmailTemplateEnum; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.*; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.List; import java.util.Map; @@ -506,6 +507,11 @@ public class SysBaseAPIFallback implements ISysBaseAPI { return null; } + @Override + public SseEmitter runAiragFlowStream(AiragFlowDTO airagFlowDTO) { + return null; + } + @Override public void uniPushMsgToUser(PushMessageDTO pushMessageDTO) { diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml index 81fe469f6..3809c30c0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/pom.xml @@ -5,7 +5,7 @@ jeecg-system-api org.jeecgframework.boot3 - 3.9.0 + 3.9.1 4.0.0 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/airag/api/IAiragBaseApi.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/airag/api/IAiragBaseApi.java new file mode 100644 index 000000000..e0798d27a --- /dev/null +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/airag/api/IAiragBaseApi.java @@ -0,0 +1,23 @@ +package org.jeecg.common.airag.api; + +/** + * airag baseAPI + * + * @author sjlei + * @date 2025-12-30 + */ +public interface IAiragBaseApi { + + /** + * 知识库写入文本文档 + * + * @param knowledgeId 知识库ID + * @param title 文档标题 + * @param content 文档内容 + * @return 新增的文档ID + * @author sjlei + * @date 2025-12-30 + */ + String knowledgeWriteTextDocument(String knowledgeId, String title, String content); + +} diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java index 34b4d1e8a..b8666db41 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java @@ -11,6 +11,7 @@ import org.jeecg.common.constant.enums.DySmsEnum; import org.jeecg.common.constant.enums.EmailTemplateEnum; import org.jeecg.common.system.vo.*; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.List; import java.util.Map; @@ -618,6 +619,17 @@ public interface ISysBaseAPI extends CommonAPI { */ Object runAiragFlow(AiragFlowDTO airagFlowDTO); + /** + * 流式运行AIRag流程 + * for [QQYUN-13634]在baseapi里面封装方法,方便其他模块调用 + * + * @param airagFlowDTO + * @return 流程执行结果,可能是String或者Map + * @author chenrui + * @date 2025/9/2 11:43 + */ + SseEmitter runAiragFlowStream(AiragFlowDTO airagFlowDTO); + /** * 根据部门code或部门id获取部门名称(当前和上级部门) * diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml index 43fbb68f8..4128b38c2 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-api/pom.xml @@ -5,7 +5,7 @@ jeecg-module-system org.jeecgframework.boot3 - 3.9.0 + 3.9.1 4.0.0 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml b/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml index f2eba21e0..2f584f2c1 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/pom.xml @@ -4,7 +4,7 @@ org.jeecgframework.boot3 jeecg-module-system - 3.9.0 + 3.9.1 4.0.0 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java index 3fe54d1ad..838e999af 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java @@ -2,10 +2,13 @@ package org.jeecg.config.jimureport; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.common.system.vo.DictModel; import org.jeecg.common.system.vo.SysUserCacheInfo; import org.jeecg.common.util.RedisUtil; import org.jeecg.common.util.TokenUtils; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; +import org.jeecg.modules.jmreport.common.vo.JmDictModel; import org.jeecg.modules.system.service.impl.SysBaseApiImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; @@ -13,9 +16,8 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import jakarta.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; + +import java.util.*; /** * 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制) @@ -36,7 +38,11 @@ public class JimuReportTokenService implements JmReportTokenServiceI { @Override public String getToken(HttpServletRequest request) { + try { return TokenUtils.getTokenByRequest(request); + } catch (Exception e) { + return null; + } } @Override @@ -104,4 +110,21 @@ public class JimuReportTokenService implements JmReportTokenServiceI { } return userPermissions.toArray(new String[0]); } + + //TODO 待升级积木报表依赖版本后启用 +// @Override + public List getDictItems(String dictCode) { + List dictItems = new ArrayList<>(); + if(oConvertUtils.isNotEmpty(dictCode)){ + List dictItemsList = sysBaseApi.getDictItems(dictCode); + dictItemsList.forEach(dictItem->{ + JmDictModel dictModel = new JmDictModel(); + dictModel.setText(dictItem.getText()); + dictModel.setValue(dictItem.getValue()); + dictModel.setDictCode(dictCode); + dictItems.add(dictModel); + }); + } + return dictItems; + } } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/JeecgBizToolsProvider.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/JeecgBizToolsProvider.java index e3f9e2445..a45e2749d 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/JeecgBizToolsProvider.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/JeecgBizToolsProvider.java @@ -35,9 +35,6 @@ import java.util.Map; @Component public class JeecgBizToolsProvider implements JeecgToolsProvider { - @Autowired - SysUserController sysUserController; - @Autowired SysUserMapper userMapper; @@ -82,7 +79,7 @@ public class JeecgBizToolsProvider implements JeecgToolsProvider { "\n\n - 你应该提前判断用户的输入是否合法,比如用户名是否符合规范,手机号和邮箱是否正确等." + "\n\n - 提前使用用户名查询用户是否存在,如果存在则不能添加." + "\n\n - 添加成功后返回成功消息,如果失败则返回失败原因." + - "\n\n - 用户名,邮箱,手机号均要求唯一,提前通过查询用户工具确认唯一性." ) + "\n\n - 用户名,手机号均要求唯一,提前通过查询用户工具确认唯一性." ) .parameters( JsonObjectSchema.builder() .addStringProperty("username", "用户名,必填,只允许使用字母、数字、下划线,且必须以字母开头,唯一") @@ -90,7 +87,7 @@ public class JeecgBizToolsProvider implements JeecgToolsProvider { .addStringProperty("realname", "真实姓名,必填") //.addStringProperty("email", "邮箱,必填,唯一") .addStringProperty("phone", "手机号,必填,唯一") - .required("username","password","realname","workNo","email","phone") + .required("username","password","realname","phone") .build() ) .build(); @@ -122,6 +119,7 @@ public class JeecgBizToolsProvider implements JeecgToolsProvider { msg = "添加用户成功"; // 用户变更,触发同步工作流 } catch (Exception e) { + e.printStackTrace(); msg = "添加用户失败"; } return msg; @@ -203,10 +201,10 @@ public class JeecgBizToolsProvider implements JeecgToolsProvider { qw.like("role_code", sysRole.getRoleCode()); } // 未删除 - List roles = sysRoleService.list(qw); + List roles = sysRoleService.list(qw); // 仅返回核心字段 JSONArray arr = new JSONArray(); - for (org.jeecg.modules.system.entity.SysRole r : roles) { + for (SysRole r : roles) { JSONObject o = new JSONObject(); o.put("id", r.getId()); o.put("roleName", r.getRoleName()); @@ -240,10 +238,10 @@ public class JeecgBizToolsProvider implements JeecgToolsProvider { JSONObject args = JSONObject.parseObject(toolExecutionRequest.arguments()); String userId = args.getString("userId"); String roleIdsStr = args.getString("roleIds"); - if (org.apache.commons.lang3.StringUtils.isAnyBlank(userId, roleIdsStr)) { + if (StringUtils.isAnyBlank(userId, roleIdsStr)) { return "参数缺失:userId 或 roleIds"; } - org.jeecg.modules.system.entity.SysUser user = sysUserService.getById(userId); + SysUser user = sysUserService.getById(userId); if (user == null) { return "用户不存在:" + userId; } @@ -252,9 +250,9 @@ public class JeecgBizToolsProvider implements JeecgToolsProvider { for (String roleId : roleIds) { roleId = roleId.trim(); if (roleId.isEmpty()) continue; - org.jeecg.modules.system.entity.SysRole role = sysRoleService.getById(roleId); + SysRole role = sysRoleService.getById(roleId); if (role == null) { invalid++; continue; } - com.baomidou.mybatisplus.core.conditions.query.QueryWrapper q = new com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<>(); + QueryWrapper q = new QueryWrapper<>(); q.eq("role_id", roleId).eq("user_id", userId); org.jeecg.modules.system.entity.SysUserRole one = sysUserRoleService.getOne(q); if (one == null) { diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/TestAiGenWordEnhance.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/TestAiGenWordEnhance.java new file mode 100644 index 000000000..ef6127983 --- /dev/null +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/airag/TestAiGenWordEnhance.java @@ -0,0 +1,74 @@ +package org.jeecg.modules.airag; + +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.util.DateUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.airag.flow.component.enhance.IAiRagEnhanceJava; +import org.jeecg.modules.airag.wordtpl.entity.EoaWordTemplate; +import org.jeecg.modules.airag.wordtpl.service.IEoaWordTemplateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @Description: JavaAIFlow增强节点:生成在线word文档 + * @Author: chenrui + * @Date: 2025-08-06 16:39 + */ +@Slf4j +@Component("jeecgDemoAiWordGen") +public class TestAiGenWordEnhance implements IAiRagEnhanceJava { + + @Autowired + IEoaWordTemplateService eoaWordTemplateService; + + @Override + public Map process(Map inputParams) { + Object resp = inputParams.get("resp"); + String respStr = String.valueOf(resp); + log.info("AI生成word响应内容:{}", respStr); + if(oConvertUtils.isEmpty(respStr)){ + throw new JeecgBootException("AI生成内容失败。请稍后再试或查看后台日志。"); + } + String mainStr = null; + Matcher matcher = Pattern.compile("\\[.*]", Pattern.DOTALL).matcher(respStr); + if (matcher.find()) { + mainStr = matcher.group(); + // 替换中文双引号为英文双引号 + mainStr = mainStr.replaceAll("[“”]", "\""); + // 替换 NBSP 为普通空格 + mainStr = mainStr.replaceAll("\\u00A0", " "); + + log.info("生成word json:{}", mainStr); + // 校验是否为合法 JSON 字符串 + try { + JSON.parse(mainStr); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new JeecgBootException("AI生成的内容不是合法的 JSON 字符串,请稍后再试或优化提示词。"); + } + }else{ + throw new JeecgBootException("AI生成的内容不是合法的 JSON 字符串,请稍后再试或优化提示词。"); + } + + EoaWordTemplate template = new EoaWordTemplate(); + String dateFormat = DateUtils.formatDate(); + template.setName("AI生成的简历_"+dateFormat); + template.setCode("AI_GEN_"+System.currentTimeMillis()); + template.setHeader("[]"); + template.setFooter("[]"); + template.setMain(mainStr); + template.setWidth(794); + template.setHeight(1123); + template.setMargins("[100,120,100,120]"); + template.setPaperDirection("vertical"); + eoaWordTemplateService.save(template); + return Collections.singletonMap("result","success"); + } +} \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java index 7563385ee..e05285c5d 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java @@ -16,6 +16,7 @@ import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.service.impl.SysBaseApiImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.List; import java.util.Map; @@ -1080,6 +1081,19 @@ public class SystemApiController { return sysBaseApi.runAiragFlow(airagFlowDTO); } + /** + * 流式运行AIRag流程 + * for [QQYUN-13634]在baseapi里面封装方法,方便其他模块调用 + * + * @param airagFlowDTO + * @return 流程执行结果,可能是String或者Map + * @return + */ + @PostMapping(value = "/runAiragFlowStream") + SseEmitter runAiragFlowStream(@RequestBody AiragFlowDTO airagFlowDTO) { + return sysBaseApi.runAiragFlowStream(airagFlowDTO); + } + /** * 根据部门code或部门id获取部门名称(当前和上级部门) * diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java index 48d679ba7..840fcd4e0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/openapi/controller/OpenApiController.java @@ -382,7 +382,7 @@ public class OpenApiController extends JeecgController SwaggerInfo info = new SwaggerInfo(); info.setDescription("OpenAPI 接口列表"); - info.setVersion("3.9.0"); + info.setVersion("3.9.1"); info.setTitle("OpenAPI 接口列表"); info.setTermsOfService("https://jeecg.com"); diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java index 5774e0056..c515ea086 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java @@ -20,6 +20,7 @@ import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.*; +import org.jeecg.common.util.filter.SsrfFileTypeFilter; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; import org.jeecg.modules.message.enums.RangeDateEnum; import org.jeecg.modules.message.websocket.WebSocket; @@ -142,6 +143,8 @@ public class SysAnnouncementController { // 代码逻辑说明: 标题处理xss攻击的问题 String title = XssUtils.scriptXss(sysAnnouncement.getTitile()); sysAnnouncement.setTitile(title); + // 【安全校验】校验附件文件名,防止路径遍历攻击 + SsrfFileTypeFilter.checkPathTraversalBatch(sysAnnouncement.getFiles()); sysAnnouncement.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); //未发布 sysAnnouncement.setSendStatus(CommonSendStatus.UNPUBLISHED_STATUS_0); @@ -173,6 +176,8 @@ public class SysAnnouncementController { // 代码逻辑说明: 标题处理xss攻击的问题 String title = XssUtils.scriptXss(sysAnnouncement.getTitile()); sysAnnouncement.setTitile(title); + // 【安全校验】校验附件文件名,防止路径遍历攻击 + SsrfFileTypeFilter.checkPathTraversalBatch(sysAnnouncement.getFiles()); sysAnnouncement.setNoticeType(NoticeTypeEnum.NOTICE_TYPE_SYSTEM.getValue()); boolean ok = sysAnnouncementService.upDateAnnouncement(sysAnnouncement); //TODO 返回false说明什么? @@ -580,7 +585,11 @@ public class SysAnnouncementController { // 判断是否传递了Token,并且Token有效,如果传了就不做查看限制,直接返回 // 如果Token无效,就做查看限制:只能查看已发布的 if (tokenOk || ANNOUNCEMENT_SEND_STATUS_1.equals(announcement.getSendStatus())) { - modelAndView.addObject("data", announcement); + LoginUser user = sysBaseApi.getUserByName(announcement.getSender()); + if(oConvertUtils.isNotEmpty(user)){ + announcement.setSender(user.getRealname()); + } + modelAndView.addObject("data", announcement); modelAndView.setViewName("announcement/showContent"); return modelAndView; } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java index 7239d969a..3b8e2121b 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java @@ -23,6 +23,7 @@ import org.jeecg.common.util.dynamic.db.DataSourceCachePool; import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.security.JdbcSecurityUtil; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; +import org.jeecg.config.sign.annotation.SignatureCheck; import org.jeecg.modules.system.entity.SysDataSource; import org.jeecg.modules.system.service.ISysDataSourceService; import org.jeecg.modules.system.util.SecurityUtil; @@ -82,6 +83,14 @@ public class SysDataSourceController extends JeecgController queryOptions(SysDataSource sysDataSource, HttpServletRequest req) { //------------------------------------------------------------------------------------------------ diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java index 4bc8f721b..05a2eadd8 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysLogController.java @@ -87,10 +87,10 @@ public class SysLogController extends JeecgController { //TODO 一个强大的功能,前端传一个字段字符串,后台只返回这些字符串对应的字段 //创建时间/创建人的赋值 IPage pageList = sysLogService.page(page, queryWrapper); -// log.info("查询当前页:"+pageList.getCurrent()); -// log.info("查询当前页数量:"+pageList.getSize()); -// log.info("查询结果数量:"+pageList.getRecords().size()); -// log.info("数据总数:"+pageList.getTotal()); + log.debug("查询当前页:"+pageList.getCurrent()); + log.debug("查询当前页数量:"+pageList.getSize()); + log.debug("查询结果数量:"+pageList.getRecords().size()); + log.debug("数据总数:"+pageList.getTotal()); result.setSuccess(true); result.setResult(pageList); return result; diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java index e9580e4e0..ee8af1a0d 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java @@ -21,6 +21,7 @@ import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.oConvertUtils; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; +import org.jeecg.config.sign.annotation.SignatureCheck; import org.jeecg.modules.base.service.BaseCommonService; import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.service.ISysTenantPackService; @@ -260,8 +261,11 @@ public class SysTenantController { * @param id * @return */ + @SignatureCheck @RequestMapping(value = "/queryById", method = RequestMethod.GET) public Result queryById(@RequestParam(name="id",required=true) String id) { + log.info("【敏感接口】查询租户信息,租户ID:{}", id); + Result result = new Result(); if(oConvertUtils.isEmpty(id)){ result.error500("参数为空!"); @@ -408,6 +412,7 @@ public class SysTenantController { * @param phone * @return */ + @SignatureCheck @PutMapping("/invitationUserJoin") @RequiresPermissions("system:tenant:invitation:user") public Result invitationUserJoin(@RequestParam("ids") String ids,@RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "username", required = false) String username){ @@ -508,9 +513,10 @@ public class SysTenantController { } /** - * 加入租户通过门牌号【低代码应用专用接口】 + * 申请加入租户通过门牌号【低代码应用专用接口】 * @param sysTenant */ + @SignatureCheck @PostMapping("/joinTenantByHouseNumber") public Result joinTenantByHouseNumber(@RequestBody SysTenant sysTenant){ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -573,10 +579,12 @@ public class SysTenantController { } /** + * 【敲敲云管理员】 同意申请者加入租户 + * * 更新用户租户关系状态【低代码应用专用接口】 */ @PutMapping("/updateUserTenantStatus") - //@RequiresPermissions("system:tenant:updateUserTenantStatus") + @RequiresPermissions("system:tenant:updateUserTenantStatus") public Result updateUserTenantStatus(@RequestBody SysUserTenant userTenant) { String tenantId = TenantContext.getTenant(); if (oConvertUtils.isEmpty(tenantId)) { @@ -586,6 +594,22 @@ public class SysTenantController { return Result.ok("更新用户租户状态成功"); } + /** + * 同意或者拒绝用户加入(敲敲云专用) + * @param userTenant + * @return + */ + @PutMapping("/agreeOrRejectUserJoin") + public Result agreeOrRejectUserJoin(@RequestBody SysUserTenant userTenant) { + String tenantId = TenantContext.getTenant(); + if (oConvertUtils.isEmpty(tenantId)) { + return Result.error("未找到当前租户信息"); + } + sysTenantPackService.izHaveManageUserAuth(tenantId); + relationService.updateUserTenantStatus(userTenant.getUserId(), tenantId, userTenant.getStatus()); + return Result.ok("更新用户租户状态成功"); + } + /** * 注销租户【低代码应用专用接口】 * @@ -712,6 +736,8 @@ public class SysTenantController { * @param departId * @return */ + @SignatureCheck + @RequiresPermissions("system:tenant:invitation:user") @PostMapping("/invitationUser") public Result invitationUser(@RequestParam(name="phone") String phone, @RequestParam(name="departId",defaultValue = "") String departId){ @@ -911,9 +937,10 @@ public class SysTenantController { return Result.ok(pageList); } - /** + /** 【被邀请人使用】 * 同意或拒绝加入租户 */ + @SignatureCheck @PutMapping("/agreeOrRefuseJoinTenant") public Result agreeOrRefuseJoinTenant(@RequestParam("tenantId") Integer tenantId, @RequestParam("status") String status){ diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java index 3e3f00dac..3f676d2e3 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java @@ -1,9 +1,11 @@ package org.jeecg.modules.system.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.constant.CommonConstant; @@ -20,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -48,6 +49,7 @@ public class SysUserOnlineController { @Resource private BaseCommonService baseCommonService; + @RequiresPermissions("system:online:list") @RequestMapping(value = "/list", method = RequestMethod.GET) public Result> list(@RequestParam(name="username", required=false) String username, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { @@ -100,6 +102,7 @@ public class SysUserOnlineController { /** * 强退用户 */ + @RequiresPermissions("system:online:forceLogout") @RequestMapping(value = "/forceLogout",method = RequestMethod.POST) public Result forceLogout(@RequestBody SysUserOnlineVO online) { //用户退出逻辑 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java index 16c4582aa..082628bb3 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java @@ -55,6 +55,7 @@ public class SysAnnouncement implements Serializable { * 发布人 */ @Excel(name = "发布人", width = 15) + @Dict(dictTable = "sys_user",dicCode = "username",dicText = "realname") private java.lang.String sender; /** * 优先级(L低,M中,H高) diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysTenantPackMapper.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysTenantPackMapper.java index d3a2c5ccf..ef278aba7 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysTenantPackMapper.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysTenantPackMapper.java @@ -29,4 +29,13 @@ public interface SysTenantPackMapper extends BaseMapper { */ @Select("select id from sys_tenant_pack where tenant_id = #{tenantId} and (pack_code not in('superAdmin','accountAdmin','appAdmin') or pack_code is null) and iz_sysn = '1'") List getPackIdByPackCodeAndTenantId(@Param("tenantId") Integer tenantId); + + /** + * 是否为拥有管理用户权限【accountAdmin,superAdmin】 + * @param tenantId + * @param userId + * @return + */ + @Select("select count(1) from sys_tenant_pack_user where user_id = #{userId} and tenant_id = #{tenantId} and pack_id in(select id from sys_tenant_pack where tenant_id = #{tenantId} and pack_type = 'custom' and pack_code in('accountAdmin','superAdmin'))") + long izHaveManageUserAuth(@Param("tenantId") String tenantId,@Param("userId") String userId); } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysTenantPackService.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysTenantPackService.java index f7ccbfad9..c8632f4a3 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysTenantPackService.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysTenantPackService.java @@ -104,4 +104,11 @@ public interface ISysTenantPackService extends IService { * @return */ List getPackListByTenantId(String tenantId); + + /** + * 是否为拥有管理用户权限【accountAdmin,superAdmin】 + * + * @param tenantId + */ + void izHaveManageUserAuth(String tenantId); } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java index be85d30f8..066391a6d 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java @@ -12,6 +12,7 @@ import org.apache.shiro.SecurityUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.FileDownloadUtils; +import org.jeecg.common.util.filter.SsrfFileTypeFilter; import org.jeecg.common.util.oConvertUtils; import org.jeecg.config.JeecgBaseConfig; import org.jeecg.config.mybatis.MybatisPlusSaasConfig; @@ -303,6 +304,8 @@ public class SysAnnouncementServiceImpl extends ServiceImpl(message.getTemplateParam())); + pushMessageDTO.setUsernames(Arrays.asList(toUser)); + this.uniPushMsgToUser(pushMessageDTO); } catch (Exception e) { log.error("同步发送第三方APP消息失败!", e); } @@ -2112,6 +2120,14 @@ public class SysBaseApiImpl implements ISysBaseAPI { return o.getResult(); } + @Override + public SseEmitter runAiragFlowStream(AiragFlowDTO airagFlowDTO) { + if (oConvertUtils.isEmpty(airagFlowDTO.getFlowId())) { + throw new JeecgBootException("流程ID不能为空"); + } + return airagFlowService.runFlowStream(airagFlowDTO); + } + /** * uniPush推送消息给APP用户 * @param pushMessageDTO diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java index c66265f3a..32ddef921 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java @@ -371,11 +371,19 @@ public class SysDictServiceImpl extends ServiceImpl impl if (isCustomDataSource) { DynamicDataSourceContextHolder.push(dataSource); } - List restData = sysDictMapper.queryTableDictByKeysAndFilterSql(table, text, code, filterSql, codeValues); - // 清理自定义的数据源 - if (isCustomDataSource) { - DynamicDataSourceContextHolder.clear(); + //update-begin---author:jarysun ---date:20251020 for:[issues/#9002]解决表字典查询出现异常之后,数据源不能恢复问题------------ + List restData = null; + + try { + restData = sysDictMapper.queryTableDictByKeysAndFilterSql(table, text, code, filterSql, codeValues); + } finally { + // 清理自定义的数据源 + if (isCustomDataSource) { + DynamicDataSourceContextHolder.clear(); + } } + //update-end---author:jarysun ---date:20251020 for:[issues/#9002]解决表字典查询出现异常之后,数据源不能恢复问题------------ + return restData; } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantPackServiceImpl.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantPackServiceImpl.java index b992c944a..e4757bc72 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantPackServiceImpl.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysTenantPackServiceImpl.java @@ -6,6 +6,7 @@ import org.apache.shiro.SecurityUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.constant.TenantConstant; +import org.jeecg.common.exception.JeecgBootBizTipException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.oConvertUtils; @@ -478,4 +479,18 @@ public class SysTenantPackServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); // 根据 source_identifier 字段查询 // 代码逻辑说明: 【issues/6017】钉钉同步部门时没有最顶层的部门名,同步用户时,用户没有部门信息--- - queryWrapper.and(item -> item.eq(SysDepart::getId, departmentTree.getSource_identifier()).or().eq(SysDepart::getDingIdentifier,departmentTree.getDept_id())); + queryWrapper.and(item -> item.eq(SysDepart::getId, departmentTree.getSource_identifier()).or().eq(SysDepart::getDingIdentifier,oConvertUtils.getString(departmentTree.getDept_id()))); SysDepart sysDepart = sysDepartService.getOne(queryWrapper); if (sysDepart != null) { // 执行更新操作 diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei index aeeaf07e6..a625fb1d3 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei @@ -1,4 +1,4 @@ -