1. MySQL 建表SQ脚本案例:
- 地域表
CREATE TABLE `xxx_region_list_dic`
(
`seqId` INT(11) NOT NULL AUTO_INCREMENT,
`sortId` INT(11) DEFAULT NULL,
`name` VARCHAR(255) NOT NULL COMMENT '地域',
`code` VARCHAR(25) NOT NULL COMMENT '编码',
`isEnable` VARCHAR(25) DEFAULT NULL COMMENT '是否启用',
PRIMARY KEY (`seqId`)
)
ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='xxx地域表'
- 部门表
CREATE TABLE `xxx_department_list_dic`
(
`seqId` INT(11) NOT NULL AUTO_INCREMENT,
`sortId` INT(11) DEFAULT NULL,
`hrA` VARCHAR(255) NOT NULL COMMENT '部门A',
`hrANo` VARCHAR(25) NOT NULL COMMENT '部门A编号',
`hrB` VARCHAR(255) DEFAULT NULL COMMENT '部门B',
`hrBNo` VARCHAR(25) NOT NULL COMMENT '部门B编号',
`dicType` VARCHAR(25) NOT NULL COMMENT '类型',
`recordCount` INT(11) NOT NULL COMMENT '使用记录',
`isEnable` VARCHAR(25) DEFAULT NULL COMMENT '是否启用',
PRIMARY KEY (`seqId`)
)
ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='xxx部门表'
3. 其它配置字典
CREATE TABLE `xxx_other_list_dic` (
`seqId` int(11) NOT NULL AUTO_INCREMENT,
`parentId` int(11) DEFAULT NULL,
`sort` int(11) DEFAULT NULL,
`dicNameFirst` varchar(255) NOT NULL COMMENT '一级列表名称',
`dicValueFirst` int(11) DEFAULT NULL COMMENT '一级列表编码',
`dicNameSecond` varchar(255) DEFAULT NULL COMMENT '二级列表名称',
`dicValueSecond` int(11) DEFAULT NULL COMMENT '二级列表编码',
`dicType` varchar(255) NOT NULL COMMENT '类型',
`isEnable` varchar(25) DEFAULT NULL COMMENT '是否启用',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
`createBy` int(11) DEFAULT NULL COMMENT '创建人姓名',
`updateTime` datetime DEFAULT NULL COMMENT '修改时间',
`updateby` int(11) DEFAULT NULL COMMENT '修改人姓名',
PRIMARY KEY (`seqId`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='xxxOther字典表'
4. 数据存储表
CREATE TABLE `xxx_form_data_list` (
`seqId` INT(11) NOT NULL AUTO_INCREMENT,
`No` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '编号',
`hrA` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '部门A',
`hrB` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '部门B',
`month` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '月份',
`details` VARCHAR(3000) CHARACTER SET utf8 DEFAULT NULL COMMENT '详述',
`money` DECIMAL(11,2) DEFAULT NULL COMMENT '金额',
`statuSort` INT(11) DEFAULT NULL COMMENT '排序',
`createdNo` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '人员工号',
`createdBy` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '人员姓名',
`createTime` VARCHAR(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '申报时间',
`createTimeSecond` BIGINT(20) DEFAULT NULL COMMENT '申报时间转秒(int存储不下,所以选bigint)',
`isSubmit` VARCHAR(20) DEFAULT NULL COMMENT '是否提交',
`processID` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '流程ID',
PRIMARY KEY (`seqId`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf16 COMMENT='xxx数据清单表'
5. 单据审批流程表:
CREATE TABLE `xxx_process_data_list` (
`seqId` INT(11) NOT NULL AUTO_INCREMENT,
`processID` VARCHAR(200) DEFAULT NULL COMMENT '流程ID',
`jsonData` LONGTEXT COMMENT 'Json数据存储(大文本)',
`taskId` VARCHAR(200) DEFAULT NULL COMMENT '任务节点ID',
`No` VARCHAR(200) DEFAULT NULL COMMENT '编号',
`taskDefKey` VARCHAR(200) DEFAULT NULL COMMENT '任务K值',
`candidateUser` VARCHAR(200) DEFAULT NULL COMMENT '候选人',
`taskDefName` VARCHAR(200) DEFAULT NULL COMMENT '任务名称',
`startTime` VARCHAR(200) DEFAULT NULL COMMENT '任务起始时间',
`endTime` VARCHAR(200) DEFAULT NULL COMMENT '任务结束时间',
`empNo` VARCHAR(200) DEFAULT NULL COMMENT '审批人工号',
`empName` VARCHAR(200) DEFAULT NULL COMMENT '审批人姓名',
`hrA` VARCHAR(200) DEFAULT NULL COMMENT '部门A',
`hrB` VARCHAR(200) DEFAULT NULL COMMENT '部门B',
`region` VARCHAR(200) DEFAULT NULL COMMENT '地域',
`xxApprovalComments` VARCHAR(200) DEFAULT NULL COMMENT 'xx审批意见',
`xxApprovalOperation` VARCHAR(200) DEFAULT NULL COMMENT 'xx审批人操作',
`xxApprovalResult` VARCHAR(200) DEFAULT NULL COMMENT 'xx审批结果',
`xxUploadFile` VARCHAR(500) DEFAULT NULL COMMENT '上传文件',
`createTime` VARCHAR(200) DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`seqId`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='XXX审批流程数据表'
6. 动态模板表
CREATE TABLE `xxx_table_header_list` (
`headerName` VARCHAR(100) NOT NULL COMMENT '表头名称',
`headerField` VARCHAR(100) NOT NULL COMMENT '表头名称字段英文',
`headerType` VARCHAR(100) DEFAULT NULL COMMENT '数据类型',
`headerLength` VARCHAR(100) DEFAULT NULL COMMENT '数据长度',
`isModify` VARCHAR(50) DEFAULT 'true',
`isDelete` VARCHAR(50) DEFAULT 'true',
`isAuto` VARCHAR(50) DEFAULT 'false',
`id` INT(50) NOT NULL AUTO_INCREMENT,
`colExample` VARCHAR(1000) DEFAULT '非必填' COMMENT '样例(Excel模板的第二行样例)',
PRIMARY KEY (`headerName`,`headerField`),
KEY `id` (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='动态模板表'
2. CRUD SQ脚本案例:
// CONCAT:拼接
SELECT DISTINCT dicNameFirst AS title,CONCAT(dicNameFirst,':',dicValueFirst) AS VALUE FROM xxx_other_list_dic WHERE dicType = 'Business';
// as:返回的字段重命名:
SELECT DISTINCT
dicNameFirst AS title,
dicValueFirst AS VALUE,
dicValueFirst AS CODE
FROM xxx_other_list_dic WHERE dicType = 'Business';
// 数据库表:添加字段xxx在字段ABC之后
ALTER TABLE xxx_form_data_list ADD xxx VARCHAR(250) COMMENT '字段xxx' AFTER ABC;
// 数据库表:删除字段xxx:
ALTER TABLE xxx_form_data_list DROP xxx;
// 数据库修改字段isUpdate注释为:是否修改
ALTER TABLE xxx_form_data_list MODIFY COLUMN isUpdate VARCHAR(255) COMMENT '是否修改';
// 数据库修改字段isApproval注释为:是否审批
ALTER TABLE xxx_form_data_list MODIFY isApproval VARCHAR(20) COMMENT '是否审批';
// SQ过滤:不等于
and 1 = (case when taskDefKey <![CDATA[ <> ]]> #{taskDefKey} and xxApprovalResult <![CDATA[ <> ]]> #{xxApprovalResult} then 1 else 0 end);
// 表插入数据
INSERT INTO xxx_table_header_list(headerName,headerField,headerType,headerLength,isModify,isDelete,isAuto) VALUES('序列','orderNo','int','20','false','false','false');
INSERT INTO xxx_table_header_list(headerName,headerField,headerType,headerLength,isModify,isDelete,isAuto) VALUES('编号','No','VARCHAR','200','false','false','false');
INSERT INTO xxx_other_list_dic(dicNameFirst,dicValueFirst,dicNameSecond,dicValueSecond,dicType,isEnable) VALUES('其它','17000','其它','1700010','Business','1');
// 表修改colExample列的数据
UPDATE xxx_table_header_list SET colExample = '系统自动计算(勿填)' WHERE headerField = 'orderNo';
UPDATE xxx_other_list_dic SET dicValueFirst = 11000,dicValueSecond = 1100010,isEnable = '1' WHERE dicNameFirst = '违规场景' AND dicNameSecond = '违规场景-1' AND dicType = 'Business';
// 删除表数据(注意:慎用)
DELETE FROM xxx_table_header_list WHERE 1=1;
注意:如果编写SQ脚本执行文件,MySQL脚本的每条SQ语句后面注意添加英文分号: ’;‘ 。