Commit ffbf2da2 by lixinming

归档

parent 0dcf6974
/**
* 学习强国
*/
import moment = require("moment");
import { BRANCHNAME, OPERATIONALDATATYPE, TABLENAME } from "../config/enum/enum";
import { operationalData, selectData, selectManyTableData } from "../data/operationalData";
import { changeEnumValue } from "../tools/eccEnum";
import { getMySqlMs } from "../tools/systemTools";
import { BizError } from "../util/bizError";
import { ERRORENUM } from "../config/enum/errorEnum";
/**
* 学习强国列表
* @param dataTime
* @param name
* @param pageNumber
* @returns
*/
export async function learnPowerList(dataTime:number, name:string, pageNumber:number) {
let selectParam:any = {};
let selectTime = dataTime ? new Date(dataTime) : new Date();
selectParam.dataYear = selectTime.getFullYear();
selectParam.dataMonth = selectTime.getMonth() + 1;
let dataMonthKey = `${ selectParam.dataYear}/${ selectParam.dataMonth }`
let includeConf = {};
let column = ["bId", "pmId", "dayIntegral", "totalIntegral"];
includeConf[TABLENAME.党员基础信息表] = {colum:["name"], where:{} };
if (name) includeConf[TABLENAME.党员基础信息表].where["name"] = {"%like%":name};
/**查询当月数据 */
let tableData = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.学习强国, selectParam, column, includeConf, pageNumber);
let distinctMap = {};//user:{}
let nameMap = {};
tableData.forEach(info => {
let { bId, pmId, payAmount, totalIntegral, partyMember} = info;
let { name } = partyMember;
nameMap[pmId] = {name, bId};
if (!distinctMap[pmId]) distinctMap[pmId] = {count:0, monthCount:0};
distinctMap[pmId].monthCount += payAmount;
distinctMap[pmId].count = Math.max(distinctMap[pmId].count, totalIntegral);
});
/**拼接数组 */
let allDataList = [];
for (let pmId in distinctMap) {
let {count, monthCount} = distinctMap[pmId];
allDataList.push({
pmId,
count,
monthCount
});
}
allDataList.sort( (a, b) => {return b.count-a.count});
let dataList = [];
let limit = (pageNumber-1)*10;
for (let i = 0; i < allDataList.length; i++) {
if (i < limit) continue;
if (i > limit + 10) break;
let {count, monthCount, pmId} = allDataList[i];
let {name, bId} = nameMap[pmId];
dataList.push({
rank:i+1,
name,
bId:changeEnumValue(BRANCHNAME, bId),
dataMonth:dataMonthKey,
count,
monthCount
});
}
return {dataList, dataCount:allDataList.length}
}
export async function getMonthDataInfo(dataTime:number) {
let selectParam:any = {"%group%":"dataDay"};
let selectTime = dataTime ? new Date(dataTime) : new Date();
selectParam.dataYear = selectTime.getFullYear();
selectParam.dataMonth = selectTime.getMonth() + 1;
let dateHavedataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.学习强国, selectParam, ["dataDay"]);
let dataList = [];
dateHavedataList.forEach(info => {
let {dataDay} = info;
let itemTimeMs = new Date(`${selectParam.dataYear}-${selectParam.dataMonth}-${dataDay}`).valueOf();
dataList.push(moment(itemTimeMs).format("YYYY-MM-DD") );
});
return {dataList};
}
/**
* 解析二维数组
* @param array
*/
async function analysisData(array, year, month, day, time) {
let userList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {}, ["name", "pmId", "bId"]);
let userMap = {};
userList.forEach(info => {
let {name, pmId, bId} = info;
userMap[name] = {pmId, bId};
});
let list = [];
array.forEach(subList => {
let name = subList[0];
let dayIntegral = subList[2];
let totalIntegral = subList[3];
if (!userMap[name]) {
console.log("未能识别", name);
return;
}
list.push({
pmId:userMap[name].pmId,
bId:userMap[name].bId,
dayIntegral,
totalIntegral,
dataYear:year,
dataMonth:month,
dataDay:day,
dataTime:time
});
});
return list;
}
export async function updateData(userInfo, dataTime:number, data) {
let selectTime = new Date(dataTime) ;
let dataYear = selectTime.getFullYear();
let dataMonth = selectTime.getMonth() + 1;
let dataDay = selectTime.getDate();
let selectParam:any = {dataYear, dataMonth, dataDay};
let checkInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.学习强国, selectParam, ["lpId"])
if (checkInfo && checkInfo.lpId) {//先删除再添加
await operationalData(OPERATIONALDATATYPE.删除, TABLENAME.学习强国, null, selectParam);
}
let addList = await analysisData(data, dataYear, dataMonth, dataDay, getMySqlMs(dataTime));
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.学习强国, addList, null );
return {isSuccess:true};
}
export async function deleteData(userInfo, dataTime:number) {
let selectTime = new Date(dataTime) ;
let dataYear = selectTime.getFullYear();
let dataMonth = selectTime.getMonth() + 1;
let dataDay = selectTime.getDate();
let selectParam:any = {dataYear, dataMonth, dataDay};
let checkInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.学习强国, selectParam, ["lpId"])
if (!checkInfo && !checkInfo.lpId) {
throw new BizError(ERRORENUM.目标数据不存在, `不存在${dataYear}-${dataMonth}-${dataDay}数据`);
}
await operationalData(OPERATIONALDATATYPE.删除, TABLENAME.学习强国, null, selectParam);
return {isSuccess:true};
}
\ No newline at end of file
import moment = require("moment");
import { COURSETYPE, FILETYPE, LEARNTYPEENUM, 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 { getClientMs, getMySqlMs } from "../tools/systemTools";
import { BizError } from "../util/bizError";
/**
* 党员学习列表
* @param userInfo
* @param contentTitle
* @param courseTypeName
*/
export async function learningList(userInfo, contentTitle:string, courseTypeName:number, pageNumber:number, type:number) {
const FuncName = `党员学习列表`;
eccEnumValue(FuncName, "courseTypeName", COURSETYPE, courseTypeName);
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let selectParam:any = { courseEntryType:type, isDelete:false };
if (courseTypeName) selectParam.courseTypeName = courseTypeName;
if (contentTitle) selectParam.contentTitle = {"%like%":contentTitle};
let column = ["mlId", "contentTitle", "courseTypeName", "uploadTime", "hits", "isUse"];
let learningDataList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党员学习表, selectParam, column, pageNumber );
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党员学习表, selectParam, [] );
let dataList = [];
learningDataList.forEach(info => {
let {mlId, contentTitle, courseTypeName, uploadTime, hits, isUse} = info;
dataList.push({
mlId, contentTitle,
courseTypeName:changeEnumValue(COURSETYPE, courseTypeName),
uploadTime:moment(uploadTime).format("YYYY-MM-DD"),
hits, isUse
});
});
return {dataCount, dataList};
}
/**
* 视频学习回显
* @param userInfo
* @param mlId
*/
export async function videoLearningInfo(userInfo, mlId:number) {
const FuncName = `视频学习回显`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let selectParam:any = { courseEntryType:LEARNTYPEENUM.视频课程, mlId, isDelete:false };
let column = ["mlId", "contentTitle", "courseTypeName", "fileName", "coverImage"];
let learnBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, selectParam, column);
let learnInfo = {
mlId:learnBase.mlId,
contentTitle:learnBase.contentTitle,
courseTypeName:learnBase.courseTypeName,
fileName:JSON.parse(learnBase.fileName),
coverImage:learnBase.coverImage
};
return { learnInfo };
}
/**
* 修改视频学习课程
* @param userInfo
* @param mlId
* @param contentTitle
* @param courseTypeName
* @param coverImage
* @param fileName
*/
export async function updateVideoLearningInfo(userInfo, mlId:number, contentTitle:string, courseTypeName:number, coverImage:string, videoDuration:number, fileName ) {
const FuncName = `修改视频学习`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "courseTypeName", COURSETYPE, courseTypeName)
let learningInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, {mlId}, ["mlId", "courseEntryType"]);
if (!learningInfo || !learningInfo.mlId) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}`);
}
if (learningInfo.courseEntryType != LEARNTYPEENUM.视频课程) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}的类型不是视频课程,但是调用了视频课程接口`);
}
let updateInfo = {
contentTitle,
courseTypeName,
coverImage,
fileName:JSON.stringify(fileName),
videoDuration
};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员学习表, updateInfo, {mlId});
return { isSuccess:true };
}
/**
* 文本学习回显
* @param userInfo
* @param mlId
* @returns
*/
export async function textLearningInfo(userInfo, mlId:number) {
const FuncName = `文本学习回显`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let selectParam:any = { courseEntryType:LEARNTYPEENUM.文字课程, mlId, isDelete:false };
let column = ["mlId", "contentTitle", "courseTypeName", "fileName"];
let learnBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, selectParam, column);
if (!learnBase || !learnBase.mlId ) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `不存在${JSON.parse(selectParam)}`);
let learnInfo = {
mlId:learnBase.mlId,
contentTitle:learnBase.contentTitle,
courseTypeName:learnBase.courseTypeName,
fileName:JSON.parse(learnBase.fileName)
};
return { learnInfo };
}
/**
* 修改文本学习
* @param userInfo
* @param mlId
* @param contentTitle
* @param courseTypeName
* @param fileName
*/
export async function updateTextLearningInfo(userInfo, mlId:number, contentTitle:number, courseTypeName:number, fileName) {
const FuncName = `修改文本学习`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "courseTypeName", COURSETYPE, courseTypeName)
let learningInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, {mlId}, ["mlId", "courseEntryType"]);
if (!learningInfo || !learningInfo.mlId) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}`);
}
if (learningInfo.courseEntryType != LEARNTYPEENUM.文字课程) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}的类型不是文字课程,但是调用了文字课程接口`);
}
let updateInfo = {
contentTitle,
courseTypeName,
fileName:JSON.stringify(fileName)
};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员学习表, updateInfo, {mlId});
return { isSuccess:true };
}
/**
* 创建视频学习
* @param userInfo
* @param contentTitle
* @param courseTypeName
* @param coverImage
* @param fileName
* @returns
*/
export async function createVideoLearning(userInfo, contentTitle:string, courseTypeName:number, coverImage:string, videoDuration:number, fileName) {
const FuncName = `修改视频学习`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "courseTypeName", COURSETYPE, courseTypeName);
let addInfo = {
contentTitle,
courseTypeName,
coverImage,
fileName:JSON.stringify(fileName),
courseEntryType:LEARNTYPEENUM.视频课程,
hits:0,
videoDuration:videoDuration || 0,
isUse:false,
fileType:FILETYPE.视频,
uploadTime:getMySqlMs(),
updateTime:getMySqlMs()
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员学习表, addInfo, null);
return {isSuccess:true};
}
/**
* 创建文本学习
* @param userInfo
* @param contentTitle
* @param courseTypeName
* @param coverImage
* @param fileName
* @returns
*/
export async function createTextLearning(userInfo, contentTitle:string, courseTypeName:number, fileName) {
const FuncName = `修改文本学习`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "courseTypeName", COURSETYPE, courseTypeName);
let addInfo = {
contentTitle,
courseTypeName,
fileName:JSON.stringify(fileName),
courseEntryType:LEARNTYPEENUM.文字课程,
hits:0,
isUse:false,
fileType:FILETYPE.视频,
uploadTime:getMySqlMs(),
updateTime:getMySqlMs()
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员学习表, addInfo, null);
return {isSuccess:true};
}
/**
* 删除(逻辑删除)
* @param userInfo
* @param mlId
*/
export async function deleteLearning(userInfo, mlId:number ) {
const FuncName = `删除党员学习数据`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let learningInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, {mlId}, ["mlId"]);
if (!learningInfo || !learningInfo.mlId) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}`);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员学习表, {isDelete:true}, {mlId});
return {isSuccess:true};
}
export async function openLearnging(userInfo, mlId:number) {
const FuncName = `打开党员学习`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let learningInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, {mlId}, ["mlId", "isUse"]);
if (!learningInfo || !learningInfo.mlId) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}`);
}
if (learningInfo.isUse == true) {
throw new BizError(ERRORENUM.不可重复打开, FuncName, `${mlId}被重复打开`);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员学习表, {isUse:true}, {mlId});
return {isSuccess:true};
}
export async function closeLearnging(userInfo, mlId:number) {
const FuncName = `关闭党员学习`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let learningInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员学习表, {mlId}, ["mlId", "isUse"]);
if (!learningInfo || !learningInfo.mlId) {
throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${mlId}`);
}
if (learningInfo.isUse == false) {
throw new BizError(ERRORENUM.不可重复关闭, FuncName, `${mlId}被重复关闭`);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员学习表, {isUse:false}, {mlId});
return {isSuccess:true};
}
\ No newline at end of file
......@@ -280,4 +280,4 @@ export async function memberList() {
});
return {dataList};
}
\ No newline at end of file
}
/**
* 党建质量
*/
import { BRANCHNAME, OPERATIONALDATATYPE, PRIMARYINDICATORS, SECONDARYINDICATORS, TABLENAME } from "../config/enum/enum";
import { ERRORENUM } from "../config/enum/errorEnum";
import { operationalData, selectData } from "../data/operationalData";
import { changeEnumValue, eccEnumValue } from "../tools/eccEnum";
import { BizError } from "../util/bizError";
/**
* 党建质量列表
*/
export async function qualityList(userInfo, bId:number, first:number, second:number, pageNumber:number) {
const FuncName = `党建质量列表`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "bId", BRANCHNAME, bId);
let selectParam:any = {bId};
if (first) {
eccEnumValue(FuncName, "first", PRIMARYINDICATORS, first);
selectParam.primaryIndicators = first;
}
if (second) {
eccEnumValue(FuncName, "second", SECONDARYINDICATORS, second);
selectParam.secondaryIndicators = second;
}
let column = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "currentScore", "completionProgress", "thirdLevelScore", "lock"];
let qualityBaseList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党建质量, selectParam, column, pageNumber);
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党建质量, selectParam, []);
let dataList = [];
qualityBaseList.forEach(info => {
let {tlId, primaryIndicators, secondaryIndicators, thirdLevelContent, currentScore, completionProgress, thirdLevelScore, lock} = info;
dataList.push({
tlId,
primaryIndicators:changeEnumValue(PRIMARYINDICATORS, primaryIndicators),
secondaryIndicators:changeEnumValue(SECONDARYINDICATORS, secondaryIndicators),
thirdLevelContent,
currentScore:`${currentScore}/${thirdLevelScore}`,
completionProgress:`${completionProgress}%`,
lock
});
});
return {dataList, dataCount};
}
/**
* 添加
* @param userInfo
* @param bId
* @param first
* @param second
* @param thirdLevelContent
* @param currentScore
*/
export async function addQuality(userInfo, bId:number, primaryIndicators:number, secondaryIndicators:number, thirdLevelContent:string, thirdLevelScore:number) {
const FuncName = `添加党建质量三级指标`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "first", PRIMARYINDICATORS, primaryIndicators);
eccEnumValue(FuncName, "second", SECONDARYINDICATORS, secondaryIndicators);
eccEnumValue(FuncName, "bId", BRANCHNAME, bId);
let addInfo = {
bId,
primaryIndicators,
secondaryIndicators,
thirdLevelContent,
thirdLevelScore,
currentScore:0,
completionProgress:0,
weight:1,
dataYear:new Date().getFullYear(),
lock:false
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党建质量, addInfo, false);
return {isSuccess:true};
}
/**
* 获取指标联动
* @returns
*/
export async function indicatorsList() {
let map = {};
for (let key in PRIMARYINDICATORS) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let value = PRIMARYINDICATORS[key];
map[value] = {key, value, subList:[]};
}
}
for (let key in SECONDARYINDICATORS) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let value:any = SECONDARYINDICATORS[key];
let firstIndex = Math.floor(value/10);
map[firstIndex].subList.push({key, value});
}
}
return {dataList:Object.values(map)};
}
export async function updateQuality(userInfo, tlId:number, primaryIndicators:number, secondaryIndicators:number, thirdLevelContent:string, thirdLevelScore:number ) {
const FuncName = `修改党建质量三级指标`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
eccEnumValue(FuncName, "first", PRIMARYINDICATORS, primaryIndicators);
eccEnumValue(FuncName, "second", SECONDARYINDICATORS, secondaryIndicators);
let qualityInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, ["tlId", "bId", "lock"]);
if (!qualityInfo || !qualityInfo.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
if (qualityInfo.lock) throw new BizError(ERRORENUM.权限不足, FuncName, `${tlId}已上锁 不可修改`);
let updateInfo = {
primaryIndicators,
secondaryIndicators,
thirdLevelContent,
thirdLevelScore
};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建质量, updateInfo, {tlId});
return {isSuccess:true};
}
export async function delQuality(userInfo, tlId:number) {
const FuncName = `删除党建质量三级指标`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let qualityInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, ["tlId", "bId", "lock"]);
if (!qualityInfo || !qualityInfo.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
if (qualityInfo.lock) throw new BizError(ERRORENUM.权限不足, FuncName, `${tlId}已上锁 不可删除`);
await operationalData(OPERATIONALDATATYPE.删除, TABLENAME.党建质量, null , {tlId});
return {isSuccess:true};
}
export async function getQualityInfo(userInfo, tlId:number) {
const FuncName = `回显党建质量三级指标`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let column = ["tlId", "bId", "lock", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore"];
let qualityBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, column );
if (!qualityBase || !qualityBase.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
if (qualityBase.lock) throw new BizError(ERRORENUM.权限不足, FuncName, `${tlId}已上锁 不可被回显`);
let {primaryIndicators, secondaryIndicators, thirdLevelContent, thirdLevelScore} = qualityBase;
let qualityInfo = {
tlId, primaryIndicators, secondaryIndicators, thirdLevelContent, thirdLevelScore
};
return {qualityInfo};
}
export async function getQualityScoreInfo(userInfo, tlId:number) {
const FuncName = `回显党建质量三级指标分数`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let column = ["tlId", "bId", "lock", "currentScore"];
let qualityBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, column );
if (!qualityBase || !qualityBase.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
let {currentScore} = qualityBase;
let qualityInfo = {
tlId, currentScore
};
return {qualityInfo};
}
export async function updateQualityScoreInfo(userInfo, tlId:number, currentScore:number) {
const FuncName = `修改党建质量三级指标得分`;
if (!userInfo.isSuperAdmin) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let column = ["tlId", "bId", "lock"];
let qualityBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, column );
if (!qualityBase || !qualityBase.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建质量, {currentScore}, {tlId});
return {isSuccess:true};
}
export async function openQualityLock(userInfo, tlId:number) {
const FuncName = `开放党建质量三级指标编辑`;
if (!userInfo.isSuperAdminPlus) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let column = ["tlId", "bId", "lock"];
let qualityBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, column );
if (!qualityBase || !qualityBase.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建质量, {lock:false}, {tlId});
return {isSuccess:true}
}
export async function closeQualityLock(userInfo, tlId:number) {
const FuncName = `关闭党建质量三级指标编辑`;
if (!userInfo.isSuperAdminPlus) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}`);
}
let column = ["tlId", "bId", "lock"];
let qualityBase = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建质量, {tlId}, column );
if (!qualityBase || !qualityBase.tlId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${tlId}不存在`);
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建质量, {lock:true}, {tlId});
return {isSuccess:true}
}
\ No newline at end of file
/**
* 党建先锋
*/
import moment = require("moment");
import { GRANTINGRANGE, HONORTYPE, OPERATIONALDATATYPE, TABLENAME } from "../config/enum/enum";
import { operationalData, selectData } from "../data/operationalData";
import { changeEnumValue, eccEnumValue } from "../tools/eccEnum";
import { getClientMs, getMySqlMs } from "../tools/systemTools";
import { BizError } from "../util/bizError";
import { ERRORENUM } from "../config/enum/errorEnum";
export async function vanguardList(userInfo, honorType:number, grantingRange:number, pageNumber:number) {
const FuncName = '党建先锋列表';
eccEnumValue(FuncName, 'honorType', HONORTYPE, honorType);
eccEnumValue(FuncName, 'grantingRange', GRANTINGRANGE, grantingRange);
let selectParam:any = {};
if (!userInfo.isSuperAdmin) selectParam.bId = userInfo.branch;
if (honorType) selectParam.honorType = honorType;
if (grantingRange) selectParam.grantingRange = grantingRange;
let column = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime", "isUse"];
let learningDataList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.党建先锋表, selectParam, column, pageNumber );
let dataCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党建先锋表, selectParam, [] );
let dataList = [];
learningDataList.forEach(info => {
let { pvId, honorName, honorType, grantingRange, grantingUnit, grantTime, isUse } = info;
dataList.push({
honorName,
honorType:changeEnumValue(HONORTYPE, honorType),
grantingRange:changeEnumValue(GRANTINGRANGE, grantingRange),
grantingUnit,
grantTime:moment(grantTime).format("YYYY-MM-DD"),
isUse,
pvId
});
});
return { dataList, dataCount };
}
export async function addVanguard(userInfo, honorName:string, honorType:number, grantingRange:number, grantingUnit:string, grantTime:number) {
const FuncName = '添加党建先锋';
eccEnumValue(FuncName, 'honorType', HONORTYPE, honorType);
eccEnumValue(FuncName, 'grantingRange', GRANTINGRANGE, grantingRange);
let addParam = {
bId:userInfo.branch,
honorName, honorType, grantingRange, grantingUnit,
grantTime:getMySqlMs(grantTime),
isUse:false
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党建先锋表, addParam, {} );
return {isSuccess:true};
}
export async function getVanguardInfo(userInfo, pvId:number) {
const FuncName = "回显党建先锋数据";
let column = ["pvId", "bId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime"];
let vanguardItem = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, {pvId}, column);
if (!vanguardItem || !vanguardItem.pvId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${pvId}不存在`);
if (!userInfo.isSuperAdmin && vanguardItem.bId != userInfo.branch) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}尝试修改不属于本支部的数据${vanguardItem.bId}, pvId:${pvId}`);
}
return {
vanguardInfo:{
honorName: vanguardItem.honorName,
honorType: vanguardItem.honorType,
grantingRange: vanguardItem.grantingRange,
grantingUnit: vanguardItem.grantingUnit,
grantTime: getClientMs(vanguardItem.grantTime)
}
}
}
export async function updateVanguard(userInfo, pvId:number, honorName:string, honorType:number, grantingRange:number, grantingUnit:string, grantTime:number) {
const FuncName = "修改党建先锋数据";
eccEnumValue(FuncName, 'honorType', HONORTYPE, honorType);
eccEnumValue(FuncName, 'grantingRange', GRANTINGRANGE, grantingRange);
let column = ["pvId", "bId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime"];
let vanguardItem = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, {pvId}, column);
if (!vanguardItem || !vanguardItem.pvId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${pvId}不存在`);
if (!userInfo.isSuperAdmin && vanguardItem.bId != userInfo.branch) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}尝试修改不属于本支部的数据${vanguardItem.bId}, pvId:${pvId}`);
}
let updateInfo = {
honorName, honorType, grantingRange, grantingUnit, grantTime
};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建先锋表, updateInfo, {pvId});
return {isSuccess:true};
}
export async function delVanguardInfo(userInfo, pvId:number) {
const FuncName = "删除党建先锋数据";
let column = ["pvId", "bId"];
let vanguardItem = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, {pvId}, column);
if (!vanguardItem || !vanguardItem.pvId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${pvId}不存在`);
if (!userInfo.isSuperAdmin && vanguardItem.bId != userInfo.branch) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}尝试修改不属于本支部的数据${vanguardItem.bId}, pvId:${pvId}`);
}
await operationalData(OPERATIONALDATATYPE.删除, TABLENAME.党建先锋表, {}, {pvId});
return {isSuccess:true};
}
export async function openVanguardInfo(userInfo, pvId:number) {
const FuncName = `打开党建先锋`;
let column = ["pvId", "bId", "isUse"];
let vanguardItem = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, {pvId}, column);
if (!vanguardItem || !vanguardItem.pvId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${pvId}不存在`);
if (!userInfo.isSuperAdmin && vanguardItem.bId != userInfo.branch) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}尝试修改不属于本支部的数据${vanguardItem.bId}, pvId:${pvId}`);
}
if (vanguardItem.isUse == true) {
throw new BizError(ERRORENUM.不可重复打开, FuncName, `${pvId}被重复打开`);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建先锋表, {isUse:true}, {pvId});
return {isSuccess:true};
}
export async function closeVanguardInfo(userInfo, pvId:number) {
const FuncName = `关闭党建先锋`;
let column = ["pvId", "bId", "isUse"];
let vanguardItem = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, {pvId}, column);
if (!vanguardItem || !vanguardItem.pvId) throw new BizError(ERRORENUM.目标数据不存在, FuncName, `${pvId}不存在`);
if (!userInfo.isSuperAdmin && vanguardItem.bId != userInfo.branch) {
throw new BizError(ERRORENUM.权限不足, FuncName, `${userInfo.userId}尝试修改不属于本支部的数据${vanguardItem.bId}, pvId:${pvId}`);
}
if (vanguardItem.isUse == false) {
throw new BizError(ERRORENUM.不可重复关闭, FuncName, `${pvId}被重复关闭`);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党建先锋表, {isUse:false}, {pvId});
return {isSuccess:true};
}
\ No newline at end of file
......@@ -36,7 +36,7 @@ export enum TABLENAME {
学习进度表='rateLearning',
课程类型='courseType',
学习强国='learningPower',
党建质量='partyQuality'
党建质量='thirdLevel'
}
/**
......@@ -222,8 +222,29 @@ export enum PRIMARYINDICATORS {
党员先锋模范作用有力,
党风廉政行风建设有效,
医院文化建设到位,
特色亮点显著,
特色亮点显著
}
/**二级指标 */
export enum SECONDARYINDICATORS {
突出政治功能_dou确保政治站位 = 11,
组织架构完备_dou配强工作力量 = 12,
支部制度完善 = 13,
_zyh三会一课_yyh_dun主题党日活动规范落实 = 21,
党员发展_dun党籍管理_dun党费收缴_dun使用_dun管理规范 = 22,
教育培训及时到位 = 23,
日常亮身份_dun树形象 = 31,
各类先进评选 = 32,
参与行业党建_dun区域化党建 = 33,
履行党风廉政建设主体责任和监督责任 = 41,
医德医风和行风建设 = 42,
医院文化建设 = 51,
精神文明建设_dun统战和群团工作 = 52,
培育选树先进典型_dou打造医疗服务品牌 = 53,
常态化了解困难诉求_dou健全职工意见诉求机制 = 54,
开展党建课题研究_dou刊登发表党建论文 = 61,
社会影响大_dun特别典型 = 62,
积极开展党支部品牌创建 = 63,
}
/**荣誉类型 */
......@@ -253,4 +274,13 @@ export enum COURSETYPE {
党课,
四个意识,
四个自信,
}
/**
* 学习类型
*/
export enum LEARNTYPEENUM {
视频课程 = 1,
文字课程
}
\ No newline at end of file
......@@ -25,7 +25,10 @@ export enum ERRORENUM {
修改金额不能为0,
不能补录已经存在的数据,
目标数据已缴纳,
批量导入不可跨月份
批量导入不可跨月份,
不可重复打开,
不可重复关闭,
目标所属支部不一致,
}
export enum ERRORCODEENUM {
......
......@@ -93,7 +93,6 @@ export async function selectManyTableData(url, tableName, param, column, includ
queray.pageSize = pageSize || 10;
}
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));
......
......@@ -17,13 +17,14 @@ export async function checkToken(req, res, next) {
if (!userId || !token) return next(new BizError(ERRORENUM.非法登录));
if (userId == "admin" || userId == "admin2") {
if (userId == "admin" || userId == "superAdmin") {
let userInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.后台用户表, {uId:userId}, null);
if (!userInfo || !userInfo.uId) return next(new BizError(ERRORENUM.身份验证失败));
if (!userInfo.token || userInfo.token != token) return next(new BizError(ERRORENUM.身份验证过期));
req.userInfo = {
branch:0,
isSuperAdmin:true,
isSuperAdminPlus:userId== "superAdmin",//用于编辑锁
userId,
};
}
......
/**
* 学习强国
*/
import * as asyncHandler from 'express-async-handler';
import * as learningPowerBiz from '../biz/learningPower';
import { checkToken } from '../middleware/user';
import { eccReqParamater } from '../tools/eccParam';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/learningpower/list', checkToken, asyncHandler(dynamicList));
httpServer.post('/yfs/admin/learningpower/monthinfo', checkToken, asyncHandler(monthInfo));
httpServer.post('/yfs/admin/learningpower/update', checkToken, asyncHandler(updateLearningPower));
httpServer.post('/yfs/admin/learningpower/del', checkToken, asyncHandler(delLearningPower));
}
/**
* 学习强国列表
* @param req
* @param res
*/
async function dynamicList(req, res) {
let userInfo = req.userInfo;
let reqConf = {name:'String', pageNumber:'Number', dataTime:'Number'};
let { name, pageNumber, dataTime } = eccReqParamater(reqConf, req.body, ["name"]);
let result = await learningPowerBiz.learnPowerList(dataTime, name, pageNumber);
res.success(result);
}
/**
* 学习强国已经填报日期
* @param req
* @param res
*/
async function monthInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {dataTime:'Number'};
let { dataTime } = eccReqParamater(reqConf, req.body, []);
let result = await learningPowerBiz.getMonthDataInfo(dataTime);
res.success(result);
}
/**
* 更新学习强国数据
* @param req
* @param res
*/
async function updateLearningPower(req, res) {
let userInfo = req.userInfo;
let reqConf = {dataTime:'Number', data:'[Object]'};
let { dataTime, data } = eccReqParamater(reqConf, req.body, []);
let result = await learningPowerBiz.updateData(userInfo, dataTime, data);
res.success(result);
}
/**
* 删除学习强国数据
* @param req
* @param res
*/
async function delLearningPower(req, res) {
let userInfo = req.userInfo;
let reqConf = {dataTime:'Number'};
let { dataTime } = eccReqParamater(reqConf, req.body, []);
let result = await learningPowerBiz.deleteData(userInfo, dataTime);
res.success(result);
}
import * as asyncHandler from 'express-async-handler';
import * as memberLearningBiz from '../biz/memberLearning';
import { checkToken } from '../middleware/user';
import { eccReqParamater } from '../tools/eccParam';
import { LEARNTYPEENUM } from '../config/enum/enum';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/learning/video/list', checkToken, asyncHandler(videoList));
httpServer.post('/yfs/admin/learning/video/info', checkToken, asyncHandler(videoInfo));
httpServer.post('/yfs/admin/learning/video/update', checkToken, asyncHandler(updateVideo));
httpServer.post('/yfs/admin/learning/video/add', checkToken, asyncHandler(addVideo));
httpServer.post('/yfs/admin/learning/del', checkToken, asyncHandler(delLearn));
httpServer.post('/yfs/admin/learning/open', checkToken, asyncHandler(openLearn));
httpServer.post('/yfs/admin/learning/close', checkToken, asyncHandler(closeLearn));
httpServer.post('/yfs/admin/learning/text/list', checkToken, asyncHandler(textList));
httpServer.post('/yfs/admin/learning/text/info', checkToken, asyncHandler(textInfo));
httpServer.post('/yfs/admin/learning/text/update', checkToken, asyncHandler(updateText));
httpServer.post('/yfs/admin/learning/text/add', checkToken, asyncHandler(addText));
}
/**
* 视频学习列表
* @param req
* @param res
*/
async function videoList(req, res) {
let userInfo = req.userInfo;
let reqConf = {contentTitle:'String', courseTypeName:'Number', pageNumber:'Number'};
let { contentTitle, courseTypeName, pageNumber } = eccReqParamater(reqConf, req.body, ["contentTitle", "courseTypeName"]);
let result = await memberLearningBiz.learningList(userInfo, contentTitle, courseTypeName, pageNumber, LEARNTYPEENUM.视频课程);
res.success(result);
}
/**
* 视频学习详情
* @param req
* @param res
*/
async function videoInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number'};
let { mlId } = eccReqParamater(reqConf, req.body, []);
let result = await memberLearningBiz.videoLearningInfo(userInfo, mlId);
res.success(result);
}
/**
* 修改视频学习
* @param req
* @param res
*/
async function updateVideo(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number', contentTitle:'String', courseTypeName:'Number', coverImage:'String', fileName:'[String]', videoDuration:'Number'};
let { mlId, contentTitle, courseTypeName, coverImage, fileName, videoDuration } = eccReqParamater(reqConf, req.body, ["videoDuration"]);
let result = await memberLearningBiz.updateVideoLearningInfo(userInfo, mlId, contentTitle, courseTypeName, coverImage, videoDuration, fileName);
res.success(result);
}
/**
* 创建视频学习
* @param req
* @param res
*/
async function addVideo(req, res) {
let userInfo = req.userInfo;
let reqConf = { videoDuration:'Number', contentTitle:'String', courseTypeName:'Number', coverImage:'String', fileName:'[String]'};
let { videoDuration, contentTitle, courseTypeName, coverImage, fileName } = eccReqParamater(reqConf, req.body, ['videoDuration']);
let result = await memberLearningBiz.createVideoLearning(userInfo, contentTitle, courseTypeName, coverImage, videoDuration, fileName);
res.success(result);
}
/**
* 删除党员学习
* @param req
* @param res
*/
async function delLearn(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number'};
let { mlId } = eccReqParamater(reqConf, req.body, []);
let result = await memberLearningBiz.deleteLearning(userInfo, mlId);
res.success(result);
}
/**
* 文本学习列表
* @param req
* @param res
*/
async function textList(req, res) {
let userInfo = req.userInfo;
let reqConf = {contentTitle:'String', courseTypeName:'Number', pageNumber:'Number'};
let { contentTitle, courseTypeName, pageNumber } = eccReqParamater(reqConf, req.body, ["contentTitle", "courseTypeName"]);
let result = await memberLearningBiz.learningList(userInfo, contentTitle, courseTypeName, pageNumber, LEARNTYPEENUM.文字课程);
res.success(result);
}
/**
* 文字课程回显
* @param req
* @param res
*/
async function textInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number'};
let { mlId } = eccReqParamater(reqConf, req.body, []);
let result = await memberLearningBiz.textLearningInfo(userInfo, mlId);
res.success(result);
}
/**
* 修改文字课程信息
* @param req
* @param res
*/
async function updateText(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number', contentTitle:'String', courseTypeName:'Number', fileName:'[String]'};
let { mlId, contentTitle, courseTypeName, fileName } = eccReqParamater(reqConf, req.body, []);
let result = await memberLearningBiz.updateTextLearningInfo(userInfo, mlId, contentTitle, courseTypeName, fileName);
res.success(result);
}
/**
* 添加文字课程
* @param req
* @param res
*/
async function addText(req, res) {
let userInfo = req.userInfo;
let reqConf = { contentTitle:'String', courseTypeName:'Number', fileName:'[String]'};
let { contentTitle, courseTypeName, fileName } = eccReqParamater(reqConf, req.body, ['videoDuration']);
let result = await memberLearningBiz.createTextLearning(userInfo, contentTitle, courseTypeName, fileName);
res.success(result);
}
/**
* 打开党员学习
* @param req
* @param res
*/
async function openLearn(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number'};
let { mlId } = eccReqParamater(reqConf, req.body, []);
let result = await memberLearningBiz.openLearnging(userInfo, mlId);
res.success(result);
}
/**
* 关闭党员学习
* @param req
* @param res
*/
async function closeLearn(req, res) {
let userInfo = req.userInfo;
let reqConf = { mlId:'Number'};
let { mlId } = eccReqParamater(reqConf, req.body, []);
let result = await memberLearningBiz.closeLearnging(userInfo, mlId);
res.success(result);
}
\ No newline at end of file
/**
* 党建质量
*/
import * as asyncHandler from 'express-async-handler';
import * as partyQualityBiz from '../biz/partyQuality';
import { checkToken } from '../middleware/user';
import { eccReqParamater } from '../tools/eccParam';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/quality/list', checkToken, asyncHandler(getQualityList));
httpServer.post('/yfs/admin/quality/indicators', checkToken, asyncHandler(indicatorsSelect));
httpServer.post('/yfs/admin/quality/add', checkToken, asyncHandler(addQuality));
httpServer.post('/yfs/admin/quality/del', checkToken, asyncHandler(delQuality));
httpServer.post('/yfs/admin/quality/info', checkToken, asyncHandler(getQualityInfo));
httpServer.post('/yfs/admin/quality/update', checkToken, asyncHandler(updateQuality));
httpServer.post('/yfs/admin/quality/scoreinfo', checkToken, asyncHandler(qualityScoreInfo));
httpServer.post('/yfs/admin/quality/updatescore', checkToken, asyncHandler(updateQualityScoreInfo));
httpServer.post('/yfs/admin/quality/open', checkToken, asyncHandler(openLock));
httpServer.post('/yfs/admin/quality/close', checkToken, asyncHandler(closeLock));
}
/**
* 党建质量列表
* @param req
* @param res
*/
async function getQualityList(req, res) {
let userInfo = req.userInfo;
let reqConf = {bId:'Number', primaryIndicators:'Number', secondaryIndicators:'Number', pageNumber:'Number'};
let { bId, primaryIndicators, secondaryIndicators, pageNumber} = eccReqParamater(reqConf, req.body, ["primaryIndicators", "secondaryIndicators"]);
let result = await partyQualityBiz.qualityList(userInfo, bId, primaryIndicators, secondaryIndicators, pageNumber);
res.success(result);
}
async function indicatorsSelect(req, res) {
let userInfo = req.userInfo;
let result = await partyQualityBiz.indicatorsList();
res.success(result);
}
/**
* 添加党建质量
* @param req
* @param res
*/
async function addQuality(req, res) {
let userInfo = req.userInfo;
let reqConf = {bId:'Number', primaryIndicators:'Number', secondaryIndicators:'Number', thirdLevelContent:'String', thirdLevelScore:'Number'};
let { bId, primaryIndicators, secondaryIndicators, thirdLevelContent, thirdLevelScore } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.addQuality(userInfo, bId, primaryIndicators, secondaryIndicators, thirdLevelContent, thirdLevelScore);
res.success(result);
}
/**
* 添加党建质量
* @param req
* @param res
*/
async function delQuality(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number'};
let { tlId } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.delQuality(userInfo, tlId);
res.success(result);
}
/**
* 回显党建质量
* @param req
* @param res
*/
async function getQualityInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number'};
let { tlId } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.getQualityInfo(userInfo, tlId);
res.success(result);
}
/**
* 修改党建质量
* @param req
* @param res
*/
async function updateQuality(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number', primaryIndicators:'Number', secondaryIndicators:'Number', thirdLevelContent:'String', thirdLevelScore:'Number'};
let { tlId, primaryIndicators, secondaryIndicators, thirdLevelContent, thirdLevelScore } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.updateQuality(userInfo, tlId, primaryIndicators, secondaryIndicators, thirdLevelContent, thirdLevelScore );
res.success(result);
}
/**
* 回显党建质量分数
* @param req
* @param res
*/
async function qualityScoreInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number'};
let { tlId } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.getQualityScoreInfo(userInfo, tlId );
res.success(result);
}
/**
* 更新党建质量分数
* @param req
* @param res
*/
async function updateQualityScoreInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number', currentScore:'Number'};
let { tlId, currentScore } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.updateQualityScoreInfo(userInfo, tlId, currentScore );
res.success(result);
}
/**
* 开放党建质量编辑
* @param req
* @param res
*/
async function openLock(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number'};
let { tlId } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.openQualityLock(userInfo, tlId );
res.success(result);
}
/**
* 关闭党建质量编辑
* @param req
* @param res
*/
async function closeLock(req, res) {
let userInfo = req.userInfo;
let reqConf = {tlId:'Number'};
let { tlId } = eccReqParamater(reqConf, req.body, []);
let result = await partyQualityBiz.closeQualityLock(userInfo, tlId );
res.success(result);
}
import * as asyncHandler from 'express-async-handler';
import * as vanguardBiz from '../biz/partyVanguard';
import { checkToken } from '../middleware/user';
import { eccReqParamater } from '../tools/eccParam';
export function setRouter(httpServer) {
httpServer.post('/yfs/admin/vanguard/list', checkToken, asyncHandler(vanguardList));
httpServer.post('/yfs/admin/vanguard/add', checkToken, asyncHandler(addVanguard));
httpServer.post('/yfs/admin/vanguard/info', checkToken, asyncHandler(vanguardInfo));
httpServer.post('/yfs/admin/vanguard/update', checkToken, asyncHandler(updateVanguard));
httpServer.post('/yfs/admin/vanguard/del', checkToken, asyncHandler(delVanguard));
httpServer.post('/yfs/admin/vanguard/open', checkToken, asyncHandler(openVanguard));
httpServer.post('/yfs/admin/vanguard/close', checkToken, asyncHandler(closeVanguard));
}
/**
* 党建先锋列表
* @param req
* @param res
*/
async function vanguardList(req, res) {
let userInfo = req.userInfo;
let reqConf = {honorType:'Number', grantingRange:'Number', pageNumber:'Number'};
let { honorType, grantingRange, pageNumber } = eccReqParamater(reqConf, req.body, ["honorType", "grantingRange"]);
let result = await vanguardBiz.vanguardList(userInfo, honorType, grantingRange, pageNumber);
res.success(result);
}
/**
* 添加党建先锋
* @param req
* @param res
*/
async function addVanguard(req, res) {
let userInfo = req.userInfo;
let reqConf = {honorName:'String', honorType:'Number', grantingRange:'Number', grantTime:'Number', grantingUnit:'String'};
let { honorName, honorType, grantingRange, grantingUnit, grantTime } = eccReqParamater(reqConf, req.body, []);
let result = await vanguardBiz.addVanguard(userInfo, honorName, honorType, grantingRange, grantingUnit, grantTime);
res.success(result);
}
/**
* 回显党建先锋
* @param req
* @param res
*/
async function vanguardInfo(req, res) {
let userInfo = req.userInfo;
let reqConf = {pvId:'Number'};
let { pvId } = eccReqParamater(reqConf, req.body, []);
let result = await vanguardBiz.getVanguardInfo(userInfo, pvId);
res.success(result);
}
/**
* 修改党建先锋
* @param req
* @param res
*/
async function updateVanguard(req, res) {
let userInfo = req.userInfo;
let reqConf = {pvId:'Number', honorName:'String', honorType:'Number', grantingRange:'Number', grantTime:'Number', grantingUnit:'String'};
let { pvId, honorName, honorType, grantingRange, grantingUnit, grantTime } = eccReqParamater(reqConf, req.body, []);
let result = await vanguardBiz.updateVanguard(userInfo, pvId, honorName, honorType, grantingRange, grantingUnit, grantTime);
res.success(result);
}
/**
* 修改党建先锋
* @param req
* @param res
*/
async function delVanguard(req, res) {
let userInfo = req.userInfo;
let reqConf = {pvId:'Number'};
let { pvId } = eccReqParamater(reqConf, req.body, []);
let result = await vanguardBiz.delVanguardInfo(userInfo, pvId);
res.success(result);
}
/**
* 打开党建先锋
* @param req
* @param res
*/
async function openVanguard(req, res) {
let userInfo = req.userInfo;
let reqConf = { pvId:'Number'};
let { pvId } = eccReqParamater(reqConf, req.body, []);
let result = await vanguardBiz.openVanguardInfo(userInfo, pvId);
res.success(result);
}
/**
* 关闭党建先锋
* @param req
* @param res
*/
async function closeVanguard(req, res) {
let userInfo = req.userInfo;
let reqConf = { pvId:'Number'};
let { pvId } = eccReqParamater(reqConf, req.body, []);
let result = await vanguardBiz.closeVanguardInfo(userInfo, pvId);
res.success(result);
}
\ No newline at end of file
......@@ -12,6 +12,9 @@ let publicRouterConfig = {
"partypositions":enumConfig.PARTYPOSITIONS,//党内职务
"dedpartment":enumConfig.DEDPARTMENT,//所属科室
"thmetype":enumConfig.THEMETYPE,//主题类型
"coursetype":enumConfig.COURSETYPE,//课程类型
"honortype":enumConfig.HONORTYPE,//荣誉类型
"grantingrange":enumConfig.GRANTINGRANGE,//授予范围
}
export function setRouter(httpServer) {
......@@ -25,7 +28,13 @@ export function setRouter(httpServer) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:enumItem[key]});
let value = enumItem[key];
if(/_dou/.test(value)) value = value.replace(/_dou/, ",");
if(/_zyh/.test(value)) value = value.replace(/_zyh/, "“");
if(/_yyh/.test(value)) value = value.replace(/_yyh/, "”");
if(/_dun/.test(value)) value = value.replace(/_dun/, "、");
if(/_ju/.test(value)) value = value.replace(/_ju/, "。");
dataList.push({key:keyStr, value});
}
}
res.success({dataList});
......
......@@ -7,6 +7,10 @@ import * as organizationalLifeRouter from "./organizationalLife";
import * as thematicActivitiesRouter from "./thematicActivities";
import * as dynamicRouter from "./dynamic";
import * as partyExpensesRouter from "./partyExpenses";
import * as memberLearningRouter from "./memberLearning";
import * as partyVanguardRouter from "./partyVanguard";
import * as learningPowerRouter from "./learningPower";
import * as partyQualityRouter from "./partyQuality";
export function setRouter(httpServer) {
......@@ -19,5 +23,8 @@ export function setRouter(httpServer) {
thematicActivitiesRouter.setRouter(httpServer);
dynamicRouter.setRouter(httpServer);
partyExpensesRouter.setRouter(httpServer);
memberLearningRouter.setRouter(httpServer);
partyVanguardRouter.setRouter(httpServer);
learningPowerRouter.setRouter(httpServer);
partyQualityRouter.setRouter(httpServer);
}
\ No newline at end of file
......@@ -27,16 +27,23 @@ export function eccEnumValue(name:string, key:string, enumConf, value:any) {
/**
* 将枚举值转换成对应的枚举名(key)
* @param enumConf 目标枚举
* @param value 目标值
* @param value 目标值
* @returns string 返回字符串 如果传入多个枚举值,就拼接字符串
*/
export function changeEnumValue(enumConf, value:any) {
if (!value) return '';
if ( typeof value == 'number' ) {
let str = enumConf[value];
/**特化处理 */
if(/_dou/.test(str)) str = str.replace(/_dou/, ",");
if(/_zyh/.test(str)) str = str.replace(/_zyh/, "“");
if(/_yyh/.test(str)) str = str.replace(/_yyh/, "”");
if(/_dun/.test(str)) str = str.replace(/_dun/, "、");
if(/_ju/.test(str)) str = str.replace(/_ju/, "。");
return str
} else if (typeof value == 'string') {
try {
try {//兼容数据库 '[1,2,3]'
value = JSON.parse(value);
}catch(err) {
return enumConf[parseInt(value)];
......@@ -45,7 +52,12 @@ export function changeEnumValue(enumConf, value:any) {
let str = "";
value.forEach((item, index) => {
let subStr = enumConf[item];
/**特化处理 */
if(/_dou/.test(subStr)) subStr = subStr.replace(/_dou/, ",");
if(/_zyh/.test(subStr)) subStr = subStr.replace(/_zyh/, "“");
if(/_yyh/.test(subStr)) subStr = subStr.replace(/_yyh/, "”");
if(/_dun/.test(subStr)) subStr = subStr.replace(/_dun/, "、");
if(/_ju/.test(subStr)) subStr = subStr.replace(/_ju/, "。");
str += subStr;
if (index == value.length-1) str+="";
else str += ","
......
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