Commit 2b703f93 by lixinming

no message

parent 51b932d8
...@@ -2,13 +2,17 @@ ...@@ -2,13 +2,17 @@
* 支部制度 * 支部制度
*/ */
import moment = require("moment");
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { UPTYPE } from "../config/enum"; import { UPTYPE } from "../config/enum";
import { ERRORENUM } from "../config/errorEnum"; import { ERRORENUM } from "../config/errorEnum";
import { systemConfig } from "../config/systemConfig"; import { systemConfig } from "../config/systemConfig";
import { selectData } from "../middleware/databaseSuccess"; import { operationalData, selectData } from "../middleware/databaseSuccess";
import { getFileUrl } from "../middleware/getUrl"; import { getFileUrl } from "../middleware/getUrl";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { eccFormParam } from "../util/verificationParam";
import { CreateZBZDConfig } from "../config/eccFormParamConfig";
import { getBindId } from "../tools/system";
/** /**
...@@ -21,10 +25,18 @@ export async function branchSystemList(bId:number, systemTitle:string) { ...@@ -21,10 +25,18 @@ export async function branchSystemList(bId:number, systemTitle:string) {
let param = { bId:{"%like%": bId} }; let param = { bId:{"%like%": bId} };
if(systemTitle) param["systemTitle"] = {"%like%": systemTitle}; if(systemTitle) param["systemTitle"] = {"%like%": systemTitle};
let branchSystemList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.支部制度表, param, ["bsId", "systemTitle"]); let branchSystemList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.支部制度表, param, ["bsId", "systemTitle", "releaseTime"]);
branchSystemList = branchSystemList || []; branchSystemList = branchSystemList || [];
let dataList = [];
branchSystemList.forEach(info => {
dataList.push({
bsId:info.bsId,
title:info.systemTitle,
time:moment(info.releaseTime).format("YYYY-MM-DD")
});
});
return branchSystemList; return {dataList};
} }
...@@ -33,13 +45,43 @@ export async function branchSystemList(bId:number, systemTitle:string) { ...@@ -33,13 +45,43 @@ export async function branchSystemList(bId:number, systemTitle:string) {
* @param bsId 支部制度id * @param bsId 支部制度id
* @returns branchSystemInfo:{"bsId":1, "systemTitle":"制度标题", "fileName":["制度文件1", ......]} * @returns branchSystemInfo:{"bsId":1, "systemTitle":"制度标题", "fileName":["制度文件1", ......]}
*/ */
export async function branchSystemDetsils(bsId:number, token:string, userid:string) { export async function branchSystemDetsils(bsId:number) {
let clomun = ["bsId", "systemTitle", "fileName"]; let clomun = ["bsId", "systemTitle", "content", "periodTime", "releaseTime"];
let branchSystemInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, clomun); let branchSystemInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, clomun);
if(!branchSystemInfo || !branchSystemInfo.bsId) throw new BizError(ERRORENUM.库中不存在对应数据, `制度细则中不存在id=${bsId}的数据`); if(!branchSystemInfo || !branchSystemInfo.bsId) throw new BizError(ERRORENUM.库中不存在对应数据, `制度细则中不存在id=${bsId}的数据`);
let fileNameList = getFileUrl(branchSystemInfo.fileName, token, UPTYPE.支部制度, userid); // let fileNameList = getFileUrl(branchSystemInfo.fileName, token, UPTYPE.支部制度, userid);
branchSystemInfo.fileName = fileNameList; // branchSystemInfo.fileName = fileNameList;
return branchSystemInfo;
let dataInfo = {
title:branchSystemInfo.systemTitle,
releaseTime:moment(branchSystemInfo.releaseTime).format("YYYY-MM-DD"),
content:branchSystemInfo.content,
source:"牙防所党建"
};
return {dataInfo};
}
/**
* 添加制度细则
* @param bsId 支部制度id
* @returns
*/
export async function addOneBranchSystemDetsils(bId:number, param) {
eccFormParam("添加制度细则", CreateZBZDConfig, param);
let addInfo = {
systemTitle:param.title,
releaseTime:moment(param.releaseTime).format("YYYY-MM-DD"),
periodTime:moment(param.periodTime).format("YYYY-MM-DD"),
content:param.content,
bId:JSON.stringify([bId])
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.支部制度表, addInfo, {});
return {isSuccess:true};
} }
......
import { changeEnumValue } from "../util/verificationEnum";
import * as configEnum from "../config/enum";
import * as clientConfigEnum from "../config/clientEnum";
import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig";
import { selectData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import moment = require("moment");
import * as verificationEnumTools from "../util/verificationEnum";
import { getStudent } from "./partyMember";
const ColorConfig = {
1:"#C62A23",
2:"#E4B386",
3:"#2aa115",//发展对象
4:"#3549B0",
5:"#1e5eff"
};
function changePartyPositionsName(partyPositionsName, etId) {
let str = "";
for (let i= 0; i < partyPositionsName.length; i++) {
let item = partyPositionsName[i];
if (item < 10) continue;
str += `,${verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, item)}`;
}
if (!str) {
let partyPositionsNameStr = "";
if (etId == configEnum.ENTRYTYPE.正式党员) partyPositionsNameStr = "党员";
else partyPositionsNameStr = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, etId);
return {partyPositionsNameStr, color:ColorConfig[etId]};
}
return {partyPositionsNameStr : str.replace(",", ""), color:"#C62A23"};
}
export async function homeData() {
let branch = "牙防所党委" //支部名称
let param = { };
let partyQualityScore = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, param, ["thirdLevelScore", "currentScore"]);
let scoreCount = 0;//得分
let massSum = 0;//总分
partyQualityScore.forEach( score => {
massSum += score.thirdLevelScore;
scoreCount += score.currentScore;
});
let branchCount = 4;
let partyNoticeParam = {};
let partyNoticeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建通知, partyNoticeParam, []);
let noticeList = [];
partyNoticeList.forEach(info => {
noticeList.push({
title:info.title,//类型
content:info.content,//内容
time:moment(info.dataTime).format("YYYY-MM-DD")
});
});
return { branch, branchCount, scoreCount, noticeList, noticeCount:noticeList.length };
}
export async function activitiesData() {
let param = { };
/**资讯 = 活动表 */
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "activitesTime"]);
let dataList = [];
partyInformationList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyInformationConfig, info);
changeData.time = moment(info.activitesTime).format('YYYY-MM-DD');
changeData.dateMs = new Date(info.activitesTime).valueOf();
changeData.pbType = configEnum.PBTYPE.党建资讯;
changeData.labels = ["专题活动"];
changeData.id = info.taId;
dataList.push(changeData);
});
dataList.sort( (a, b) => { return b.dateMs - a.dateMs; });
/**动态 */
let partyBuildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, ["pbId", "theme", "dataMonth", "fileName"]);
let dynamicsList = [];
partyBuildingDynamicDataList.forEach (info => {
let addInfo = {
theme : info.theme,
id : info.pbId,
fileUrl:info.fileName[0] || ""
}
dataList.push(addInfo);
});
return {dynamicsList:dynamicsList, informationList:dataList};
}
export async function partymemberList() {
/**资讯 = 活动表 */
let pmList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {}, ["pmId", "bId"]);
let dataList = [];
let map = {};
let count = pmList.length;
pmList.forEach(info => {
let nameStr = changeEnumValue(configEnum.BRANCHNAMESTR, info.bId);
if ( !map[nameStr] ) map[nameStr] = {name:`${nameStr}人数`,bId:info.bId, count:0};
map[nameStr].count += 1;
})
dataList.push({name:"牙防所党建总人数", count});
for (let key in map) {
dataList.push(map[key]);
}
return {dataList};
}
export async function partymemberTypeList(bId) {
verificationEnumTools.eccEnumValue("党员支部人数", "bId", configEnum.BRANCHNAME, bId);
/**资讯 = 活动表 */
let pmList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {bId}, ["pmId", "etId"]);
let dataList = [];
let map = {};
pmList.forEach(info => {
let nameStr = changeEnumValue(configEnum.ENTRYTYPE, info.etId);
if ( !map[nameStr] ) map[nameStr] = {name:`牙防所${nameStr}人数`, etId:info.etId, count:0};
map[nameStr].count += 1;
})
for (let key in map) {
dataList.push(map[key]);
}
return {dataList};
}
export async function partymemberSublist(bId, name, partyPositionsName ) {
let param = {bId:{"%like%":bId}}
if (name) param["name"] = {"%like%":name};
if (partyPositionsName) param["partyPositionsName"] = {"%like%":partyPositionsName};
let clomun = ["pmId", "name", "etId", "partyPositionsName", "partyJoiningTime", "departmentName"];
let partyMemberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, param, clomun);
let nameList = [];
/**截取返回字段 */
partyMemberList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info);
let {color, partyPositionsNameStr} = changePartyPositionsName( JSON.parse(info.partyPositionsName), changeData.etId);
changeData.partyPositionsName = partyPositionsNameStr;
changeData.color = color;
let time = moment(new Date()).format("YYYY");
let partyJoiningTime = time;
if (info.partyJoiningTime) partyJoiningTime = moment(info.partyJoiningTime).format("YYYY")
changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年";
let departmentName = JSON.parse(changeData.departmentName);
changeData.departmentName = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, departmentName);
nameList.push(changeData);
})
return {nameList};
}
...@@ -37,12 +37,15 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co ...@@ -37,12 +37,15 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co
if(courseTypeName) param["courseTypeName"] = courseTypeName; if(courseTypeName) param["courseTypeName"] = courseTypeName;
if(contentTitle) param["contentTitle"] = {"%like%": contentTitle}; if(contentTitle) param["contentTitle"] = {"%like%": contentTitle};
let clomun = ["mlId", "contentTitle", "fileName", "coverImage", "videoDuration", "courseEntryType"]; let clomun = ["mlId", "contentTitle", "fileName", "coverImage", "videoDuration", "courseEntryType", "desc"];
let memberLearningInfo = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员学习表, param, clomun); let memberLearningInfo = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员学习表, param, clomun);
let courseList = [];
for(let i = 0; i < memberLearningInfo.length; i++) { for(let i = 0; i < memberLearningInfo.length; i++) {
let memberInfo = memberLearningInfo[i]; let memberInfo = memberLearningInfo[i];
let {mlId, contentTitle, fileName, coverImage, videoDuration} = memberInfo; let {mlId, contentTitle, fileName, coverImage, videoDuration, desc} = memberInfo;
let learningInfo = rateLearningMap[mlId]; let learningInfo = rateLearningMap[mlId];
if (!learningInfo) { //如果对应学习课程没有进度数据,创建一条对应进度为0的数据 if (!learningInfo) { //如果对应学习课程没有进度数据,创建一条对应进度为0的数据
let addInfo = { let addInfo = {
...@@ -65,7 +68,16 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co ...@@ -65,7 +68,16 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co
} else { } else {
alanysisFileName = JSON.parse(fileName); alanysisFileName = JSON.parse(fileName);
} }
//todo 这里 fileName不再是一个字符串 而是一个对象{}
courseList.push({
videoDuration,
coverImage,
contentTitle,
desc,
fileName:alanysisFileName
});
// fileName不再是一个字符串 而是一个对象{}
rateLearningList.push({ rateLearningList.push({
rlId: learningInfo.rlId, rlId: learningInfo.rlId,
contentTitle, contentTitle,
...@@ -78,7 +90,7 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co ...@@ -78,7 +90,7 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co
}) })
} }
return rateLearningList; return {rateLearningList, courseList};
} }
......
/** /**
* 党建动态 partyBuildingDynamic * 党建资讯 partyBuildingDynamic
*/ */
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
...@@ -7,9 +7,9 @@ import { selectData } from "../middleware/databaseSuccess"; ...@@ -7,9 +7,9 @@ import { selectData } from "../middleware/databaseSuccess";
import { extractData } from "../util/piecemeal"; import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig"; import * as splitResultConfig from "../config/splitResultConfig";
import moment = require("moment"); import moment = require("moment");
import { PBTYPE, UPTYPE } from "../config/enum"; import { ACTIVITIESTYPE, PBTYPE, UPTYPE } from "../config/enum";
import { systemConfig } from "../config/systemConfig";
import { getFileUrl } from "../middleware/getUrl"; import { getFileUrl } from "../middleware/getUrl";
import { changeEnumValue } from "../util/verificationEnum";
/** /**
...@@ -20,35 +20,34 @@ import { getFileUrl } from "../middleware/getUrl"; ...@@ -20,35 +20,34 @@ import { getFileUrl } from "../middleware/getUrl";
* @param activityMonth 月份 * @param activityMonth 月份
* @returns partyBuildingDynamicList:[{"pbId":1, "theme":"党建动态主题", "dataMonth":"数据月份"}, ......] * @returns partyBuildingDynamicList:[{"pbId":1, "theme":"党建动态主题", "dataMonth":"数据月份"}, ......]
*/ */
export async function partyBuildingDynamicList(bId:number, theme:string, activityYear:string, activityMonth:string) { export async function partyBuildingDynamicList(bId:number, activitiesType:Number) {
let timeStr = new Date(`${activityYear}-${activityMonth}`).valueOf();
let stTime = moment(timeStr).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(timeStr).endOf('month').format("YYYY-MM-DD HH:mm:ss");
let param = { let param:any = {
bId, bId,
dataMonth: {"%between%": [stTime, etTime]} activitiesType:{"%like%":activitiesType}
} };
if(theme) param["theme"] = {"%like%":theme};
let partyBuildingDynamicList = []; let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "activitiesType","activitesTime"]);
let dataList = [];
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "dataMonth"]); partyInformationList.forEach(info => {
for (let i = 0; i < partyInformationList.length; i++) {
let info = partyInformationList[i]; let activitiesTypeList = [];
let changeData:any = extractData(splitResultConfig.thematicActivitiesConfig, info, "YYYY-MM-DD"); JSON.parse(info.activitiesType).forEach(itemKey => {
changeData.pbType = PBTYPE.党建资讯; activitiesTypeList.push({
partyBuildingDynamicList.push(changeData); title:changeEnumValue(ACTIVITIESTYPE, itemKey),
} color:"red"
});
let buildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, ["pbId", "theme", "dataMonth"]); })
for (let i = 0; i < buildingDynamicDataList.length; i++) {
let info = buildingDynamicDataList[i]; dataList.push({
let changeData:any = extractData(splitResultConfig.partyBuildingDynamicConfig, info, "YYYY-MM-DD"); taId:info.taId,
changeData.pbType = PBTYPE.党建动态; activitiesType:activitiesTypeList,
partyBuildingDynamicList.push(changeData); theme:info.theme,
} activitesTime:moment(info.activitesTime).format("YYYY-MM-DD")
});
return partyBuildingDynamicList; });
return {dataList};
} }
...@@ -57,20 +56,29 @@ export async function partyBuildingDynamicList(bId:number, theme:string, activit ...@@ -57,20 +56,29 @@ export async function partyBuildingDynamicList(bId:number, theme:string, activit
* @param pbId * @param pbId
* @returns partyBuildingDynamicInfo:{ "theme":"党建动态主题", "dataMonth":"数据月份", "fileName":["党建动态文件名称", ......] } * @returns partyBuildingDynamicInfo:{ "theme":"党建动态主题", "dataMonth":"数据月份", "fileName":["党建动态文件名称", ......] }
*/ */
export async function partyBuildingDynamicDetsils(pbId:number, pbType:number, token:string, userid:string) { export async function partyBuildingDynamicDetsils(taId:number) {
let clomun = ["theme", "dataMonth", "fileName"];
let partyBuildingDynamicInfo:any = {}; let files = ["taId", "activitiesType", "theme", "content", "activitesTime"];
if (pbType == PBTYPE.党建资讯) partyBuildingDynamicInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.专题活动表, {taId: pbId}, clomun); let partyInformation = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.专题活动表, {taId}, files);
if (pbType == PBTYPE.党建动态) partyBuildingDynamicInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建动态表, {pbId}, clomun);
let activitiesTypeList = [];
partyBuildingDynamicInfo.dataMonth = moment(partyBuildingDynamicInfo.dataMonth).format("YYYY-MM-DD"); JSON.parse(partyInformation.activitiesType).forEach(itemKey => {
let fileNameList = getFileUrl(partyBuildingDynamicInfo.fileName, token, UPTYPE.党建动态, userid); activitiesTypeList.push({
partyBuildingDynamicInfo.fileName = fileNameList; title:changeEnumValue(ACTIVITIESTYPE, itemKey),
color:"red"
return partyBuildingDynamicInfo; });
})
let dataInfo:any = {};
dataInfo.taId = partyInformation.taId;
dataInfo.theme = partyInformation.theme;
dataInfo.content = partyInformation.content;
dataInfo.activitesTime = moment(partyInformation.activitesTime).format("YYYY-MM-DD");
dataInfo.source = "牙防所党建";
dataInfo.activitiesType = activitiesTypeList;
return {dataInfo};
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import * as configEnum from "../config/enum"; import * as configEnum from "../config/enum";
import { selectData } from "../middleware/databaseSuccess"; import { selectData, selectManyTableData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import moment = require("moment"); import moment = require("moment");
import { changeEnumValue } from "../util/verificationEnum"; import { changeEnumValue } from "../util/verificationEnum";
...@@ -19,81 +19,50 @@ import { changeEnumValue } from "../util/verificationEnum"; ...@@ -19,81 +19,50 @@ import { changeEnumValue } from "../util/verificationEnum";
* @returns 基础数据:"baseData": {"partyCount":党员总数, "paid":已缴纳人数, "unpaid":未缴纳人数} * @returns 基础数据:"baseData": {"partyCount":党员总数, "paid":已缴纳人数, "unpaid":未缴纳人数}
* @returns 党费列表:"partyExpensesList": [{"name":"党员名称","payType":"缴纳状态","pmId":"党员id","payTime":"缴纳时间","partyPositionsName":"党内职务","departmentName":"所属科室","partyJoiningTime":"党龄"}, ......] * @returns 党费列表:"partyExpensesList": [{"name":"党员名称","payType":"缴纳状态","pmId":"党员id","payTime":"缴纳时间","partyPositionsName":"党内职务","departmentName":"所属科室","partyJoiningTime":"党龄"}, ......]
*/ */
export async function partyExpensesData(bId, name, payType, payableYear, payableMonth) { export async function partyExpensesData(bId, payType, payableYear, payableMonth) {
let timeStr = new Date(`${payableYear}-${payableMonth}`).valueOf(); let param:any = { bId, payableYear, payableMonth };
let stTime = moment(timeStr).startOf("month").format("YYYY-MM-DD HH:mm:ss"); // if (payType) param.payType = payType;
let etTime = moment(timeStr).endOf('month').format("YYYY-MM-DD HH:mm:ss");
let param = {
bId,
payableMonth: {"%between%": [stTime, etTime]}
}
if(payType) param["payType"] = payType;
let clomun = ["pmId", "payType", "payTime"];
let partyExpensesDataList = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党费管理表, param, clomun);
let expMap = {};//党费缴纳记录
partyExpensesDataList.forEach(info => {
let {pmId, payType, payTime} = info;
expMap[pmId] = {payType, payTime};
});
let partyExpensesList = []; let manyTableConfig = {};
manyTableConfig[TABLENAME.党员基础信息表] = {column:["name", "etId", "partyPositionsName", "partyJoiningTime", "departmentName"], where:{etId:1} };
let partyExpensesList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.党费管理表, param, ["peId", "payType", "payAmount"], manyTableConfig);
let memberParam = { etId: 1, bId: {"%like%": bId} }; let dataList = [];
if(name) memberParam["name"] = {"%like%": name}; let allAmount = 0;
let memberClomun = ["pmId", "etId", "name", "partyPositionsName", "departmentName", "partyJoiningTime"]; let completed = 0;
let partyMenberDataList = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党员基础信息表, memberParam, memberClomun); let incomplete = 0;
partyExpensesList.forEach(info => {
partyMenberDataList.forEach(info => { let {partyMember, payAmount} = info;
let {name, etId, pmId, partyPositionsName, departmentName, partyJoiningTime} = info;
let expInfo = expMap[pmId]; let item = {
name:partyMember.name,
if (expInfo) { partyPositionsName:"党员",//党员类型
let payTime = ""; payType:changeEnumValue(configEnum.PAYTYPE, info.payType),//状态
if(expInfo.payTime) payTime = moment(expInfo.payTime).format("YYYY-MM-DD"); partyJoiningTime:moment(partyMember.partyJoiningTime).format("YYYY-MM-DD"),
let partyPositions = ""; departmentName:changeEnumValue(configEnum.DEDPARTMENT , partyMember.departmentName),
switch(etId) { payAmount:payAmount
case configEnum.ENTRYTYPE.正式党员: };
partyPositions = changeEnumValue(configEnum.PARTYPOSITIONS, JSON.parse(partyPositionsName)); if (payType && info.payType == payType) {
if (!partyPositions || partyPositions=='undefined') partyPositions = "党员"; dataList.push(item);
break; } else {
default: partyPositions = changeEnumValue(configEnum.ENTRYTYPE, etId); dataList.push(item);
} }
partyExpensesList.push({
name, if (info.payType == configEnum.PAYTYPE.已缴纳) {
payType:changeEnumValue(configEnum.PAYTYPE, expInfo.payType), allAmount += payAmount;
pmId, completed += 1;
payTime, } else {
partyPositionsName: partyPositions, //党内职务 allAmount += payAmount;
departmentName: changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(departmentName)), //所属科室 incomplete += 1;
partyJoiningTime: `${new Date().getFullYear() - parseInt(partyJoiningTime)}年` //党龄
});
} }
}); });
let baseExpenses = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党费管理表, {bId, payableMonth: {"%between%": [stTime, etTime]}}, clomun); let rate = 0;
if ( (completed + incomplete) ) {
let baseExpMap = {};//党费缴纳记录 rate = Math.round(completed/(completed + incomplete)*100)
baseExpenses.forEach(info => { }
let {pmId, payType, payTime} = info;
baseExpMap[pmId] = {payType, payTime};
});
let baseMember = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党员基础信息表, {etId: 1, bId: {"%like%": bId}}, memberClomun);
let baseData = { //基础数据
partyCount:baseMember.length,//党员总数,
paid:0, // 已缴纳
unpaid:0 // 未缴纳
};
baseMember.forEach(info => {
let expInfo = baseExpMap[info.pmId];
if (!expInfo) expInfo = {payType:configEnum.PAYTYPE.未缴纳, payTime:timeStr}; //对应党员没有缴纳信息,返回一条该月未缴纳数据
if (expInfo.payType == configEnum.PAYTYPE.未缴纳) baseData.unpaid += 1;
if (expInfo.payType == configEnum.PAYTYPE.已缴纳) baseData.paid += 1;
});
return {baseData, partyExpensesList}; return {statisInfo:{rate, allAmount, completed, incomplete }, dataList};
} }
......
...@@ -16,8 +16,9 @@ import moment = require("moment"); ...@@ -16,8 +16,9 @@ import moment = require("moment");
*/ */
export async function partyQualityList(bId:number) { export async function partyQualityList(bId:number) {
let dataYear = moment(new Date().valueOf()).format("YYYY"); let dataYear = moment(new Date().valueOf()).format("YYYY");
let selectParam = {bId:{"%like%": bId}};
let clomun = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore", "currentScore", "completionProgress"]; let clomun = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore", "currentScore", "completionProgress"];
let partyQualityData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, {bId:{"%like%": bId}, dataYear}, clomun); let partyQualityData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, selectParam, clomun);
let partyQualityList = []; let partyQualityList = [];
for (let key in configEnum.PRIMARYINDICATORS) { for (let key in configEnum.PRIMARYINDICATORS) {
...@@ -25,7 +26,7 @@ export async function partyQualityList(bId:number) { ...@@ -25,7 +26,7 @@ export async function partyQualityList(bId:number) {
let anyKey:any = key; let anyKey:any = key;
if (isNaN(anyKey)) { if (isNaN(anyKey)) {
const EnumValue = parseInt(configEnum.PRIMARYINDICATORS[key]) const EnumValue = parseInt(configEnum.PRIMARYINDICATORS[key])
primaryIndicatorsData["dataList"] = {key: anyKey, list: []}; primaryIndicatorsData["dataList"] = {key: anyKey, value:EnumValue, list: []};
primaryIndicatorsData["detail"] = {}; primaryIndicatorsData["detail"] = {};
partyQualityData.forEach( info => { partyQualityData.forEach( info => {
...@@ -57,11 +58,11 @@ export async function partyQualityList(bId:number) { ...@@ -57,11 +58,11 @@ export async function partyQualityList(bId:number) {
let partyQuality = []; let partyQuality = [];
partyQualityList.forEach( item => { partyQualityList.forEach( item => {
let {dataList, detail} = item; let {dataList} = item;
let {key, list} = dataList; let {key, value, list} = dataList;
let count = list.length; let count = list.length;
let changeDataList = {}; let changeDataInfo:any = {};
let changeData:any = {totalScore:0, completionProgress:0, currentScore:0}; let changeData:any = {totalScore:0, completionProgress:0, currentScore:0};
list.forEach( info => { list.forEach( info => {
let {thirdLevelScore, currentScore, completionProgress, schedule} = info; let {thirdLevelScore, currentScore, completionProgress, schedule} = info;
...@@ -73,21 +74,54 @@ export async function partyQualityList(bId:number) { ...@@ -73,21 +74,54 @@ export async function partyQualityList(bId:number) {
let completion = changeData.completionProgress/count; let completion = changeData.completionProgress/count;
if (completion == 100) changeData.schedule = "已完成"; if (completion == 100) changeData.schedule = "已完成";
changeData.completionProgress = Math.round(completion)+ "%" changeData.completionProgress = Math.round(completion);
changeDataList["key"] = key; changeDataInfo.key = key;
changeDataList["list"] = changeData; changeDataInfo.value = value;
changeDataInfo.dataInfo = changeData;
partyQuality.push({dataList:changeDataList, detail}); partyQuality.push(changeDataInfo);
}) })
return partyQuality; return {dataList:partyQuality};
} }
export async function partyQualityInfo(bId:number, qualityId:number) {
verificationEnumTools.eccEnumValue("获取详情", "qualityId", configEnum.PRIMARYINDICATORS, qualityId);
let dataYear = moment(new Date().valueOf()).format("YYYY");
let selectParam = {bId:{"%like%": bId}, primaryIndicators:qualityId};
let clomun = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore", "currentScore", "completionProgress"];
let partyQualityData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, selectParam, clomun);
let dataMap = {};
partyQualityData.forEach(info => {
if (!dataMap[info.secondaryIndicators]) dataMap[info.secondaryIndicators] = {state:1, content:info.thirdLevelContent};
else {
dataMap[info.secondaryIndicators].content += "<br>";
dataMap[info.secondaryIndicators].content += info.thirdLevelContent;
}
if (info.completionProgress < 100) dataMap[info.secondaryIndicators].state = 0;
});
let dataList = [];
for (let key in dataMap) {
let title = configEnum.SECONDARYINDICATORS[parseInt(key)];
dataList.push({
title,
content:dataMap[key].content,
schedule:dataMap[key].state == 1 ? "已完成" : "进行中"
});
}
return {dataList};
}
......
...@@ -3,12 +3,16 @@ ...@@ -3,12 +3,16 @@
*/ */
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { selectData } from "../middleware/databaseSuccess"; import { operationalData, selectData } from "../middleware/databaseSuccess";
import { extractData } from "../util/piecemeal"; import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig"; import * as splitResultConfig from "../config/splitResultConfig";
import * as configEnum from "../config/enum"; import * as configEnum from "../config/enum";
import * as verificationEnumTools from "../util/verificationEnum"; import * as verificationEnumTools from "../util/verificationEnum";
import moment = require("moment"); import moment = require("moment");
import { eccFormParam } from "../util/verificationParam";
import { CreateDJXFConfig } from "../config/eccFormParamConfig";
import { BizError } from "../util/bizError";
import { ERRORENUM } from "../config/errorEnum";
/** /**
* 获取党建先锋列表 * 获取党建先锋列表
...@@ -17,25 +21,33 @@ import moment = require("moment"); ...@@ -17,25 +21,33 @@ import moment = require("moment");
* @returns * @returns
*/ */
export async function partyVanguardList(bId:number, honorName:string) { export async function partyVanguardList(bId:number, honorName:string) {
let param = {
isUse: 1,
};
if(honorName) param["honorName"] = {"%like%":honorName};
let clomun = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime"];
let param:any = {};
if (honorName) param.honorName = honorName;
let clomun = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime", "img", "content" ];
let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建先锋表, param, clomun); let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建先锋表, param, clomun);
let partyVanguardList = []; let dataList = [];
partyVanguardData.forEach( async info => { partyVanguardData.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyVanguardConfig, info); let changeData:any = extractData(splitResultConfig.partyVanguardConfig, info);
changeData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, info.honorType); changeData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, info.honorType);
changeData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, info.grantingRange); changeData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, info.grantingRange);
changeData.grantTime = moment(info.grantTime).format("YYYY-MM-DD"); changeData.grantTime = moment(info.grantTime).format("YYYY-MM-DD");
changeData.content = info.content;
changeData.img = info.img;
let grantingUnitStr = "";
JSON.parse(info.grantingUnit).forEach(str => {
grantingUnitStr += `,${str}`;
});
changeData.grantingUnit = grantingUnitStr.replace(",", "");
partyVanguardList.push(changeData); dataList.push(changeData);
}); });
return partyVanguardList; return {dataList};
} }
...@@ -46,14 +58,46 @@ export async function partyVanguardList(bId:number, honorName:string) { ...@@ -46,14 +58,46 @@ export async function partyVanguardList(bId:number, honorName:string) {
*/ */
export async function partyVanguardDetsils(pvId:number) { export async function partyVanguardDetsils(pvId:number) {
let param = {pvId}; let param = {pvId};
let clomun = ["honorName", "honorType", "grantingRange", "grantingUnit", "grantTime"]; let clomun = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime", "img", "content" ];
let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, param, clomun); let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, param, clomun);
if (!partyVanguardData || !partyVanguardData.pvId) throw new BizError(ERRORENUM.目标数据不存在);
let dataInfo:any = extractData(splitResultConfig.partyVanguardConfig, partyVanguardData);
dataInfo.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, partyVanguardData.honorType);
dataInfo.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, partyVanguardData.grantingRange);
dataInfo.grantTime = moment(partyVanguardData.grantTime).format("YYYY-MM-DD");
dataInfo.content = partyVanguardData.content;
dataInfo.img = partyVanguardData.img;
let grantingUnitStr = "";
partyVanguardData.grantingUnit.forEach(str => {
grantingUnitStr += `,${str}`;
});
partyVanguardData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, partyVanguardData.honorType); dataInfo.grantingUnit = grantingUnitStr.replace(",", "");
partyVanguardData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, partyVanguardData.grantingRange);
partyVanguardData.grantTime = moment(partyVanguardData.grantTime).format("YYYY-MM-DD");
return partyVanguardData; return { dataInfo }
} }
export async function addPartyVanguard(bId, param) {
const FuncName = "添加先锋";
eccFormParam(FuncName, CreateDJXFConfig, param);
verificationEnumTools.eccEnumValue(FuncName, "honorType", configEnum.HONORTYPE, param.honorType);
verificationEnumTools.eccEnumValue(FuncName, "grantingRange", configEnum.GRANTINGRANGE, param.grantingRange);
let addInfo = {
honorName:param.honorName,// "荣誉名称1",
honorType:param.honorType,// "区级",
grantingRange:param.grantingRange,// "团体",
grantingUnit:JSON.stringify(param.grantingUnit),// "上海市*****单位",
grantTime:new Date(param.grantTime),// "2023-08-30"
content:param.content,// "内容"
img:param.img,// "图片
bId
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党建先锋表, addInfo, {});
return {isSuccess:true}
}
...@@ -7,10 +7,19 @@ import { BizError } from '../util/bizError'; ...@@ -7,10 +7,19 @@ import { BizError } from '../util/bizError';
import * as sysTools from "../tools/system"; import * as sysTools from "../tools/system";
import { operationalData, selectData } from '../middleware/databaseSuccess'; import { operationalData, selectData } from '../middleware/databaseSuccess';
import { OPERATIONALDATATYPE, TABLENAME } from '../config/dbEnum'; import { OPERATIONALDATATYPE, TABLENAME } from '../config/dbEnum';
import { PARTYPOSITIONS } from '../config/enum';
const moment = require("moment"); const moment = require("moment");
function checkLeader(partyPositionsNames) {
for (let i = 0; i < partyPositionsNames.length; i++) {
if (partyPositionsNames[i] >= PARTYPOSITIONS.党总支书记) return true;
}
return false
}
export async function login(loginId:string, pwd:string) { export async function login(loginId:string, pwd:string) {
let clomun = ["pmId", "loginId", "pwd", "token", "bId"]; let clomun = ["pmId", "loginId", "pwd", "token", "bId", "administrativePositionName", "partyPositionsName"];
let loginInfo:any = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId}, clomun); let loginInfo:any = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId}, clomun);
if (!loginInfo) throw new BizError(ERRORENUM.账号不存在, `${loginId}账号非党员账号`); if (!loginInfo) throw new BizError(ERRORENUM.账号不存在, `${loginId}账号非党员账号`);
...@@ -25,10 +34,13 @@ export async function login(loginId:string, pwd:string) { ...@@ -25,10 +34,13 @@ export async function login(loginId:string, pwd:string) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, updateLogin, {loginId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, updateLogin, {loginId});
let userType = checkLeader(JSON.parse(loginInfo.partyPositionsName) ) ? 2 : 1;
return { return {
userid: loginInfo.pmId, userid: loginInfo.pmId,
token: Token, token: Token,
name:loginInfo.name,
bId: loginInfo.bId, bId: loginInfo.bId,
userType,
}; };
} }
...@@ -42,7 +54,7 @@ export async function login(loginId:string, pwd:string) { ...@@ -42,7 +54,7 @@ export async function login(loginId:string, pwd:string) {
* @param confirmPwd 确认新密码 未md5 * @param confirmPwd 确认新密码 未md5
* @returns {isSuccess:true} * @returns {isSuccess:true}
*/ */
export async function changePassword(loginId:string, pwd:string, newPwd:string, confirmPwd:string ) { export async function changePassword(loginId:string, pwd:string, newPwd:string, confirmPwd:string ) {
if (newPwd != confirmPwd) throw new BizError(ERRORENUM.密码不一致); if (newPwd != confirmPwd) throw new BizError(ERRORENUM.密码不一致);
if (newPwd.search(/^[A-Za-z0-9]{6,18}$/) < 0) throw new BizError(ERRORENUM.密码只能由618位字符和数字组成); if (newPwd.search(/^[A-Za-z0-9]{6,18}$/) < 0) throw new BizError(ERRORENUM.密码只能由618位字符和数字组成);
...@@ -68,3 +80,4 @@ export async function login(loginId:string, pwd:string) { ...@@ -68,3 +80,4 @@ export async function login(loginId:string, pwd:string) {
...@@ -36,9 +36,11 @@ export enum PARTYPOSITIONSICON { ...@@ -36,9 +36,11 @@ export enum PARTYPOSITIONSICON {
* 名册录入类型 * 名册录入类型
*/ */
export enum ENTRYTYPE { export enum ENTRYTYPE {
正式党员录入 = 1, 正式党员 = 1,
入党积极分子录入, 预备党员,
入党申请录入 发展对象,
入党积极分子,
入党申请
} }
...@@ -53,4 +55,10 @@ export enum PARTYPOSITIONSICON { ...@@ -53,4 +55,10 @@ export enum PARTYPOSITIONSICON {
统战委员, 统战委员,
组织委员, 组织委员,
宣传委员, 宣传委员,
}
export enum PAYSTATE {
全部 =0,
已支付 = 1,
未支付 =2
} }
\ No newline at end of file
...@@ -34,4 +34,6 @@ export enum TABLENAME { ...@@ -34,4 +34,6 @@ export enum TABLENAME {
课程类型='courseType', 课程类型='courseType',
学习强国='learningPower', 学习强国='learningPower',
党建质量三级指标='thirdLevel', 党建质量三级指标='thirdLevel',
党建通知='partyNotice'
} }
\ No newline at end of file
...@@ -13,14 +13,141 @@ ...@@ -13,14 +13,141 @@
* 备注: 1.0 * 备注: 1.0
*/ */
export const CreateActivityConfig = { export const CreateActivityConfig = {
partyActivityType:{type:"Number", notMustHave:true},//党建活动类型 partyActivityType:{type:"Number"},//党建活动类型
activityStartTime:{type:"Number", notMustHave:true},//活动开始时间 activityStartTime:{type:"Number"},//活动开始时间
activityEndTime:{type:"Number", notMustHave:true},//活动结束时间 activityEndTime:{type:"Number"},//活动结束时间
activityAdd:{type:"String", notMustHave:true},//活动地点 activityAdd:{type:"String", notMustHave:true},//活动地点
activityHost:{type:"[String]", notMustHave:true},//活动主持人 activityHost:{type:"String", notMustHave:true},//活动主持人
activityNoteTaker:{type:"[String]", notMustHave:true},//活动记录人 activityNoteTaker:{type:"String", notMustHave:true},//活动记录人
// leavePartyMember:{type:"[String]", notMustHave:true},//请假党员
participatingPartyMember:{type:"[String]", notMustHave:true},//参与党员
// participationRecord:{type:"String", notMustHave:true},//活动记录
};
export const UpdateActivityConfig = {
partyActivityType:{type:"Number"},//党建活动类型
activityStartTime:{type:"Number"},//活动开始时间
activityEndTime:{type:"Number"},//活动结束时间
activityAdd:{type:"String", notMustHave:true},//活动地点
activityHost:{type:"String", notMustHave:true},//活动主持人
activityNoteTaker:{type:"String", notMustHave:true},//活动记录人
leavePartyMember:{type:"[String]", notMustHave:true},//请假党员 leavePartyMember:{type:"[String]", notMustHave:true},//请假党员
signedInMember:{type:"[String]", notMustHave:true},//签到人员
log:{type:"String", notMustHave:true},//活动记录
participatingPartyMember:{type:"[String]", notMustHave:true},//参与党员 participatingPartyMember:{type:"[String]", notMustHave:true},//参与党员
participationRecord:{type:"String", notMustHave:true},//活动记录 // participationRecord:{type:"String", notMustHave:true},//活动记录
branchName:{type:"[Number]", notMustHave:true}, //支部名称
}; };
/**
* 正式党员
*/
export const CreateZSDYConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
partyJoiningTime:{type:"Number", notMustHave:true},//入党时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
partyPositionsName:{type:"[Number]", notMustHave:true},//党内职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 预备党员
*/
export const CreateYBDYConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
yubeiTime:{type:"Number", notMustHave:true},//预备党员时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 发展对象
*/
export const CreateFZDXConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
fzdxTime:{type:"Number", notMustHave:true},//发展对象时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 入党积极分子
*/
export const CreateRDJJFZConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
listedAsActivistsTime:{type:"Number", notMustHave:true},//列为积极分子时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 入党申请
*/
export const CreateRDSQConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
talkTime:{type:"Number", notMustHave:true},//谈话时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 支部制度
*/
export const CreateZBZDConfig = {
title:{type:"String", notMustHave:true},//制度标题
releaseTime:{type:"Number", notMustHave:true},//发布时间
periodTime:{type:"Number", notMustHave:true},//有效期
content:{type:"String", notMustHave:true},//内容
}
export const CreateDJXFConfig = {
honorName:{type:"String"},// "荣誉名称1",
honorType:{type:"Number"},// "区级",
grantingRange:{type:"Number", },// "团体",
grantingUnit:{type:"[String]"},// "上海市*****单位",
grantTime:{type:"Number"},// "2023-08-30"
content:{type:"String"},// "内容"
img:{type:"String"},// "图片
}
...@@ -20,8 +20,10 @@ export enum FILETYPE { ...@@ -20,8 +20,10 @@ export enum FILETYPE {
/**名册录入类型 */ /**名册录入类型 */
export enum ENTRYTYPE { export enum ENTRYTYPE {
正式党员 = 1, 正式党员 = 1,
预备党员,
发展对象,
入党积极分子, 入党积极分子,
预备党员 入党申请
} }
...@@ -51,6 +53,14 @@ export enum BRANCHNAME { ...@@ -51,6 +53,14 @@ export enum BRANCHNAME {
牙防所第四支部 牙防所第四支部
} }
/**所属支部 */
export enum BRANCHNAMESTR {
第一支部 = 1,
第二支部,
第三支部,
第四支部
}
/**行政职务 */ /**行政职务 */
export enum ADMINISTRATIVEPOSITION { export enum ADMINISTRATIVEPOSITION {
...@@ -91,7 +101,7 @@ export enum ADMINISTRATIVEPOSITION { ...@@ -91,7 +101,7 @@ export enum ADMINISTRATIVEPOSITION {
/**党内职务 */ /**党内职务 */
export enum PARTYPOSITIONS { export enum PARTYPOSITIONS {
党总支书记 = 4, 党总支书记 = 10,
党总支副书记, 党总支副书记,
党总支宣传委员, 党总支宣传委员,
党总支统战委员, 党总支统战委员,
...@@ -154,8 +164,15 @@ export enum PARTYSTATE { ...@@ -154,8 +164,15 @@ export enum PARTYSTATE {
/**主题类型 */ /**主题类型 */
export enum THEMETYPE { export enum THEMETYPE {
理论学习 = 1, // 理论学习 = 1,
实践学习 // 实践学习,
日常教育培训 =1,
主题党课活动,
骨干队伍培训,
支部工作会,
二十大精神,
三会一课
} }
...@@ -225,6 +242,11 @@ export enum GRANTINGRANGE { ...@@ -225,6 +242,11 @@ export enum GRANTINGRANGE {
单位, 单位,
} }
export enum PERSONHONORTYPE {
模范类型1 = 1,
模范类型2 = 2
}
/** /**
* 党员学习--------------------------- * 党员学习---------------------------
...@@ -255,4 +277,11 @@ export enum UPTYPE { ...@@ -255,4 +277,11 @@ export enum UPTYPE {
学习强国 = 6 学习强国 = 6
} }
export enum ACTIVITIESTYPE {
党建动态 = 1,
专题活动,
精神文明,
先进典型,
}
...@@ -14,7 +14,7 @@ export const partyInformationConfig = { ...@@ -14,7 +14,7 @@ export const partyInformationConfig = {
theme:{key:"资讯标题"}, theme:{key:"资讯标题"},
branchName:{key:"支部名称"}, branchName:{key:"支部名称"},
dataMonth:{key:"资讯时间"}, dataMonth:{key:"资讯时间"},
pbType:{key:"资讯类型"}, // pbType:{key:"资讯类型"},
}; };
...@@ -27,7 +27,7 @@ export const buildingDynamiconfig = { ...@@ -27,7 +27,7 @@ export const buildingDynamiconfig = {
theme:{key:"资讯标题"}, theme:{key:"资讯标题"},
branchName:{key:"支部名称"}, branchName:{key:"支部名称"},
dataMonth:{key:"资讯时间"}, dataMonth:{key:"资讯时间"},
pbType:{key:"资讯类型"}, // pbType:{key:"资讯类型"},
}; };
...@@ -150,7 +150,9 @@ export const partyVanguardConfig = { ...@@ -150,7 +150,9 @@ export const partyVanguardConfig = {
honorType:{key:"荣誉类型"}, honorType:{key:"荣誉类型"},
grantingRange:{key:"授予范围"}, grantingRange:{key:"授予范围"},
grantingUnit:{key:"授予单位"}, grantingUnit:{key:"授予单位"},
grantTime:{key:"授予时间", changeDate:true} grantTime:{key:"授予时间", changeDate:true},
img:{key:"图片地址"},
content:{key:"内容内容"},
} }
......
import { partyQualityList } from "./biz/partyQuality";
import { initConfig, systemConfig} from "./config/systemConfig"; import { initConfig, systemConfig} from "./config/systemConfig";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { initBasicData } from "./tools/dataInit"; import { initBasicData } from "./tools/dataInit";
...@@ -17,7 +18,9 @@ async function lanuch() { ...@@ -17,7 +18,9 @@ async function lanuch() {
lanuch(); lanuch();
function test() { async function test() {
let pwd = md5PwdStr("admin"); let pwd = md5PwdStr("admin");
console.log(); console.log();
let data = await partyQualityList(1);
console.log()
} }
\ No newline at end of file
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { PARTYPOSITIONS } from "../config/enum";
import { ERRORCODEENUM, ERRORENUM } from "../config/errorEnum"; import { ERRORCODEENUM, ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { selectData } from "./databaseSuccess"; import { selectData } from "./databaseSuccess";
...@@ -11,6 +12,7 @@ import { selectData } from "./databaseSuccess"; ...@@ -11,6 +12,7 @@ import { selectData } from "./databaseSuccess";
* @returns * @returns
*/ */
export async function checkAppletToken(req, res, next) { export async function checkAppletToken(req, res, next) {
if (!req.headers) req.headers = {}; if (!req.headers) req.headers = {};
let ReqToken = req.headers.token; let ReqToken = req.headers.token;
let UserId = req.headers.userid; let UserId = req.headers.userid;
...@@ -22,6 +24,35 @@ export async function checkAppletToken(req, res, next) { ...@@ -22,6 +24,35 @@ export async function checkAppletToken(req, res, next) {
if (!partyMemberInfo.token || partyMemberInfo.token != ReqToken) return next(new BizError(ERRORENUM.身份验证过期)); if (!partyMemberInfo.token || partyMemberInfo.token != ReqToken) return next(new BizError(ERRORENUM.身份验证过期));
req.headers.userid = partyMemberInfo.pmId; req.headers.userid = partyMemberInfo.pmId;
req.headers.bId = partyMemberInfo.bId;
next(); next();
} }
export async function checkAppletDWToken(req, res, next) {
if (!req.headers) req.headers = {};
let ReqToken = req.headers.token;
let UserId = req.headers.userid;
if(!UserId || !ReqToken) return next(new BizError(ERRORENUM.非法登录));
let partyMemberInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId: UserId}, ["pmId", "bId", "loginId", "token", "partyPositionsName"]);
if (!partyMemberInfo || !partyMemberInfo.pmId) return next(new BizError(ERRORENUM.身份验证失败));
if (!partyMemberInfo.token || partyMemberInfo.token != ReqToken) return next(new BizError(ERRORENUM.身份验证过期));
req.headers.userid = partyMemberInfo.pmId;
req.headers.bId = partyMemberInfo.bId;
//判断是否是领导
let isZZB = false;
JSON.parse(partyMemberInfo.partyPositionsName).forEach(itemId => {
if (itemId >= PARTYPOSITIONS.党总支书记 && itemId <= PARTYPOSITIONS.党总支纪检委员) {
isZZB = true;
}
});
if (!isZZB) {
throw new BizError(ERRORENUM.权限不足);
}
next();
}
\ No newline at end of file
/** /**
* 小程序端 党员入口 党建首页路由 * 小程序端
* 党建首页路由
*/ */
import * as baseBiz from '../../biz/base'; import * as baseBiz from '../../biz/base';
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken, checkAppletDWToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partymember/home', checkAppletToken, asyncHandler(homeBase)); httpServer.post('/yfs/applet/partymember/home', checkAppletToken, asyncHandler(homeBase));
httpServer.post('/yfs/applet/partymember/activities', checkAppletToken, asyncHandler(activitiesBase)); httpServer.post('/yfs/applet/partymember/activities', checkAppletToken, asyncHandler(activitiesBase));
httpServer.post('/yfs/member/partymember/home', checkAppletToken, asyncHandler(member_home));
httpServer.post('/yfs/member/partymember/bottomhome', checkAppletToken, asyncHandler(member_home_bottom));
} }
...@@ -19,10 +24,7 @@ export function setRouter(httpServer) { ...@@ -19,10 +24,7 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function homeBase(req, res) { async function homeBase(req, res) {
//优化点 bId可以根据中间件验证token时获取,无需前端传递bId参数 其他接口也一样 let bId = req.headers.bId;
let reqConf = {bId:'Number'};
let {bId} = eccReqParamater(reqConf, req.body);
let baseInfo = await baseBiz.homeData(bId); let baseInfo = await baseBiz.homeData(bId);
res.success(baseInfo); res.success(baseInfo);
} }
...@@ -34,10 +36,28 @@ async function homeBase(req, res) { ...@@ -34,10 +36,28 @@ async function homeBase(req, res) {
* @param res * @param res
*/ */
async function activitiesBase(req, res) { async function activitiesBase(req, res) {
let reqConf = {bId:'Number'}; let bId = req.headers.bId;
let {bId} = eccReqParamater(reqConf, req.body);
let activitiesInfo = await baseBiz.activitiesData(bId); let activitiesInfo = await baseBiz.activitiesData(bId);
res.success(activitiesInfo); res.success(activitiesInfo);
} }
async function member_home(req, res) {
let userid = req.headers.userid;
let bId = req.headers.bId;
let activitiesInfo = await baseBiz.memberHomeData(userid, bId);
res.success(activitiesInfo);
}
async function member_home_bottom(req, res) {
let reqConf = { activitiesType:'Number'};
let { activitiesType } = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let activitiesInfo = await baseBiz.memberHomeBottomData(bId, activitiesType);
res.success(activitiesInfo);
}
/** /**
* 小程序端 党员入口 支部制度 * 小程序端
* 支部制度
*/ */
import * as branchSystemBiz from '../../biz/branchSystem'; import * as branchSystemBiz from '../../biz/branchSystem';
...@@ -7,10 +8,11 @@ ...@@ -7,10 +8,11 @@
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/branchsystem/list', checkAppletToken, asyncHandler(getBranchSystem)); httpServer.post('/yfs/applet/branchsystem/list', checkAppletToken, asyncHandler(getBranchSystem));
httpServer.post('/yfs/applet/branchsystem/detsils', checkAppletToken, asyncHandler(getBranchSystemDetsils)); httpServer.post('/yfs/applet/branchsystem/detsils', checkAppletToken, asyncHandler(getBranchSystemDetsils));
} httpServer.post('/yfs/applet/branchsystem/add', checkAppletToken, asyncHandler(addBranchSystemDetsils));
}
/** /**
...@@ -19,8 +21,9 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -19,8 +21,9 @@ import { checkAppletToken } from '../../middleware/user';
* @param res * @param res
*/ */
async function getBranchSystem(req, res) { async function getBranchSystem(req, res) {
let reqConf = {bId:'Number', systemTitle:'String'}; let reqConf = { systemTitle:'String'};
let {bId, systemTitle} = eccReqParamater(reqConf, req.body, ["systemTitle"]); let { systemTitle} = eccReqParamater(reqConf, req.body, ["systemTitle"]);
let bId = req.headers.bId;
let result = await branchSystemBiz.branchSystemList(bId, systemTitle); let result = await branchSystemBiz.branchSystemList(bId, systemTitle);
res.success(result); res.success(result);
...@@ -35,11 +38,21 @@ async function getBranchSystem(req, res) { ...@@ -35,11 +38,21 @@ async function getBranchSystem(req, res) {
async function getBranchSystemDetsils(req, res) { async function getBranchSystemDetsils(req, res) {
let reqConf = {bsId: 'Number'}; let reqConf = {bsId: 'Number'};
let {bsId} = eccReqParamater(reqConf, req.body); let {bsId} = eccReqParamater(reqConf, req.body);
let result = await branchSystemBiz.branchSystemDetsils(bsId);
let token = req.headers.token; res.success(result);
let userid = req.headers.userid; }
let result = await branchSystemBiz.branchSystemDetsils(bsId, token, userid); /**
* 支部制度 制度细则
* @param req
* @param res
*/
async function addBranchSystemDetsils(req, res) {
let reqConf = {param: 'Object'};
let {param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await branchSystemBiz.addOneBranchSystemDetsils(bId, param);
res.success(result); res.success(result);
} }
/**
* 小程序端
* 党建首页路由
*/
import * as dwBiz from '../../biz/dw';
import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken, checkAppletDWToken } from '../../middleware/user';
export function setRouter(httpServer) {
//总支部权限
//名册
httpServer.post('/yfs/dw/home', checkAppletDWToken, asyncHandler(homeBase));
httpServer.post('/yfs/dw/activities', checkAppletDWToken, asyncHandler(activitiesBase));
httpServer.post('/yfs/dw/member/partymember/list', checkAppletDWToken, asyncHandler(partymember_list));
httpServer.post('/yfs/dw/member/partymember/list/sublist', checkAppletDWToken, asyncHandler(partymember_sublist));
httpServer.post('/yfs/dw/member/partymember/typelist', checkAppletDWToken, asyncHandler(partymember_type_list));
httpServer.post('/yfs/dw/member/partymember/typelist/sublist', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/list', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/statis', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/list', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/list/sublist', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/statis', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/applet/branchsystem/list', checkAppletToken, asyncHandler(getBranchSystem));
httpServer.post('/yfs/applet/branchsystem/detsils', checkAppletToken, asyncHandler(getBranchSystemDetsils));
httpServer.post('/yfs/applet/branchsystem/add', checkAppletToken, asyncHandler(addBranchSystemDetsils));
httpServer.post('/yfs/applet/organizationallife/list', checkAppletToken, asyncHandler(organizationalLifeList));
httpServer.post('/yfs/applet/organizationallife/add', checkAppletToken, asyncHandler(addDetails));
}
/**
*
* @param req
* @param res
*/
async function homeBase(req, res) {
let baseInfo = await dwBiz.homeData();
res.success(baseInfo);
}
/**
*
* @param req
* @param res
*/
async function activitiesBase(req, res) {
let activitiesInfo = await dwBiz.activitiesData();
res.success(activitiesInfo);
}
/**
*
* @param req
* @param res
*/
async function partymember_list(req, res) {
let activitiesInfo = await dwBiz.partymemberList();
res.success(activitiesInfo);
}
async function partymember_sublist(req, res) {
let reqConf = {bId:'Number', name:"String", partyPositionsName:"Number"};
let {bId, name, partyPositionsName} = eccReqParamater(reqConf, req.body, ["name", "partyPositionsName"]);
let activitiesInfo = await dwBiz.partymemberSublist(bId, name, partyPositionsName );
res.success(activitiesInfo);
}
/**
*
* @param req
* @param res
*/
async function partymember_type_list(req, res) {
let reqConf = {bId:'Number'};
let {bId} = eccReqParamater(reqConf, req.body);
let activitiesInfo = await dwBiz.partymemberTypeList(bId);
res.success(activitiesInfo);
}
/** /**
* 小程序端 党员入口 党员学习 * 小程序端
* 党员学习
*/ */
import * as memberLearningBiz from '../../biz/memberLearning'; import * as memberLearningBiz from '../../biz/memberLearning';
...@@ -10,21 +11,21 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -10,21 +11,21 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/memberlearning/list', checkAppletToken, asyncHandler(getMemberLearning)); httpServer.post('/yfs/applet/memberlearning/list', checkAppletToken, asyncHandler(getMemberLearning));
httpServer.post('/yfs/applet/memberlearning/branchranking', checkAppletToken, asyncHandler(getBranchRanking)); httpServer.post('/yfs/applet/memberlearning/branchranking', checkAppletToken, asyncHandler(getBranchRanking));
httpServer.post('/yfs/applet/memberlearning/monthranking', checkAppletToken, asyncHandler(getMonthRanking)); httpServer.post('/yfs/applet/memberlearning/ranking', checkAppletToken, asyncHandler(getRanking));
httpServer.post('/yfs/applet/memberlearning/updateschedule', checkAppletToken, asyncHandler(updateRateLearning)); httpServer.post('/yfs/applet/memberlearning/updateschedule', checkAppletToken, asyncHandler(updateRateLearning));
httpServer.post('/yfs/applet/memberlearning/updatefileschedule', checkAppletToken, asyncHandler(updateFileRateLearning)); httpServer.post('/yfs/applet/memberlearning/updatefileschedule', checkAppletToken, asyncHandler(updateFileRateLearning));
} }
/** /**
* 党建先锋 视频课程与文字课程列表 * 本人 视频课程与文字课程列表
* @param req * @param req
* @param res * @param res
*/ */
async function getMemberLearning(req, res) { async function getMemberLearning(req, res) {
let pmId = req.headers.userid; let pmId = req.headers.userid;
let reqConf = {courseEntryType:'Number', courseTypeName:'Number', contentTitle:'String'}; let reqConf = {courseEntryType:'Number', courseTypeName:'Number', contentTitle:'String'};
let {courseEntryType, courseTypeName, contentTitle} = eccReqParamater(reqConf, req.body); let {courseEntryType, courseTypeName, contentTitle} = eccReqParamater(reqConf, req.body, ["contentTitle"]);
let token = req.headers.token; let token = req.headers.token;
let userid = req.headers.userid; let userid = req.headers.userid;
...@@ -41,7 +42,7 @@ async function getMemberLearning(req, res) { ...@@ -41,7 +42,7 @@ async function getMemberLearning(req, res) {
*/ */
async function getBranchRanking(req, res) { async function getBranchRanking(req, res) {
let pmId = req.headers.userid; let pmId = req.headers.userid;
let {bId} = eccReqParamater({bId:'Number'}, req.body); let bId = req.headers.bId;
let result = await memberLearningBiz.branchRanking(pmId, bId); let result = await memberLearningBiz.branchRanking(pmId, bId);
res.success(result); res.success(result);
...@@ -53,7 +54,7 @@ async function getBranchRanking(req, res) { ...@@ -53,7 +54,7 @@ async function getBranchRanking(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
async function getMonthRanking(req, res) { async function getRanking(req, res) {
let pmId = req.headers.userid; let pmId = req.headers.userid;
let result = await memberLearningBiz.branchRanking(pmId); let result = await memberLearningBiz.branchRanking(pmId);
res.success(result); res.success(result);
......
/** /**
* 小程序端 党员入口 组织生活路由 * 小程序端
* 组织生活路由
*/ */
import * as organizationalLifeBiz from '../../biz/organizationalLife'; import * as organizationalLifeBiz from '../../biz/organizationalLife';
...@@ -9,20 +10,26 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -9,20 +10,26 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/organizationallife/list', checkAppletToken, asyncHandler(organizationalLifeList)); httpServer.post('/yfs/applet/organizationallife/list', checkAppletToken, asyncHandler(organizationalLifeList));
httpServer.post('/yfs/applet/organizationallife/details', checkAppletToken, asyncHandler(detailsList)); httpServer.post('/yfs/applet/organizationallife/details', checkAppletToken, asyncHandler(details));
httpServer.post('/yfs/applet/organizationallife/add', checkAppletToken, asyncHandler(addDetails));
httpServer.post('/yfs/applet/organizationallife/update', checkAppletToken, asyncHandler(updateDetails));
httpServer.post('/yfs/applet/organizationallife/memberlist', checkAppletToken, asyncHandler(memberlist));
} }
/** /**
* 组织生活列表 * 组织生活列表
* @param req * @param req
* @param res * @param res
*/ */
async function organizationalLifeList(req, res) { async function organizationalLifeList(req, res) {
let reqConf = {bId:'Number', theme:'String', themeType:'Number', dataMonth:'String'}; let reqConf = {theme:'String', themeType:'Number'};
let {bId, theme, themeType, dataMonth} = eccReqParamater(reqConf, req.body, ["theme","themeType","dataMonth"]); let {theme, themeType} = eccReqParamater(reqConf, req.body, ["theme","themeType"]);
let result = await organizationalLifeBiz.organizationalLifeList(bId, theme, themeType, dataMonth); let bId = req.headers.bId;
let result = await organizationalLifeBiz.organizationalLifeList(bId, theme, themeType);
res.success(result); res.success(result);
} }
...@@ -32,14 +39,49 @@ async function organizationalLifeList(req, res) { ...@@ -32,14 +39,49 @@ async function organizationalLifeList(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
async function detailsList(req, res) { async function details(req, res) {
let reqConf = {oId: 'Number' }; let reqConf = {oId: 'Number' };
let {oId} = eccReqParamater(reqConf, req.body); let {oId} = eccReqParamater(reqConf, req.body);
let token = req.headers.token; let token = req.headers.token;
let userid = req.headers.userid; let userid = req.headers.userid;
let bId = req.headers.bId;
let result = await organizationalLifeBiz.organlzationalLifeListDetsils(oId, token, userid, bId);
res.success(result);
}
/**
*
* @param req
* @param res
*/
async function addDetails(req, res) {
let reqConf = {param:"Object"};
let {param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await organizationalLifeBiz.addOrg(bId, param);
res.success(result);
}
let result = await organizationalLifeBiz.organlzationalLifeListDetsils(oId, token, userid);
/**
*
* @param req
* @param res
*/
async function updateDetails(req, res) {
let reqConf = {oId:"Number", param:"Object"};
let {oId, param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await organizationalLifeBiz.updateOrg(oId, param);
res.success(result); res.success(result);
} }
async function memberlist(req, res) {
let bId = req.headers.bId;
let result = await organizationalLifeBiz.memberSelect(bId);
res.success(result);
}
\ No newline at end of file
/** /**
* 小程序端 党员入口 党建动态路由 * 小程序端
* 党建资讯 请求的是活动表
*/ */
import * as partyBuildingDynamicBiz from '../../biz/partyBuildingDynamic'; import * as partyBuildingDynamicBiz from '../../biz/partyBuildingDynamic';
...@@ -14,15 +15,17 @@ export function setRouter(httpServer) { ...@@ -14,15 +15,17 @@ export function setRouter(httpServer) {
/** /**
* 党建动态列表 * 党建资讯列表
* @param req * @param req
* @param res * @param res
*/ */
async function partyBuildingDynamicList(req, res) { async function partyBuildingDynamicList(req, res) {
let reqConf = {bId:'Number', theme:'String', activityYear:'String', activityMonth:'String'}; let reqConf = {activitiesType:'Number'};
let {bId, theme, activityYear, activityMonth} = eccReqParamater(reqConf, req.body, ["theme","activityYear","activityMonth"]); let {activitiesType} = eccReqParamater(reqConf, req.body);
let result = await partyBuildingDynamicBiz.partyBuildingDynamicList(bId, theme, activityYear, activityMonth); let bId = req.headers.bId;
let result = await partyBuildingDynamicBiz.partyBuildingDynamicList(bId, activitiesType);
res.success(result); res.success(result);
} }
...@@ -33,13 +36,10 @@ async function partyBuildingDynamicList(req, res) { ...@@ -33,13 +36,10 @@ async function partyBuildingDynamicList(req, res) {
* @param res * @param res
*/ */
async function detailsList(req, res) { async function detailsList(req, res) {
let reqConf = {pbId: 'Number', pbType: 'Number'}; let reqConf = {taId: 'Number'};
let {pbId, pbType} = eccReqParamater(reqConf, req.body); let {taId} = eccReqParamater(reqConf, req.body);
let token = req.headers.token;
let userid = req.headers.userid;
let result = await partyBuildingDynamicBiz.partyBuildingDynamicDetsils(pbId, pbType, token, userid); let result = await partyBuildingDynamicBiz.partyBuildingDynamicDetsils(taId);
res.success(result); res.success(result);
} }
......
/** /**
* 小程序端 党员入口 党费管理 * 小程序端
* 党费管理
*/ */
import * as partyExpensesBiz from '../../biz/partyExpenses'; import * as partyExpensesBiz from '../../biz/partyExpenses';
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partyexpenses/list', checkAppletToken, asyncHandler(getPartyExpenses)); httpServer.post('/yfs/applet/partyexpenses/list', checkAppletToken, asyncHandler(getPartyExpenses));
} }
/** /**
* 党费列表 * 党费列表
* @param req * @param req
* @param res * @param res
*/ */
async function getPartyExpenses(req, res) { async function getPartyExpenses(req, res) {
let reqConf = {bId:'Number', name:'String', payType:'Number', payableYear:'String', payableMonth:'String'}; let reqConf = {payableYear:'Number', payType:"Number", payableMonth:'Number'};
let {bId, name, payType, payableYear, payableMonth} = eccReqParamater(reqConf, req.body, ["name", "payType", "payableYear", "payableMonth"]); let {payableYear, payableMonth, payType} = eccReqParamater(reqConf, req.body, ["payType"]);
let result = await partyExpensesBiz.partyExpensesData(bId, name, payType, payableYear, payableMonth); let bId = req.headers.bId;
let result = await partyExpensesBiz.partyExpensesData(bId, payType, payableYear, payableMonth);
res.success(result); res.success(result);
} }
\ No newline at end of file
/** /**
* 小程序端 党员入口 党员基础信息 * 小程序端
* 党员基础信息
*/ */
import * as partyMemberBiz from '../../biz/partyMember'; import * as partyMemberBiz from '../../biz/partyMember';
...@@ -8,8 +9,9 @@ import { eccReqParamater } from '../../util/verificationParam'; ...@@ -8,8 +9,9 @@ import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partymember/partymembername', checkAppletToken, asyncHandler(getPartyMemberName)); httpServer.post('/yfs/applet/partymember/partymembername', checkAppletToken, asyncHandler(get_party_member_name));
httpServer.post('/yfs/applet/partymember/detsils', checkAppletToken, asyncHandler(partyDetsils)); httpServer.post('/yfs/applet/partymember/detsils', checkAppletToken, asyncHandler(party_detsils));
httpServer.post('/yfs/applet/partymember/add', checkAppletToken, asyncHandler(add_member));
} }
...@@ -18,7 +20,7 @@ export function setRouter(httpServer) { ...@@ -18,7 +20,7 @@ export function setRouter(httpServer) {
* @param req * @param req
* @param res * @param res
*/ */
async function getPartyMemberName(req, res) { async function get_party_member_name(req, res) {
let reqConf = {bId:'Number', name:'String'}; let reqConf = {bId:'Number', name:'String'};
let {bId, name} = eccReqParamater(reqConf, req.body, ["name"]); let {bId, name} = eccReqParamater(reqConf, req.body, ["name"]);
...@@ -32,7 +34,7 @@ async function getPartyMemberName(req, res) { ...@@ -32,7 +34,7 @@ async function getPartyMemberName(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
async function partyDetsils(req, res) { async function party_detsils(req, res) {
let reqConf = {bId: 'Number', pmId: 'String'}; let reqConf = {bId: 'Number', pmId: 'String'};
let {bId, pmId} = eccReqParamater(reqConf, req.body); let {bId, pmId} = eccReqParamater(reqConf, req.body);
...@@ -41,6 +43,21 @@ async function partyDetsils(req, res) { ...@@ -41,6 +43,21 @@ async function partyDetsils(req, res) {
} }
/**
* 添加
* @param req
* @param res
*/
async function add_member(req, res) {
let reqConf = {memberType: 'Number', param: 'Object'};
let {memberType, param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await partyMemberBiz.addMember(bId, memberType, param);
res.success(result);
}
/** /**
* 小程序端 党员入口 党建质量指数 三级指标 * 小程序端
* 党建质量指数 三级指标
*/ */
import * as partyQualityBiz from '../../biz/partyQuality'; import * as partyQualityBiz from '../../biz/partyQuality';
...@@ -9,7 +10,7 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -9,7 +10,7 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partyquality/list', checkAppletToken, asyncHandler(getPartyQuality)); httpServer.post('/yfs/applet/partyquality/list', checkAppletToken, asyncHandler(getPartyQuality));
// httpServer.post('/yfs/applet/partyquality/detsils', asyncHandler(getPartyVanguardDetsils)); httpServer.post('/yfs/applet/partyquality/detsils', asyncHandler(getPartyVanguardDetsils));
} }
...@@ -19,9 +20,7 @@ export function setRouter(httpServer) { ...@@ -19,9 +20,7 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function getPartyQuality(req, res) { async function getPartyQuality(req, res) {
let reqConf = {bId:'Number'}; let bId = req.headers.bId;
let {bId} = eccReqParamater(reqConf, req.body);
let result = await partyQualityBiz.partyQualityList(bId); let result = await partyQualityBiz.partyQualityList(bId);
res.success(result); res.success(result);
} }
...@@ -32,13 +31,13 @@ async function getPartyQuality(req, res) { ...@@ -32,13 +31,13 @@ async function getPartyQuality(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
// async function getPartyVanguardDetsils(req, res) { async function getPartyVanguardDetsils(req, res) {
// let reqConf = {pvId:'Number'}; let reqConf = {qualityId:'Number'};
// let {pvId} = eccReqParamater(reqConf, req.body); let {qualityId} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
// let result = await partyQualityBiz.partyVanguardDetsils(pvId); let result = await partyQualityBiz.partyQualityInfo(bId, qualityId);
// res.success(result); res.success(result);
// } }
......
/** /**
* 小程序端 党员入口 党建先锋 * 小程序端
* 党建先锋
*/ */
import * as partyVanguardBiz from '../../biz/partyVanguard'; import * as partyVanguardBiz from '../../biz/partyVanguard';
...@@ -10,6 +11,7 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -10,6 +11,7 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partyvanguard/list', checkAppletToken, asyncHandler(getPartyVanguard)); httpServer.post('/yfs/applet/partyvanguard/list', checkAppletToken, asyncHandler(getPartyVanguard));
httpServer.post('/yfs/applet/partyvanguard/detsils', checkAppletToken, asyncHandler(getPartyVanguardDetsils)); httpServer.post('/yfs/applet/partyvanguard/detsils', checkAppletToken, asyncHandler(getPartyVanguardDetsils));
httpServer.post('/yfs/applet/partyvanguard/add', checkAppletToken, asyncHandler(addPartyVanguardDetsils));
} }
...@@ -19,9 +21,10 @@ export function setRouter(httpServer) { ...@@ -19,9 +21,10 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function getPartyVanguard(req, res) { async function getPartyVanguard(req, res) {
let reqConf = {bId:'Number', honorName:'String'}; let reqConf = { honorName:'String'};
let {bId, honorName} = eccReqParamater(reqConf, req.body, ["honorName"]); let {honorName} = eccReqParamater(reqConf, req.body, ["honorName"]);
let bId = req.headers.bId;
let result = await partyVanguardBiz.partyVanguardList(bId, honorName); let result = await partyVanguardBiz.partyVanguardList(bId, honorName);
res.success(result); res.success(result);
} }
...@@ -43,3 +46,21 @@ async function getPartyVanguardDetsils(req, res) { ...@@ -43,3 +46,21 @@ async function getPartyVanguardDetsils(req, res) {
/**
* 党建先锋 添加荣誉详情
* @param req
* @param res
*/
async function addPartyVanguardDetsils(req, res) {
let reqConf = {param:'Object'};
let {param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await partyVanguardBiz.addPartyVanguard(bId, param);
res.success(result);
}
...@@ -15,15 +15,44 @@ export function setRouter(httpServer) { ...@@ -15,15 +15,44 @@ export function setRouter(httpServer) {
httpServer.post('/yfs/applet/public/degree', asyncHandler(degreeType)); httpServer.post('/yfs/applet/public/degree', asyncHandler(degreeType));
httpServer.post('/yfs/applet/public/administrativeposition', asyncHandler(administrativePosition)); httpServer.post('/yfs/applet/public/administrativeposition', asyncHandler(administrativePosition));
httpServer.post('/yfs/applet/public/department', asyncHandler(department)); httpServer.post('/yfs/applet/public/department', asyncHandler(department));
httpServer.post('/yfs/applet/public/degreetype', asyncHandler(degreeType));
httpServer.post('/yfs/applet/public/honortype', asyncHandler(honorType)); httpServer.post('/yfs/applet/public/honortype', asyncHandler(honorType));
httpServer.post('/yfs/applet/public/themetype', asyncHandler(themeType)); httpServer.post('/yfs/applet/public/themetype', asyncHandler(themeType));
httpServer.post('/yfs/applet/public/paytype', asyncHandler(payType)); httpServer.post('/yfs/applet/public/paytype', asyncHandler(payType));
httpServer.post('/yfs/applet/public/paytime', asyncHandler(getPayTime)); httpServer.post('/yfs/applet/public/paytime', asyncHandler(getPayTime));
httpServer.post('/yfs/applet/public/coursetype', asyncHandler(courseType)); httpServer.post('/yfs/applet/public/coursetype', asyncHandler(courseType));
httpServer.post('/yfs/applet/public/activitytype', asyncHandler(activityType));
httpServer.post('/yfs/applet/public/grantingrange', asyncHandler(grantingRange));
httpServer.post('/yfs/applet/public/personhonortype', asyncHandler(personhonortype));
} }
function personhonortype(req, res) {
let dataList = getEnumList(configEnum.PERSONHONORTYPE);
res.success(dataList);
}
function grantingRange(req, res) {
let dataList = getEnumList(configEnum.GRANTINGRANGE);
res.success(dataList);
}
/**
*
* @param req
* @param res
*/
function activityType(req, res) {
let dataList = getEnumList(configEnum.ACTIVITIESTYPE);
res.success(dataList);
}
/** /**
* 党内职务 * 党内职务
...@@ -195,7 +224,7 @@ export function payTime() { ...@@ -195,7 +224,7 @@ export function payTime() {
for(let i = nowYear; i >= smallYear; i--) { for(let i = nowYear; i >= smallYear; i--) {
yearList.push(i); yearList.push(i);
let yearmonth = []; let yearmonth = [];
for(let m = 1; m <= 12; m++){ for(let m = 12; m >= 1; m--){
yearmonth.push(m); yearmonth.push(m);
} }
monthList.push(yearmonth); monthList.push(yearmonth);
......
...@@ -145,7 +145,7 @@ async function initPartyMember() { ...@@ -145,7 +145,7 @@ async function initPartyMember() {
if (i == 2 && item) { if (i == 2 && item) {
value = moment(item).format("YYYY-MM-DD"); value = moment(item).format("YYYY-MM-DD");
} }
if (i ==3) { if (i ==3 ) {
let itemStr = `${item}`; let itemStr = `${item}`;
if(!addDataInfo.pmId) addDataInfo.pmId = md5PwdStr(itemStr.slice(itemStr.length-6)); if(!addDataInfo.pmId) addDataInfo.pmId = md5PwdStr(itemStr.slice(itemStr.length-6));
if(!addDataInfo.pwd) addDataInfo.pwd = md5PwdStr(itemStr.slice(itemStr.length-6)); if(!addDataInfo.pwd) addDataInfo.pwd = md5PwdStr(itemStr.slice(itemStr.length-6));
......
...@@ -166,4 +166,9 @@ export function getSMSCode() { ...@@ -166,4 +166,9 @@ export function getSMSCode() {
code += Math.floor(Math.random() * 10) code += Math.floor(Math.random() * 10)
} }
return code; return code;
} }
\ No newline at end of file
export function getRandomId(str) {
return md5(`${str}${new Date().valueOf()}${Math.ceil(Math.random()*1000000)}`);
}
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