Commit 4ad94462 by lixinming

no message

parent c7fcde06
/**
* 支部制度
*/
import { BRANCHNAME, OPERATIONALDATATYPE, TABLENAME } from "../config/enum/enum";
import { ERRORENUM } from "../config/enum/errorEnum";
import { operationalData, selectData } from "../data/operationalData";
import { changeEnumValue, eccEnumValue } from "../tools/eccEnum";
import { getMySqlMs } from "../tools/systemTools";
import { BizError } from "../util/bizError";
import { dataListItemTimeChangeToTimeStr, datechangeToStr } from "../util/piecemeal";
/**
* 支部制度列表
* @param userInfo
* @param title
* @param pageNumber
* @returns
*/
export async function getBranchSystemList(userInfo, title:string, pageNumber:number) {
let selectParam:any = {};
if (userInfo.branch) {
selectParam.bId = {"%like%":userInfo.branch};
}
if (title) {
selectParam.systemTitle = {"%like%":title};
}
let column = ["systemTitle", "bsId", "releaseTime", "isUse", "bId"];
let dbList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.支部制度表, selectParam, column, pageNumber, 10 );
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.支部制度表, selectParam, null );
let dataList = [];
dbList.forEach(info => {
let {systemTitle, bsId, releaseTime, isUse, bId} = info;
let releaseTimeStr = datechangeToStr(releaseTime);
let branch = changeEnumValue(BRANCHNAME, bId);
dataList.push({
title:systemTitle, bsId, releaseTime:releaseTimeStr, isUse, branch
});
});
return {dataList, dataCount};
}
/**
* 添加支部制度
* @param userInfo
* @param title
* @param branchList
* @param filesNameList
*/
export async function addBranchSystemInfo(userInfo, title:string, branchList, filesNameList) {
let funName = "添加支部制度";
eccEnumValue(funName, 'branchList', BRANCHNAME, branchList);
if (userInfo.branch && branchList.indexOf(userInfo.branch) == -1) {
throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}${funName}但是制度范围不包含他所在的支部`);
}
let addParam = {
systemTitle:title,
bId:JSON.stringify(branchList),
isUse:true,
releaseTime:getMySqlMs(),
fileName:filesNameList,
fileType:'pdf',
uploadTime:getMySqlMs()
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.支部制度表, addParam, {});
return {isSuccess:true};
}
/**
* 修改
* @param userInfo
* @param bsId
* @param title
* @param branchList
* @param filesNameList
*/
export async function updateBranchSystemInfo(userInfo, bsId:number, title:string, branchList, filesNameList) {
let funName = "修改支部制度";
eccEnumValue(funName, 'branchList', BRANCHNAME, branchList);
if (userInfo.branch && branchList.indexOf(userInfo.branch) == -1) {
throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}${funName}但是制度范围不包含他所在的支部`);
}
//todo 这里有争议 修改时不知道怎么处理文件 修改先没处理文件
let updateInfo = {
systemTitle:title,
bId:JSON.stringify(branchList)
};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.支部制度表, updateInfo, {bsId});
return {isSuccess:true};
}
/**
* 回显
* @param userInfo
* @param bsId
*/
export async function getBranchSystemInfo(userInfo, bsId) {
let funName = "回显支部制度";
let column = ["systemTitle", "bsId", "bId"];
let dataInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, column);
let branch = JSON.parse(dataInfo.bId);
if (userInfo.branch && branch.indexOf(userInfo.branch) == -1 ) {
throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}${funName}但是制度范围不包含他所在的支部`);
}
return {title:dataInfo.systemTitle, branch };
}
/**
* 修改制度状态
* @param userInfo
* @param bsId
* @param state
* @returns
*/
export async function changeBranchSystemState(userInfo, bsId:number, state:boolean) {
let funName = "修改支部制度状态";
let dataInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, []);
if (!dataInfo || !dataInfo.bsId) throw new BizError(ERRORENUM.目标数据不存在, `${userInfo.userId}${funName}但是${bsId}已不存在`);
if (userInfo.branch && JSON.parse(dataInfo.bId).indexOf(userInfo.branch) == -1 ) {
throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}${funName}但是制度范围不包含他所在的支部`);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.支部制度表, {isUse:state}, {bsId});
return {isSuccess:true};
}
export async function delBranchSystemData(userInfo, bsId:number) {
let funName = "删除支部制度";
let dataInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, []);
if (!dataInfo || !dataInfo.bsId) throw new BizError(ERRORENUM.目标数据不存在, `${userInfo.userId}${funName}但是${bsId}已不存在`);
if (userInfo.branch && JSON.parse(dataInfo.bId).indexOf(userInfo.branch) == -1 ) {
throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}${funName}但是制度范围不包含他所在的支部`);
}
//todo 这里还要先删除相关文件
await operationalData(OPERATIONALDATATYPE.删除, TABLENAME.支部制度表, {}, {bsId});
return {isSuccess:true};
}
\ No newline at end of file
/**
* 组织架构
*/
import { BRANCHNAME, OPERATIONALDATATYPE, PARTYPOSITIONS, TABLENAME } from "../config/enum/enum";
import { selectData } from "../data/operationalData";
import { changeEnumValue } from "../tools/eccEnum";
/**
* 获取组织架构
* @returns
*/
export async function getOrganization() {
/**树形结构
* {title:"", manager:[{title:"", name:"" }], subList:[{title:"", manager:[title:"", name:""], ordinary:[] }] }
*/
let organizationInfo = {title:"党总支", manager:[], subList:[] };
let column = ["name", "bId", "partyPositionsName"];
let memberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {}, column);
let branchMap = {};// 支部名称:{ ordinary:[], manager:[{title:"", name:"" }] }
memberList.forEach(info => {
let {name, bId, partyPositionsName} = info;
let bName = changeEnumValue(BRANCHNAME, bId);
if ( !branchMap[bName] ) branchMap[bName] = {ordinary:[], manager:[]};
let partyPositionsList = JSON.parse(partyPositionsName);
let inOrdinary = true;
partyPositionsList.forEach(pId => {
inOrdinary = false;
let managerInfo = {
title:changeEnumValue(PARTYPOSITIONS, pId),
name
};
if (pId < PARTYPOSITIONS.支部书记) { /**总支干部 */
organizationInfo.manager.push(managerInfo);
} else {/**支部干部 */
branchMap[bName].manager.push(managerInfo);
}
});
if (inOrdinary) {
branchMap[bName].ordinary.push(name);
}
});
for (let title in branchMap) {
let {ordinary, manager} = branchMap[title];
organizationInfo.subList.push({
title,
ordinary,
manager
});
}
return {organizationInfo};
}
\ No newline at end of file
/**
* 组织生活
*/
export async function getOrgLifeList(month:number, title:string, pageNumber:number) {
}
\ No newline at end of file
import moment = require("moment");
import { CreatePartyCandidateMemberConfig, UpdatePartyActivistsMemberConfig, UpdatePartyCandidateMemberConfig, UpdatePartyFormalMemberConfig } from "../config/eccParam/eccParamConfig";
import { CreatePartyActivistsMemberConfig, CreatePartyCandidateMemberConfig, CreatePartyFormalMemberConfig, UpdatePartyActivistsMemberConfig, UpdatePartyCandidateMemberConfig, UpdatePartyFormalMemberConfig } from "../config/eccParam/eccParamConfig";
import { ADMINISTRATIVEPOSITION, BRANCHNAME, DEDPARTMENT, DEGREE, ENTRYTYPE, OPERATIONALDATATYPE, PARTYPOSITIONS, SEX, TABLENAME } from "../config/enum/enum";
import { selectManyTableData, selectData, operationalData } from "../data/operationalData";
import { selectData, operationalData } from "../data/operationalData";
import { changeEnumValue, eccEnumValue } from "../tools/eccEnum";
import { eccFormParam } from "../tools/eccParam";
import { dateMschangeToStr, datechangeToStr } from "../util/piecemeal";
import { getPartyMemberId } from "../tools/systemTools";
import { datechangeToStr } from "../util/piecemeal";
import { getClientMs, getDefPwd, getMySqlMs, getPartyMemberId } from "../tools/systemTools";
import { BizError } from "../util/bizError";
import { ERRORENUM } from "../config/enum/errorEnum";
/**
......@@ -21,7 +22,7 @@ export async function formalList(branch:number, name:string, pageNumber:number)
if (branch) param.bId = branch;
if (name) param.name = {"%like%":name};
let column = ["pmId", "name", "sex", "birthDate", "phone", "levelOfEducation", "partyJoiningTime", "administrativePositionName", "partyPositionsName", "departmentName"];
let column = ["pmId", "name", "sex", "birthDate", "phone", "levelOfEducation", "partyJoiningTime", "administrativePositionName", "partyPositionsName", "departmentName", "isAdmin"];
let dataServerList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党员基础信息表, param, column, pageNumber, 10 );
let dataList = [];
......@@ -32,7 +33,7 @@ export async function formalList(branch:number, name:string, pageNumber:number)
itemInfo.departmentName = changeEnumValue(DEDPARTMENT, info.departmentName);
itemInfo.branchName = changeEnumValue(BRANCHNAME, itemInfo.bId);
itemInfo.sex = changeEnumValue(SEX, info.sex);
itemInfo.levelOfEducation = changeEnumValue(SEX, info.levelOfEducation);
itemInfo.levelOfEducation = changeEnumValue(DEGREE, info.levelOfEducation);
itemInfo.partyJoiningTime = datechangeToStr(itemInfo.partyJoiningTime);
itemInfo.birthDate = datechangeToStr(itemInfo.birthDate);
......@@ -41,7 +42,7 @@ export async function formalList(branch:number, name:string, pageNumber:number)
});
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党员基础信息表, param, null);
return {dataList:dataServerList, dataCount};
return {dataList, dataCount};
}
......@@ -58,7 +59,7 @@ export async function activistsList(branch:number, name:string, pageNumber:numbe
if (branch) param.bId = branch;
if (name) param.name = {"%like%":name};
let column = ["pmId", "name", "birthDate", "phone", "levelOfEducation", "bId", "askForTime", "listedAsActivistsTime", "administrativePositionName", "liaison", "departmentName" ];
let column = ["pmId", "name", "birthDate", "phone", "sex", "levelOfEducation", "bId", "askForTime", "listedAsActivistsTime", "administrativePositionName", "liaison", "departmentName" ];
let dataServerList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党员基础信息表, param, column, pageNumber, 10 );
let dataList = [];
......@@ -67,16 +68,18 @@ export async function activistsList(branch:number, name:string, pageNumber:numbe
itemInfo.administrativePositionName = changeEnumValue(ADMINISTRATIVEPOSITION, info.administrativePositionName);
itemInfo.departmentName = changeEnumValue(DEDPARTMENT, info.departmentName);
itemInfo.branchName = changeEnumValue(BRANCHNAME, itemInfo.bId);
itemInfo.levelOfEducation = changeEnumValue(SEX, info.levelOfEducation);
itemInfo.levelOfEducation = changeEnumValue(DEGREE, info.levelOfEducation);
itemInfo.sex = changeEnumValue(SEX, info.sex);
itemInfo.partyJoiningTime = datechangeToStr(itemInfo.partyJoiningTime);
itemInfo.birthDate = datechangeToStr(itemInfo.birthDate);
itemInfo.askForTime = datechangeToStr(info.askForTime);
itemInfo.listedAsActivistsTime = datechangeToStr(info.listedAsActivistsTime);
itemInfo.birthDate = datechangeToStr(info.birthDate);
dataList.push(itemInfo);
});
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党员基础信息表, param, null);
return {dataList:dataServerList, dataCount};
return {dataList, dataCount};
}
......@@ -104,7 +107,7 @@ export async function candidateList(branch:number, name:string, pageNumber:numbe
itemInfo.departmentName = changeEnumValue(DEDPARTMENT, info.departmentName);
itemInfo.sex = changeEnumValue(SEX, info.sex);
itemInfo.branchName = changeEnumValue(BRANCHNAME, itemInfo.bId);
itemInfo.levelOfEducation = changeEnumValue(SEX, info.levelOfEducation);
itemInfo.levelOfEducation = changeEnumValue(DEGREE, info.levelOfEducation);
itemInfo.askForTime = datechangeToStr(itemInfo.askForTime);
itemInfo.talkTime = datechangeToStr(itemInfo.talkTime);
......@@ -114,7 +117,7 @@ export async function candidateList(branch:number, name:string, pageNumber:numbe
});
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党员基础信息表, param, null);
return {dataList:dataServerList, dataCount};
return {dataList, dataCount};
}
......@@ -125,13 +128,16 @@ export async function candidateList(branch:number, name:string, pageNumber:numbe
export async function partyActivistsMemberInfomation(pmId:string) {
let param:any = {pmId};
let column = ["name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "askForTime", "listedAsActivistsTime", "departmentName", "administrativePositionName", "liaison"];
let column = ["pmId","name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "askForTime", "listedAsActivistsTime", "departmentName", "administrativePositionName", "liaison"];
let dataServerList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党员基础信息表, param, column );
let dataInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, param, column );
let dataInfo = dataServerList[0] || {};
if (dataInfo.pmId) {
dataInfo.departmentName = JSON.parse(dataInfo.departmentName);
dataInfo.birthDate = getClientMs(dataInfo.birthDate);
dataInfo.askForTime = getClientMs(dataInfo.askForTime);
dataInfo.listedAsActivistsTime = getClientMs(dataInfo.listedAsActivistsTime);
}
return dataInfo;
......@@ -146,14 +152,16 @@ export async function partyActivistsMemberInfomation(pmId:string) {
export async function partyFormalMemberInfomation(pmId:string) {
let param:any = {pmId};
let column = ["name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "partyJoiningTime", "administrativePositionName", "departmentName", "partyPositionsName"];
let column = ["pmId", "name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "partyJoiningTime", "administrativePositionName", "departmentName", "partyPositionsName"];
let dataServerList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党员基础信息表, param, column );
let dataInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, param, column );
let dataInfo = dataServerList[0] || {};
if (dataInfo.pmId) {
dataInfo.departmentName = JSON.parse(dataInfo.departmentName);
dataInfo.partyPositionsName = JSON.parse(dataInfo.partyPositionsName)
dataInfo.partyPositionsName = JSON.parse(dataInfo.partyPositionsName);
dataInfo.birthDate = getClientMs(dataInfo.birthDate);
dataInfo.partyJoiningTime = getClientMs(dataInfo.partyJoiningTime);
}
return dataInfo;
......@@ -167,13 +175,16 @@ export async function partyFormalMemberInfomation(pmId:string) {
export async function partyCandidateMemberInfomation(pmId:string) {
let param:any = {pmId};
let column = ["name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "askForTime", "talkTime", "administrativePositionName", "departmentName"];
let column = ["pmId","name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "askForTime", "talkTime", "administrativePositionName", "departmentName"];
let dataServerList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党员基础信息表, param, column );
let dataInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, param, column );
let dataInfo = dataServerList[0] || {};
if (dataInfo.pmId) {
dataInfo.departmentName = JSON.parse(dataInfo.departmentName);
dataInfo.birthDate = getClientMs(dataInfo.birthDate);
dataInfo.askForTime = getClientMs(dataInfo.askForTime);
dataInfo.talkTime = getClientMs(dataInfo.talkTime);
}
return dataInfo;
......@@ -196,10 +207,10 @@ export async function updatePartyActivistsMemberData(pmId:string, param) {
/**多个枚举转换成json */
param.departmentName = JSON.stringify(param.departmentName);
/**时间戳转换成Date格式 */
param.birthDate = dateMschangeToStr(param.birthDate);
param.askForTime = dateMschangeToStr(param.askForTime);
param.listedAsActivistsTime = moment(param.listedAsActivistsTime).format("YYYY-MM-DD HH:mm:SS");
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, param, pmId);
param.birthDate = getMySqlMs(param.birthDate);
param.askForTime = getMySqlMs(param.askForTime);
param.listedAsActivistsTime = getMySqlMs(param.listedAsActivistsTime);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, param, {pmId});
return {isSuccess:true};
}
......@@ -223,9 +234,9 @@ export async function updatePartyFormalMemberData(pmId:string, param) {
param.partyPositionsName = JSON.stringify(param.partyPositionsName);
param.departmentName = JSON.stringify(param.departmentName);
/**时间戳转换成Date格式 */
param.birthDate = dateMschangeToStr(param.birthDate);
param.partyJoiningTime = dateMschangeToStr(param.partyJoiningTime);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, param, pmId);
param.birthDate = getMySqlMs(param.birthDate);
param.partyJoiningTime = getMySqlMs(param.partyJoiningTime);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, param, {pmId});
return {isSuccess:true};
}
......@@ -247,10 +258,10 @@ export async function updatePartyCandidateMemberData(pmId:string, param) {
/**多个枚举转换成json */
param.departmentName = JSON.stringify(param.departmentName);
/**时间戳转换成Date格式 */
param.birthDate = dateMschangeToStr(param.birthDate);
param.askForTime = dateMschangeToStr(param.askForTime);
param.talkTime = dateMschangeToStr(param.talkTime);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, param, pmId);
param.birthDate = getMySqlMs(param.birthDate);
param.askForTime = getMySqlMs(param.askForTime);
param.talkTime = getMySqlMs(param.talkTime);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, param, {pmId});
return {isSuccess:true};
}
......@@ -273,12 +284,15 @@ export async function createCandidateMember(userInfo, param) {
/**多个枚举转换成json */
param.departmentName = JSON.stringify(param.departmentName);
/**时间戳转换成Date格式 */
param.birthDate = dateMschangeToStr(param.birthDate);
param.askForTime = dateMschangeToStr(param.askForTime);
param.talkTime = dateMschangeToStr(param.talkTime);
param.birthDate = getMySqlMs(param.birthDate);
param.askForTime = getMySqlMs(param.askForTime);
param.talkTime = getMySqlMs(param.talkTime);
param.etId = ENTRYTYPE.预备党员;
param.pmId = getPartyMemberId(userInfo.userId);
param.loginId = param.phone;
param.pwd = getDefPwd(param.phone);
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员基础信息表, param, null);
return {isSuccess:true};
......@@ -291,24 +305,107 @@ export async function createCandidateMember(userInfo, param) {
* @param param
* @returns
*/
export async function createFormalMember(userInfo, param) {//todo
eccFormParam(`创建党员信息`, UpdatePartyCandidateMemberConfig, param);
export async function createFormalMember(userInfo, param) {
eccFormParam(`创建党员信息`, CreatePartyFormalMemberConfig, param);
/**校验枚举 */
eccEnumValue("创建党员信息", "sex", SEX, param.sex);
eccEnumValue("创建党员信息", "bId", BRANCHNAME, param.bId);
eccEnumValue("创建党员信息", "administrativePositionName", ADMINISTRATIVEPOSITION, param.administrativePositionName);
eccEnumValue("创建党员信息", "departmentName", DEDPARTMENT, param.departmentName);
eccEnumValue("创建党员信息", "levelOfEducation", DEGREE, param.levelOfEducation);
eccEnumValue("修改党员基础信息", "sex", SEX, param.sex);
eccEnumValue("修改党员基础信息", "bId", BRANCHNAME, param.bId);
eccEnumValue("修改党员基础信息", "administrativePositionName", ADMINISTRATIVEPOSITION, param.administrativePositionName);
eccEnumValue("修改党员基础信息", "departmentName", DEDPARTMENT, param.departmentName);
eccEnumValue("修改党员基础信息", "partyPositionsName", PARTYPOSITIONS, param.partyPositionsName);
eccEnumValue("修改党员基础信息", "levelOfEducation", DEGREE, param.levelOfEducation);
/**多个枚举转换成json */
param.partyPositionsName = JSON.stringify(param.partyPositionsName);
param.departmentName = JSON.stringify(param.departmentName);
/**时间戳转换成Date格式 */
param.birthDate = dateMschangeToStr(param.birthDate);
param.askForTime = dateMschangeToStr(param.askForTime);
param.talkTime = dateMschangeToStr(param.talkTime);
param.birthDate = getMySqlMs(param.birthDate);
param.partyJoiningTime = getMySqlMs(param.partyJoiningTime);
param.etId = ENTRYTYPE.正式党员;
param.pmId = getPartyMemberId(userInfo.userId);
param.loginId = param.phone;
param.pwd = getDefPwd(param.phone);
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员基础信息表, param, null);
return {isSuccess:true};
}
/**
* 创建积极分子信息
* @param userInfo
* @param param
* @returns
*/
export async function createActivistsMember(userInfo, param) {
let eccTitle = '创建积极分子信息';
eccFormParam(eccTitle, CreatePartyActivistsMemberConfig, param);
/**校验参数 */
eccEnumValue("修改积极分子信息", "sex", SEX, param.sex);
eccEnumValue("修改积极分子信息", "bId", BRANCHNAME, param.bId);
eccEnumValue("修改积极分子信息", "departmentName", DEDPARTMENT, param.departmentName);
eccEnumValue("修改积极分子信息", "administrativePositionName", ADMINISTRATIVEPOSITION, param.administrativePositionName);
eccEnumValue("修改党员基础信息", "levelOfEducation", DEGREE, param.levelOfEducation);
/**多个枚举转换成json */
param.departmentName = JSON.stringify(param.departmentName);
/**时间戳转换成Date格式 */
param.birthDate = getMySqlMs(param.birthDate);
param.askForTime = getMySqlMs(param.askForTime);
param.listedAsActivistsTime = getMySqlMs(param.listedAsActivistsTime);
param.etId = ENTRYTYPE.入党积极分子;
param.pmId = getPartyMemberId(userInfo.userId);
param.loginId = param.phone;
param.pwd = getDefPwd(param.phone);
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员基础信息表, param, null);
return {isSuccess:true};
}
/**
* 给正式党员打开管理员权限
* @param pmId
* @returns
*/
export async function openformalAdminState(userInfo, pmId) {
if (!userInfo.isSuperAdmin) throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}尝试修改管理员权限`);
let formalInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId}, [] );
if (!formalInfo) throw new BizError(ERRORENUM.用户不存在, `${userInfo.userId}尝试将${pmId}设为管理员`);
if (formalInfo.etId != ENTRYTYPE.正式党员 ) throw new BizError(ERRORENUM.目标用户不是正式党员, `${userInfo.userId}尝试将${pmId}设为管理员`);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, {isAdmin:true}, {pmId});
return {isSuccess:true};
}
/**
* 关闭管理员权限
* @param pmId
* @returns
*/
export async function closeformalAdminState(userInfo, pmId:string) {
if (!userInfo.isSuperAdmin) throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}尝试修改管理员权限`);
let formalInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId}, [] );
if (!formalInfo) throw new BizError(ERRORENUM.用户不存在, `${userInfo.userId}尝试将${pmId}设为管理员`);
if (formalInfo.etId != ENTRYTYPE.正式党员 ) throw new BizError(ERRORENUM.目标用户不是正式党员, `${userInfo.userId}尝试将${pmId}设为管理员`);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, {isAdmin:false}, {pmId});
return {isSuccess:true};
}
export async function deleteMember(userInfo, pmId:string) {
let formalInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId}, [] );
if (!formalInfo) throw new BizError(ERRORENUM.用户不存在, `${userInfo.userId}尝试将${pmId}设删除`);
if (!userInfo.isSuperAdmin && formalInfo.isAdmin) {
throw new BizError(ERRORENUM.权限不足, `${userInfo.userId}尝试将${pmId}删除`);
}
await operationalData(OPERATIONALDATATYPE.删除, TABLENAME.党员基础信息表, null, {pmId});
return {isSuccess:true};
}
\ No newline at end of file
......@@ -9,7 +9,7 @@ import { getMySqlMs, getUserToken } from "../tools/systemTools";
import { BizError } from "../util/bizError";
export async function loginAdminSys(loginId:string, pwd:string) {
let resultInfo = {branch:-1, token:'', userId:''};
let resultInfo = {branch:-1, token:'', userId:'', isAdmin:false};
if (loginId == "admin") { /**超级管理员 */
let userInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.后台用户表, {loginId}, null);
if (!userInfo || !userInfo.uId) throw new BizError(ERRORENUM.用户不存在, `不存在loginId=${loginId}的用户`);
......@@ -20,6 +20,7 @@ export async function loginAdminSys(loginId:string, pwd:string) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.后台用户表, {token, tokenMs}, {loginId});
resultInfo.branch = 0;
resultInfo.isAdmin = true;
resultInfo.token = token;
resultInfo.userId = userInfo.uId;
......
/**
* 修改积极分子信息
* 积极分子信息[修改]
*/
export const UpdatePartyActivistsMemberConfig = {
name:{type:"String" },//姓名
......@@ -19,7 +19,25 @@ export const UpdatePartyActivistsMemberConfig = {
/**
* 修改正式党员信息
* 积极分子信息[创建]
*/
export const CreatePartyActivistsMemberConfig = {
name:{type:"String" },//姓名
sex:{type:"Number" },//性别
birthDate:{type:"Number" },//出生年月
phone:{type:"String" },//电话
levelOfEducation: {type:"Number" },//文化程度
bId:{type:"Number" },//支部
askForTime:{type:"Number" },//入党申请时间
listedAsActivistsTime:{type:"Number" },//列为积极分子时间
departmentName:{type:"[Number]" },//所属科室表id
administrativePositionName:{type:"Number" },//行政职务id
liaison:{type:"String"}//联系人
}
/**
* 正式党员信息[修改]
*/
export const UpdatePartyFormalMemberConfig = {
// pmId:{type:"String" },//
......@@ -31,13 +49,30 @@ export const UpdatePartyFormalMemberConfig = {
bId:{type:"Number" },//支部
partyJoiningTime:{type:"Number" },//入党时间
administrativePositionName:{type:"Number" },//行政职务id
partyPositionsName:{type:"[Number]" },//党内职务id
partyPositionsName:{type:"[Number]", notMustHave:true },//党内职务id
departmentName:{type:"[Number]" },//所属科室表id
}
/**
* 正式党员信息[创建]
*/
export const CreatePartyFormalMemberConfig = {
name:{type:"String" },//姓名
sex:{type:"Number" },//性别
birthDate:{type:"Number" },//出生年月
phone:{type:"String" },//电话
levelOfEducation: {type:"Number" },//文化程度
bId:{type:"Number" },//支部
partyJoiningTime:{type:"Number" },//入党时间
administrativePositionName:{type:"Number" },//行政职务id
partyPositionsName:{type:"[Number]", notMustHave:true },//党内职务id
departmentName:{type:"[Number]" },//所属科室表id
}
/**
* 预备党员信息
* 预备党员信息[修改]
*/
export const UpdatePartyCandidateMemberConfig = {
name:{type:"String" },//姓名
......@@ -53,7 +88,7 @@ export const UpdatePartyCandidateMemberConfig = {
}
/**
* 预备党员信息
* 预备党员信息[创建]
*/
export const CreatePartyCandidateMemberConfig = {
name:{type:"String" },//姓名
......
......@@ -84,8 +84,7 @@ export enum DEGREE {
/**所属支部 */
export enum BRANCHNAME {
党总支 = 1,
牙防所第一支部,
牙防所第一支部 = 1,
牙防所第二支部,
牙防所第三支部,
牙防所第四支部
......@@ -129,14 +128,16 @@ export enum ADMINISTRATIVEPOSITION {
}
/**党内职务 */
/**
* 党内职务
*/
export enum PARTYPOSITIONS {
党总支书记 = 4,
党总支副书记,
党总支宣传委员,
党总支统战委员,
党总支纪检委员,
支部书记,
支部书记=100,
支部副书记,
纪检委员,
统战委员,
......
......@@ -8,12 +8,18 @@ export enum ERRORENUM {
请完善信息,
该方法仅可进行数据操作,
数据操作失败,
数据查询失败,
数据联合查询失败,
该方法仅可进行查询操作,
该方法仅可进行联合查询操作,
分页请设置当前页数,
密码错误,
用户不存在,
该用户不是管理员
该用户不是管理员,
目标用户不是正式党员,
管理员不可被删除,
权限不足,
目标数据不存在
}
export enum ERRORCODEENUM {
......
......@@ -60,11 +60,11 @@ export async function selectData(url, tableName, param, column, pageNumber?, pa
}
let result:any = await post(`${systemConfig.dbPath}${url}`, queray, header );
if (result.code != 200) throw new BizError(ERRORENUM.数据操作失败, result.code);
if (!result.data || !result.data.data) throw new BizError(ERRORENUM.数据操作失败, JSON.stringify(result.data));
if (result.code != 200) throw new BizError(ERRORENUM.数据查询失败, result.code);
if (!result.data || result.data.data == null || result.data.data == undefined) throw new BizError(ERRORENUM.数据查询失败, JSON.stringify(result.data));
return result.data.data;
}
export async function selectManyTableData(url, tableName, param, column, includeConf, pageNumber?, pageSize?) {
......@@ -85,7 +85,7 @@ export async function selectManyTableData(url, tableName, param, column, includ
let result:any = await post(`${systemConfig.dbPath}${url}`, queray, header );
if (result.code != 200) throw new BizError(ERRORENUM.数据操作失败, result.code);
if (!result.data || !result.data.data) throw new BizError(ERRORENUM.数据操作失败, JSON.stringify(result.data));
if (result.code != 200) throw new BizError(ERRORENUM.数据联合查询失败, result.code);
if (!result.data || !result.data.data) throw new BizError(ERRORENUM.数据联合查询失败, JSON.stringify(result.data));
return result.data.data;
}
\ No newline at end of file
......@@ -23,7 +23,7 @@ export async function checkToken(req, res, next) {
if (!userInfo.token || userInfo.token != token) return next(new BizError(ERRORENUM.身份验证过期));
req.userInfo = {
branch:0,
isAdmin:true,
isSuperAdmin:true,
userId,
};
}
......@@ -34,7 +34,7 @@ export async function checkToken(req, res, next) {
req.userInfo = {
branch:userInfo.bId,
isAdmin:false,
isSuperAdmin:false,
userId,
};
}
......
/**
* 支部制度
*/
import * as asyncHandler from 'express-async-handler';
import * as branchSystemBiz from '../biz/branchSystem';
import { checkToken } from '../middleware/user';
import { eccReqParamater } from '../tools/eccParam';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/branchsystem/list', checkToken, asyncHandler(branchSystemList));
httpServer.post('/yfs/admin/branchsystem/add', checkToken, asyncHandler(addBranchSystem));
httpServer.post('/yfs/admin/branchsystem/del', checkToken, asyncHandler(delBranchSystem));
httpServer.post('/yfs/admin/branchsystem/open', checkToken, asyncHandler(openBranchSystem));
httpServer.post('/yfs/admin/branchsystem/close', checkToken, asyncHandler(closeBranchSystem));
httpServer.post('/yfs/admin/branchsystem/info', checkToken, asyncHandler(branchSystemInfo));
httpServer.post('/yfs/admin/branchsystem/update', checkToken, asyncHandler(updateBranchSystem));
}
/**
* 支部制度列表
* @param req
* @param res
*/
async function branchSystemList(req, res) {
let userInfo = req.userInfo;
let reqConf = {title:'String', pageNumber:'Number'};
let { title, pageNumber } = eccReqParamater(reqConf, req.body, ["title"]);
let result = await branchSystemBiz.getBranchSystemList(userInfo, title, pageNumber);
res.success(result);
}
/**
* 添加支部制度
* @param req
* @param res
*/
async function addBranchSystem(req, res) {
let userInfo = req.userInfo;
let reqConf = {title:'String', branch:'[Number]', filesNameList:'[String]' };
let { title, branch, filesNameList } = eccReqParamater(reqConf, req.body, ["filesNameList"]);
let result = await branchSystemBiz.addBranchSystemInfo(userInfo, title, branch, filesNameList);
res.success(result);
}
/**
* 修改支部制度
* @param req
* @param res
*/
async function updateBranchSystem(req, res) {
let userInfo = req.userInfo;
let reqConf = {title:'String', branch:'[Number]', filesNameList:'[String]', bsId:'Number' };
let { title, branch, filesNameList, bsId } = eccReqParamater(reqConf, req.body, ["filesNameList"]);
let result = await branchSystemBiz.updateBranchSystemInfo(userInfo, bsId, title, branch, filesNameList);
res.success(result);
}
/**
* 回显支部制度
* @param req
* @param res
*/
async function branchSystemInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = { bsId:'Number' };
let { bsId } = eccReqParamater(reqConf, req.body, []);
let result = await branchSystemBiz.getBranchSystemInfo(userInfo, bsId);
res.success(result);
}
/**
* 打开状态
* @param req
* @param res
*/
async function openBranchSystem(req, res) {
let userInfo = req.userInfo;
let reqConf = { bsId:'Number' };
let { bsId } = eccReqParamater(reqConf, req.body, []);
let result = await branchSystemBiz.changeBranchSystemState(userInfo, bsId, true);
res.success(result);
}
/**
* 关闭状态
* @param req
* @param res
*/
async function closeBranchSystem(req, res) {
let userInfo = req.userInfo;
let reqConf = { bsId:'Number' };
let { bsId } = eccReqParamater(reqConf, req.body, []);
let result = await branchSystemBiz.changeBranchSystemState(userInfo, bsId, false);
res.success(result);
}
/**
* 删除
* @param req
* @param res
*/
async function delBranchSystem(req, res) {
let userInfo = req.userInfo;
let reqConf = { bsId:'Number' };
let { bsId } = eccReqParamater(reqConf, req.body, []);
let result = await branchSystemBiz.delBranchSystemData(userInfo, bsId);
res.success(result);
}
import * as asyncHandler from 'express-async-handler';
import * as organizationBiz from '../biz/organization';
import { checkToken } from '../middleware/user';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/organization/list', checkToken, asyncHandler(organizationInfo));
}
/**
* 组织架构
* @param req
* @param res
*/
async function organizationInfo(req, res) {
let userInfo = req.userInfo;
let result = await organizationBiz.getOrganization();
res.success(result);
}
......@@ -6,21 +6,28 @@ import * as asyncHandler from 'express-async-handler'
import { eccReqParamater } from '../tools/eccParam';
import * as partyMemberBiz from '../biz/partyMember';
import { checkToken } from '../middleware/user';
import { ENTRYTYPE } from '../config/enum/enum';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/partymember/del', checkToken, asyncHandler(delMember));
httpServer.post('/yfs/admin/partymember/formal/list', checkToken, asyncHandler(formalPartyList));
httpServer.post('/yfs/admin/partymember/formal/info', checkToken, asyncHandler(formalPartyInfo));
httpServer.post('/yfs/admin/partymember/formal/update', checkToken, asyncHandler(updateFormalPartyInfo));
httpServer.post('/yfs/admin/partymember/formal/create', checkToken, asyncHandler(createFormalPartyInfo));
httpServer.post('/yfs/admin/partymember/formal/admin/open', checkToken, asyncHandler(openAdminState));
httpServer.post('/yfs/admin/partymember/formal/admin/close', checkToken, asyncHandler(closeAdminState));
httpServer.post('/yfs/admin/partymember/activists/list', checkToken, asyncHandler(activistsPartyList));
httpServer.post('/yfs/admin/partymember/activists/info', checkToken, asyncHandler(activistsPartyInfo));
httpServer.post('/yfs/admin/partymember/activists/update', checkToken, asyncHandler(updateActivistsInfo));
httpServer.post('/yfs/admin/partymember/activists/create', checkToken, asyncHandler(createActivistsInfo));
httpServer.post('/yfs/admin/partymember/candidate/list', checkToken, asyncHandler(candidatePartyList));
httpServer.post('/yfs/admin/partymember/candidate/info', checkToken, asyncHandler(candidatePartyInfo));
httpServer.post('/yfs/admin/partymember/candidate/update', checkToken, asyncHandler(updateCandidateInfo));
httpServer.post('/yfs/admin/partymember/candidate/create', checkToken, asyncHandler(createCandidateInfo));
}
/**
......@@ -32,9 +39,10 @@ async function formalPartyList(req, res) {
let userInfo = req.userInfo;
let reqConf = {branch:'Number', name:'String', pageNumber:'Number'};
let {branch, name, pageNumber} = eccReqParamater(reqConf, req.body);
let {branch, name, pageNumber} = eccReqParamater(reqConf, req.body, ["branch", "name"]);
let result = await partyMemberBiz.formalList(branch, name, pageNumber);
res.success(result);
}
......@@ -49,7 +57,8 @@ async function formalPartyInfo(req, res) {
let reqConf = {pmId:'String'};
let {pmId} = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.partyFormalMemberInfomation(pmId);
let result = await partyMemberBiz.partyFormalMemberInfomation(pmId);
res.success(result);
}
......@@ -69,6 +78,19 @@ async function updateFormalPartyInfo(req, res) {
}
async function createFormalPartyInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {form:'Object'};
let {form } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.createFormalMember(userInfo, form);
res.success(result);
}
/**
* 积极分子列表
* @param req
......@@ -78,9 +100,10 @@ async function activistsPartyList(req, res) {
let userInfo = req.userInfo;
let reqConf = {branch:'Number', name:'String', pageNumber:'Number'};
let {branch, name, pageNumber} = eccReqParamater(reqConf, req.body);
let {branch, name, pageNumber} = eccReqParamater(reqConf, req.body, ["branch", "name"]);
let result = await partyMemberBiz.activistsList(branch, name, pageNumber);
res.success(result);
}
......@@ -110,6 +133,16 @@ async function updateActivistsInfo(req, res) {
res.success(result);
}
async function createActivistsInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = { form:'Object'};
let { form } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.createActivistsMember(userInfo, form);
res.success(result);
}
/**
......@@ -121,9 +154,10 @@ async function candidatePartyList(req, res) {
let userInfo = req.userInfo;
let reqConf = {branch:'Number', name:'String', pageNumber:'Number'};
let {branch, name, pageNumber} = eccReqParamater(reqConf, req.body);
let {branch, name, pageNumber} = eccReqParamater(reqConf, req.body, ["branch", "name"]);
let result = await partyMemberBiz.candidateList(branch, name, pageNumber);
res.success(result);
}
......@@ -151,4 +185,46 @@ async function updateCandidateInfo(req, res) {
let result = await partyMemberBiz.updatePartyCandidateMemberData(pmId, form);
res.success(result);
}
async function createCandidateInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {form:'Object'};
let { form } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.createCandidateMember(userInfo, form);
res.success(result);
}
async function openAdminState(req, res) {
let userInfo = req.userInfo;
let reqConf = {pmId:'String'};
let { pmId } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.openformalAdminState(userInfo, pmId);
res.success(result);
}
async function closeAdminState(req, res) {
let userInfo = req.userInfo;
let reqConf = {pmId:'String'};
let { pmId } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.closeformalAdminState(userInfo, pmId);
res.success(result);
}
async function delMember(req, res) {
let userInfo = req.userInfo;
let reqConf = {pmId:'String'};
let { pmId } = eccReqParamater(reqConf, req.body);
let result = await partyMemberBiz.deleteMember(userInfo, pmId);
res.success(result);
}
\ No newline at end of file
import * as asyncHandler from 'express-async-handler'
import * as enumConfig from '../config/enum/enum';
let publicRouterConfig = {
"entrytype":enumConfig.ENTRYTYPE,//名册录入类型
"sex":enumConfig.SEX,//性别
"degree":enumConfig.DEGREE,//文化程度
"branchname":enumConfig.BRANCHNAME,//支部名称
"administrativeposition":enumConfig.ADMINISTRATIVEPOSITION,//行政职务
"partypositions":enumConfig.PARTYPOSITIONS,//党内职务
"dedpartment":enumConfig.DEDPARTMENT,//所属科室
}
export function setRouter(httpServer) {
for (let key in publicRouterConfig) {
let url = `/yfs/admin/public/${key}`;
let enumItem = publicRouterConfig[key];
httpServer.post(url, asyncHandler((req, res) => {
let dataList = [];
for (let key in enumItem) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:enumItem[key]});
}
}
res.success({dataList});
}));
}
}
import * as userRouter from "./user";
import * as partyMemberRouter from "./partyMember";
import * as publicRouter from "./public";
import * as organizationRouter from "./organization";
import * as branchSystemRouter from "./branchSystem";
export function setRouter(httpServer) {
userRouter.setRouter(httpServer);
partyMemberRouter.setRouter(httpServer);
publicRouter.setRouter(httpServer);
organizationRouter.setRouter(httpServer);
branchSystemRouter.setRouter(httpServer);
}
\ No newline at end of file
......@@ -24,7 +24,7 @@ async function login(req, res) {
async function logout(req, res) {
let userInfo = req.userInfo;
let result = await userBIz.logout(userInfo.userId, userInfo.isAdmin);
let result = await userBIz.logout(userInfo.userId, userInfo.isSuperAdmin);
res.success(result);
}
......@@ -11,6 +11,15 @@ export function getMySqlMs(time?) {
return moment(time).format("YYYY-MM-DD HH:mm:ss");
}
export function getClientMs(time) {
if (!time) return new Date().valueOf();
return new Date(time).valueOf();
}
export function getPartyMemberId(param) {
return md5(`${param}-${new Date().valueOf()}-${Math.ceil(Math.random() * 10000)}`);
}
export function getDefPwd(phone:string) {
return md5(`${phone.slice(5, 11)}`);
}
\ No newline at end of file
......@@ -70,10 +70,17 @@ export function checkDataHaveNull(data:object, sensitive:boolean) {
}
export function dateMschangeToStr(timeMs:number) {
return moment(timeMs).format("YYYY-MM-DD HH:mm:SS")
}
export function datechangeToStr(timeMs) {
return moment(timeMs).format("YYYY-MM-DD")
}
export function dataListItemTimeChangeToTimeStr(dataList, checkList) {
dataList.forEach(info => {
checkList.forEach(key => {
info[key] = datechangeToStr(info[key])
});
});
return dataList;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment