1、建表
① 機(jī)構(gòu)表
CREATE TABLE `t_sys_org` (
`ID` varchar(64) NOT NULL COMMENT '主鍵ID',
`CODE` varchar(60) DEFAULT NULL COMMENT '編碼',
`NAME` varchar(200) DEFAULT NULL COMMENT '機(jī)構(gòu)名稱',
`FULLNAME` varchar(100) DEFAULT NULL,
`SHORTNAME` varchar(60) DEFAULT NULL COMMENT '機(jī)構(gòu)簡稱',
`ORGCODE` varchar(60) DEFAULT NULL COMMENT '機(jī)構(gòu)代碼',
`PARENTID` varchar(64) DEFAULT NULL COMMENT '上級(jí)機(jī)構(gòu)',
`DEPTH` int(10) DEFAULT NULL COMMENT '深度',
`SORT` varchar(24) DEFAULT NULL COMMENT '排序',
`REMARK` varchar(200) DEFAULT NULL COMMENT '備注',
`STATUS` varchar(4) DEFAULT NULL COMMENT '狀態(tài)',
`ORGTYPE` varchar(2) DEFAULT NULL COMMENT '機(jī)構(gòu)類型',
`CODENUM` varchar(80) DEFAULT NULL COMMENT '單位代碼證編號(hào)',
`LEAGALPERSON` varchar(18) DEFAULT NULL COMMENT '機(jī)構(gòu)法人',
`LEAGALPERSONID` int(10) DEFAULT NULL COMMENT '負(fù)責(zé)人ID',
`SPLITLEADER` varchar(80) DEFAULT NULL COMMENT '分管領(lǐng)導(dǎo)',
`SPLITLEADERID` int(10) DEFAULT NULL COMMENT '分管領(lǐng)導(dǎo)ID',
`ADMINLEVEL` varchar(16) DEFAULT NULL COMMENT '機(jī)構(gòu)行政級(jí)別',
`NATURE` varchar(16) DEFAULT NULL COMMENT '機(jī)構(gòu)性質(zhì)',
`WORKNATUREB` varchar(100) DEFAULT NULL COMMENT '機(jī)構(gòu)工作性質(zhì)(大類)',
`WORKNATUREM` varchar(16) DEFAULT NULL COMMENT '機(jī)構(gòu)工作性質(zhì)(中類)',
`WORKNATURES` varchar(100) DEFAULT NULL COMMENT '機(jī)構(gòu)工作性質(zhì)(小類)',
`ARECODE` varchar(16) DEFAULT NULL COMMENT '單位所隸屬行政區(qū)劃',
`ADDRESS` varchar(800) DEFAULT NULL COMMENT '單位駐地與地址',
`MAILCODE` varchar(16) DEFAULT NULL COMMENT '單位郵編',
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='機(jī)構(gòu)表(T_SYS_ORG)';
②用戶表
CREATE TABLE `t_sys_user` (
`ID` varchar(64) NOT NULL COMMENT '主鍵ID',
`ACCOUNT` varchar(200) DEFAULT NULL COMMENT '賬號(hào)',
`USERNAME` varchar(60) DEFAULT NULL COMMENT '姓名',
`PASSWORD` varchar(120) DEFAULT NULL COMMENT '密碼',
`IDCARD` varchar(72) DEFAULT NULL COMMENT '身份證號(hào)',
`SEX` varchar(4) DEFAULT NULL COMMENT '性別',
`CREATETIME` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',
`MODTIME` datetime DEFAULT NULL COMMENT '修改時(shí)間',
`MODPWDTIME` datetime DEFAULT NULL COMMENT '修改密碼時(shí)間',
`REMARK` varchar(500) DEFAULT NULL COMMENT '備注',
`STATUS` int(10) DEFAULT NULL COMMENT '狀態(tài)',
`ADMINLEVLE` varchar(16) DEFAULT NULL COMMENT '行政級(jí)別',
`ALARMBELL` varchar(16) DEFAULT NULL COMMENT '*',
`ARCHIVEDEPTID` decimal(10,0) DEFAULT NULL COMMENT '檔案部門ID',
`AUTHORIZED` varchar(16) DEFAULT NULL COMMENT '編制',
`BIRTHDAY` datetime DEFAULT NULL COMMENT '出生日期',
`BIRTHPLACE` varchar(128) DEFAULT NULL COMMENT '籍貫',
`CREATEBY` decimal(10,0) DEFAULT NULL COMMENT '創(chuàng)建人',
`EDUCATIONALBG` varchar(16) DEFAULT NULL COMMENT '最高學(xué)歷',
`MODIFYBY` decimal(10,0) DEFAULT NULL COMMENT '修改人',
`NATION` varchar(16) DEFAULT NULL COMMENT '民族',
`POLICENUMBER` varchar(64) DEFAULT NULL COMMENT '警號(hào)',
`POLITICAL` varchar(16) DEFAULT NULL COMMENT '政治面貌',
`POSITION` varchar(16) DEFAULT NULL COMMENT '職務(wù)',
`POSITIONLEVLE` varchar(16) DEFAULT NULL COMMENT '職級(jí)',
`SORTNO` varchar(200) DEFAULT NULL COMMENT '排序級(jí)別',
`WORKDEPTID` varchar(64) DEFAULT NULL COMMENT '工作部門ID',
`ORGID` varchar(64) DEFAULT NULL COMMENT '所屬機(jī)構(gòu)',
`USERSTATUS` decimal(10,0) DEFAULT NULL COMMENT '用戶狀態(tài)',
`COCALLSTATUS` decimal(10,0) DEFAULT NULL COMMENT '即時(shí)通同步狀態(tài)',
`COMPOSITIONDEPTID` decimal(10,0) DEFAULT NULL COMMENT '編制部門',
`RECORDSMAGORG` varchar(100) DEFAULT NULL COMMENT '檔案管理單位',
`NICKNAME` varchar(64) DEFAULT NULL COMMENT '昵稱',
`WORKNUMBER` varchar(100) DEFAULT NULL COMMENT '工作證號(hào)',
`USERKEY` text COMMENT '用戶鍵值',
`PARTJOBNO` varchar(4) DEFAULT NULL,
`IMG_PATH` varchar(200) DEFAULT NULL COMMENT '照片路徑',
PRIMARY KEY (`ID`),
UNIQUE KEY `ACCOUNT_UNIQUE` (`ACCOUNT`) USING BTREE,
KEY `IND_SUSR_ORGID` (`ORGID`) USING BTREE,
KEY `IND_SUSR_STAT` (`STATUS`) USING BTREE,
KEY `IND_SUSR_STNO` (`SORTNO`) USING BTREE,
KEY `IND_SUSR_USTAT` (`USERSTATUS`) USING BTREE,
KEY `IND_SUSR_WDPID` (`WORKDEPTID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表';
3、使用FUNCTION根據(jù)指定的ID流水號(hào)獲取多級(jí)部門編號(hào)(包括當(dāng)前ID)
BEGIN
DECLARE sTemp VARCHAR(4000);
DECLARE sTempChd VARCHAR(4000);
SET sTemp = '$';
SET sTempChd = cast(orgId as char);
WHILE sTempChd is not NULL DO
SET sTemp = CONCAT(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM t_sys_org where FIND_IN_SET(parentId,sTempChd)>0;
END WHILE;
return sTemp;
END
4、根據(jù)部門ID獲取該部門下的所有子部門
select id from t_sys_org where FIND_IN_SET ( id, queryAllChildByOrg('448457')) order by code;
5、根據(jù)獲取的子部門獲取其所有的用戶信息
select username, WORKDEPTID from t_sys_user where WORKDEPTID in select id from t_sys_org where FIND_IN_SET ( id, queryAllChildByOrg('448457')) order by code)
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com