Commit 0c1d7f20 by lixinming

请修改优化点 全局搜索 //优化点

parent 14d12b92
......@@ -2,14 +2,11 @@
* 首页基础数据
*/
import { changeEnumValue, eccEnumValue } from "../util/verificationEnum";
import { changeEnumValue } from "../util/verificationEnum";
import * as configEnum from "../config/enum";
import * as clientConfigEnum from "../config/clientEnum";
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError";
import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig";
import moment = require("moment");
import { selectData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
......@@ -19,64 +16,81 @@ import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
* @param bId 支部id
* @returns {支部名称, 党员总数, 党建质量总数, 党建质量指数, 党内职务人员列表}
*/
export async function homeData(bId) {
if (bId && bId.length > 0) eccEnumValue("党建资讯列表查询", "支部名称", configEnum.BRANCHNAME, bId);
export async function homeData(bId:number) {
let branch = changeEnumValue(configEnum.BRANCHNAME, bId); //支部名称
// let bId = branchSystemData.getbIdBybId({bId});
let partyMemberNum = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.党员基础信息表, {bId:{"%like%":bId}}, []); //党员总数
let param = {bId: {"%like%": bId}};
let param = { bId };
let partyQualityScore = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量, param, ["thirdLevelScore", "currentScore"]);
let massIndex = 0;
let massSum = 0;
let massIndex = 0;//得分
let massCount = 0;//总分
partyQualityScore.forEach( score => {
massSum += score.thirdLevelScore;
massIndex += score.currentScore;
})
massCount += score.thirdLevelScore;
massIndex += score.currentScore;
});
let partyPositions = []; //党内职务人员
let partyPositionsMap = {}; // = []; //党内职务人员 [{key, list:["", ""]}]
for (let key in clientConfigEnum.PARTYPOSITIONS) {
let anyKey:any = key;
if (isNaN(anyKey)) { //枚举key key = string
const EnumValue = parseInt(clientConfigEnum.PARTYPOSITIONS[key])
let param = {partyPositionsName:{"%like%":EnumValue}, bId};
let dataBaseList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, param, ["partyPositionsName", "name"]);
let nameList = [];
dataBaseList.forEach( info => {
nameList.push(info.name);
});
if(nameList.length <= 0) nameList.push("暂无数据");
partyPositionsMap[anyKey] = {key:anyKey, list:[]}
}
}
partyPositions.push({
key,
list:nameList
let selectAllColumn = [["bId", "partyPositionsName", "name"]];
let allMemberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, param, selectAllColumn);
let partyMemberNum = 0;//本支部人员总数
allMemberList.forEach(item => {
let { partyPositionsName, name} = item;
const ItemBId = item.bId;
if (ItemBId == bId) {
partyMemberNum += 1;
let partyPositionsList = getPartyPositionsList(JSON.parse(partyPositionsName));
partyPositionsList.forEach(positions => {
partyPositionsMap[positions].list.push(name);
});
}
});
let partyPositions = []; //党内职务人员 [{key, list:["", ""]}]
for (let key in partyPositionsMap ) {
let dataItem = partyPositionsMap[key];
if (!dataItem.list.length) dataItem.list.push("暂无数据");
partyPositions.push(dataItem)
}
return { branch, partyMemberNum, massSum, massIndex, partyPositions };
return { branch, partyMemberNum, massSum:massCount, massIndex, partyPositions };
}
/**
* 职务人员数组数据转换
* @param numberList [100,101]
* @returns ["支部书记", "支部副书记" ]
*/
function getPartyPositionsList(numberList) {
let strList = [];
numberList.forEach(enumNum => {
let value = changeEnumValue(clientConfigEnum.PARTYPOSITIONS, enumNum);
if (value) strList.push(value);
});
return strList;
}
/**
* 查询党建资讯列表
* @param bId 支部id
* @returns dataList:[返回字段参考splitResultConfig文件中的partyInformamtionConfig配置]
*/
export async function activitiesData(bId) {
if (bId && bId.length > 0) eccEnumValue("党建资讯列表查询", "支部名称", configEnum.BRANCHNAME, bId);
let param = {bId:{"%like%":bId}};
let partyInformationInfo = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["theme", "dataMonth"]);
if(!partyInformationInfo) throw new BizError(ERRORENUM.未找到数据, `库中不存在支部为${bId}的党建资讯列表`);
export async function activitiesData(bId:number) {
let param = { bId:{"%like%": bId} };
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["theme", "dataMonth"]);
let dataList = [];
partyInformationInfo.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyInformationConfig, info, true);
changeData.dataMonth = moment(info.dataMonth).format("YYYY-MM-DD");
partyInformationList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyInformationConfig, info, "YYYY-MM-DD");
dataList.push(changeData);
})
......
......@@ -14,14 +14,14 @@ import { BizError } from "../util/bizError";
* @param systemTitle 制度主题 可模糊查询
* @returns
*/
export async function branchSystemList(bId, systemTitle) {
let param = {bId:{"%like%":bId}};
export async function branchSystemList(bId:number, systemTitle:string) {
let param = { bId:{"%like%": bId} };
if(systemTitle) param["systemTitle"] = {"%like%": systemTitle};
let branchSystemData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.支部制度表, param, ["bsId", "systemTitle"]);
if(!branchSystemData) throw new BizError(ERRORENUM.未找到数据, `库中不存在支部为${bId}的支部制度列表`);
let branchSystemList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.支部制度表, param, ["bsId", "systemTitle"]);
branchSystemList = branchSystemList || [];
return branchSystemData;
return branchSystemList;
}
......@@ -30,14 +30,13 @@ export async function branchSystemList(bId, systemTitle) {
* @param bsId 支部制度id
* @returns
*/
export async function branchSystemDetsils(bsId) {
let clomun = ["systemTitle", "fileName"];
let branchSystemData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, clomun);
if(!branchSystemData) throw new BizError(ERRORENUM.未找到数据, `库中不存在制度id为${bsId}的支部制度细则`);
branchSystemData["fileName"] = JSON.parse(branchSystemData.fileName);
return branchSystemData;
export async function branchSystemDetsils(bsId:number) {
let clomun = ["bsId", "systemTitle", "fileName"];
let branchSystemInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, clomun);
if(!branchSystemInfo || !branchSystemInfo.bsId) throw new BizError(ERRORENUM.库中不存在对应数据, `制度细则中不存在id=${bsId}的数据`);
branchSystemInfo.fileName = JSON.parse(branchSystemInfo.fileName);
return branchSystemInfo;
}
......
......@@ -7,10 +7,8 @@
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { selectData } from "../middleware/databaseSuccess";
import moment = require("moment");
import * as splitResultConfig from "../config/splitResultConfig";
import * as verificationEnumTools from "../util/verificationEnum";
import * as configEnum from "../config/enum";
import { extractData } from "../util/piecemeal";
/**
......@@ -21,12 +19,15 @@ import { extractData } from "../util/piecemeal";
* @param contentTitle 课程标题
* @returns
*/
export async function memberLearningList(pmId, courseEntryType, courseTypeName, contentTitle) {
let rateLearningData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.学习进度表, {pmId}, ["mlId", "rateOfLearning", "learningCompleted"]);
export async function memberLearningList(pmId:string, courseEntryType:number, courseTypeName:number, contentTitle:string) {
//优化点 功能有bug重写
let column = ["mlId", "rateOfLearning", "learningCompleted"];
let rateLearningList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.学习进度表, {pmId}, column);
let memberLearningList = [];
for (let i = 0; i < rateLearningData.length; i++) {
let rateLearning = rateLearningData[i];
for (let i = 0; i < rateLearningList.length; i++) {
let rateLearning = rateLearningList[i];
let {mlId, rateOfLearning, learningCompleted} = rateLearning;
let param = {
mlId,
......@@ -53,53 +54,46 @@ export async function memberLearningList(pmId, courseEntryType, courseTypeName,
/**
* 本月学习排行
* 该用户支部的排名
* 展示数据最新月份的每日积分总和
* @param bId 支部id
* @returns
*/
export async function branchRanking(bId) {
export async function branchRanking(bId?) {
let orderParam = {"%orderDesc%": "dataTime", "%limit%": 1};
let monthData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.学习强国, orderParam, ["dataTime"]);
if (!monthData || !monthData.dataTime) return [];
let param = {
bId: {"%like%": bId}
}
let stTime = moment(monthData.dataTime).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(monthData.dataTime).endOf('month').format("YYYY-MM-DD HH:mm:ss");
if (monthData.dataTime) param["dataTime"] = {"%between%": [stTime, etTime]} //`DATE_FORMAT(dataMonth, '%Y-%m') = DATE_FORMAT(${dataMonth}, '%Y-%m')`;
let clomun = ["pmId", "partyMemberName", "bId", "dayIntegral", "dataTime"]
let dataTime = monthData.dataTime;
let stTime = moment(dataTime).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(dataTime).endOf('month').format("YYYY-MM-DD HH:mm:ss");
let param = {
dataTime:{"%between%": [stTime, etTime]} //`DATE_FORMAT(dataMonth, '%Y-%m') = DATE_FORMAT(${dataMonth}, '%Y-%m')`;
};
if (bId) param[bId] = {"%like%": bId};
let clomun = ["pmId", "partyMemberName", "bId", "dayIntegral", "dataTime"];
let learningPowerData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.学习强国, param, clomun);
let partyMemberNameData = {};
let partyMemberNameData = {};//{成员名称:{pmId, bId, score, dataTime} }
learningPowerData.forEach( info => {
let {pmId, partyMemberName, bId, dayIntegral, dataTime} = info;
if (!partyMemberNameData[partyMemberName]) partyMemberNameData[partyMemberName] = [];
dataTime = moment(dataTime).format("YYYY-MM")
partyMemberNameData[partyMemberName].push({pmId, bId, dayIntegral, dataTime});
})
let learningPowerList = [];
for (let key in partyMemberNameData) {
let partyMemberDayData = partyMemberNameData[key];
let dayIntegralData = {pmId:"", name: key, bId:0, dayIntegral:0, dataTime:""};
partyMemberDayData.forEach( info => {
let {pmId, bId, dayIntegral, dataTime} = info;
dayIntegralData.pmId = pmId;
dayIntegralData.bId = bId;
dayIntegralData.dayIntegral += dayIntegral;
dayIntegralData.dataTime = dataTime;
})
let changeData:any = extractData(splitResultConfig.learningPowerConfig, dayIntegralData, false);
changeData.bId = verificationEnumTools.changeEnumValue(configEnum.BRANCHNAME, dayIntegralData.bId);
changeData.dataTime = moment(dayIntegralData.dataTime).format("YYYY-MM");
learningPowerList.push(changeData);
}
if (!partyMemberNameData[partyMemberName]) {
partyMemberNameData[partyMemberName] = {
timeStr: moment(dataTime).format("YYYY-MM"),
pmId,
name:partyMemberName,
bId:verificationEnumTools.changeEnumValue(configEnum.BRANCHNAME, bId),
dayIntegral:0
};
}
partyMemberNameData[partyMemberName].dayIntegral += dayIntegral;
});
let learningPowerList = Object.values(partyMemberNameData);
learningPowerList.sort( (a, b) => {
learningPowerList.sort( (a:any, b:any) => {
return b.dayIntegral - a.dayIntegral;
});
......@@ -112,63 +106,6 @@ export async function memberLearningList(pmId, courseEntryType, courseTypeName,
/**
* 本月学习排行
* 展示数据最新月份的每日积分总和
* @param bId 支部id
* @returns
*/
export async function monthRanking() {
let orderParam = {"%orderDesc%": "dataTime", "%limit%": 1};
let monthData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.学习强国, orderParam, ["dataTime"]);
let param = {}
let stTime = moment(monthData.dataTime).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(monthData.dataTime).endOf('month').format("YYYY-MM-DD HH:mm:ss");
if (monthData.dataTime) param["dataTime"] = {"%between%": [stTime, etTime]} //`DATE_FORMAT(dataMonth, '%Y-%m') = DATE_FORMAT(${dataMonth}, '%Y-%m')`;
let clomun = ["pmId", "partyMemberName", "bId", "dayIntegral", "dataTime"]
let learningPowerData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.学习强国, param, clomun);
let partyMemberNameData = {};
learningPowerData.forEach( info => {
let {pmId, partyMemberName, bId, dayIntegral, dataTime} = info;
if (!partyMemberNameData[partyMemberName]) partyMemberNameData[partyMemberName] = [];
dataTime = moment(dataTime).format("YYYY-MM")
partyMemberNameData[partyMemberName].push({pmId, bId, dayIntegral, dataTime});
})
let learningPowerList = [];
for (let key in partyMemberNameData) {
let partyMemberDayData = partyMemberNameData[key];
let dayIntegralData = {pmId:"", name: key, bId:0, dayIntegral:0, dataTime:""};
partyMemberDayData.forEach( info => {
let {pmId, bId, dayIntegral, dataTime} = info;
dayIntegralData.pmId = pmId;
dayIntegralData.bId = bId;
dayIntegralData.dayIntegral += dayIntegral;
dayIntegralData.dataTime = dataTime;
})
let changeData:any = extractData(splitResultConfig.learningPowerConfig, dayIntegralData, false);
changeData.bId = verificationEnumTools.changeEnumValue(configEnum.BRANCHNAME, dayIntegralData.bId);
changeData.dataTime = moment(dayIntegralData.dataTime).format("YYYY-MM");
learningPowerList.push(changeData);
}
learningPowerList.sort( (a, b) => {
return b.dayIntegral - a.dayIntegral;
});
for ( let i = 0; i < learningPowerList.length; i++) {
learningPowerList[i]["ranking"] = i + 1;
}
return learningPowerList;
}
......
......@@ -21,29 +21,27 @@ import * as configEnum from "../config/enum";
* @param dataMonth 活动月份
* @returns
*/
export async function organlzationalLifeList(bId, theme, themeType, dataMonth) {
let param = {
bId: {"%like%": bId}
}
export async function organizationalLifeList(bId:number, theme:string, themeType:number, dataMonth:string) {
let param = { bId: {"%like%": bId} };
if (theme) param["theme"] = {"%like%": theme};
if (themeType) param["themeType"] = themeType;
let stTime = moment(dataMonth).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(dataMonth).endOf('month').format("YYYY-MM-DD HH:mm:ss");
if (dataMonth) param["dataMonth"] = {"%between%": [stTime, etTime]} //`DATE_FORMAT(dataMonth, '%Y-%m') = DATE_FORMAT(${dataMonth}, '%Y-%m')`;
if (dataMonth) {
let stTime = moment(dataMonth).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(dataMonth).endOf('month').format("YYYY-MM-DD HH:mm:ss");
param["dataMonth"] = {"%between%": [stTime, etTime]}; //`DATE_FORMAT(dataMonth, '%Y-%m') = DATE_FORMAT(${dataMonth}, '%Y-%m')`;
}
let clomun = ["oId", "theme", "themeType", "dataMonth"]
let organizationalLifeData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.组织生活表, param, clomun);
let clomun = ["oId", "theme", "themeType", "dataMonth"];
let organizationalLifeDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.组织生活表, param, clomun);
let organlzationalLifeList = [];
organizationalLifeData.forEach( info => {
let changeData:any = extractData(splitResultConfig.organlzationalLifeConfig, info, false);
let organizationalLifeList = [];
organizationalLifeDataList.forEach( info => {
let changeData:any = extractData(splitResultConfig.organlzationalLifeConfig, info, "YYYY-MM-DD");
changeData.themeType = verificationEnumTools.changeEnumValue(configEnum.THEMETYPE, info.themeType);
changeData.dataMonth = moment(info.dataMonth).format("YYYY-MM-DD");
organlzationalLifeList.push(changeData);
organizationalLifeList.push(changeData);
})
return organlzationalLifeList;
return organizationalLifeList;
}
......@@ -52,16 +50,16 @@ export async function organlzationalLifeList(bId, theme, themeType, dataMonth) {
* @param oId 组织生活id
* @returns
*/
export async function organlzationalLifeListDetsils(oId) {
export async function organlzationalLifeListDetsils(oId:number) {
let clomun = ["oId", "theme", "themeType", "dataMonth", "fileName"];
let organizationalLifeData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.组织生活表, {oId}, clomun);
if(!organizationalLifeData) throw new BizError(ERRORENUM.未找到数据, `库中找不到id为${oId}的组织生活详情`);
let orgLifeInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.组织生活表, {oId}, clomun);
if(!orgLifeInfo || !orgLifeInfo.oId) throw new BizError(ERRORENUM.未找到数据, `库中找不到id为${oId}的组织生活详情`);
organizationalLifeData.themeType = verificationEnumTools.changeEnumValue(configEnum.THEMETYPE, organizationalLifeData.themeType);
organizationalLifeData.dataMonth = moment(organizationalLifeData.dataMonth).format("YYYY-MM-DD");
organizationalLifeData.fileName = JSON.parse(organizationalLifeData.fileName);
orgLifeInfo.themeType = verificationEnumTools.changeEnumValue(configEnum.THEMETYPE, orgLifeInfo.themeType);
orgLifeInfo.dataMonth = moment(orgLifeInfo.dataMonth).format("YYYY-MM-DD");
orgLifeInfo.fileName = JSON.parse(orgLifeInfo.fileName);
return organizationalLifeData;
return orgLifeInfo;
}
......
......@@ -6,35 +6,34 @@ import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { selectData } from "../middleware/databaseSuccess";
import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig";
import * as configEnum from "../config/enum";
import * as verificationEnumTools from "../util/verificationEnum";
import moment = require("moment");
/**
* 获取党建动态列表
* @param bId
* @param honorName
* @param theme 主题
* @param activityYear
* @param activityMonth
* @returns
*/
export async function partyBuildingDynamicList(bId, theme, activityYear, activityMonth) {
let month = activityYear + "-" + activityMonth;
let stTime = moment(month).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(month).endOf('month').format("YYYY-MM-DD HH:mm:ss");
export async function partyBuildingDynamicList(bId, theme, activityYear:number, activityMonth:number) {
let timeStr = `${activityYear}-${activityMonth}-1 00:00:01`;
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 = {
bId: {"%like%": bId},
dataMonth: {"%between%": [stTime, etTime]}
}
if(theme) param["theme"] = {"%like%":theme};
let clomun = ["pbId", "theme", "dataMonth"];
let partyBuildingDynamic = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, clomun);
let partyBuildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, clomun);
let partyBuildingDynamicList = [];
partyBuildingDynamic.forEach( async info => {
let changeData:any = extractData(splitResultConfig.partyBuildingDynamicConfig, info, false);
changeData.dataMonth = moment(info.dataMonth).format("YYYY-MM-DD");
partyBuildingDynamicDataList.forEach( async info => {
let changeData:any = extractData(splitResultConfig.partyBuildingDynamicConfig, info, "YYYY-MM-DD");
partyBuildingDynamicList.push(changeData);
});
......@@ -50,13 +49,12 @@ export async function partyBuildingDynamicList(bId, theme, activityYear, activit
export async function partyBuildingDynamicDetsils(pbId) {
let param = {pbId};
let clomun = ["theme", "dataMonth", "fileName"];
let partyBuildingDynamicInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建动态表, param, clomun);
let partyBuildingDynamic = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建动态表, param, clomun);
partyBuildingDynamic.dataMonth = moment(partyBuildingDynamic.dataMonth).format("YYYY-MM-DD");
partyBuildingDynamic.fileName = JSON.parse(partyBuildingDynamic.fileName);
partyBuildingDynamicInfo.dataMonth = moment(partyBuildingDynamicInfo.dataMonth).format("YYYY-MM-DD");
partyBuildingDynamicInfo.fileName = JSON.parse(partyBuildingDynamicInfo.fileName);
return partyBuildingDynamic;
return partyBuildingDynamicInfo;
}
......
......@@ -2,15 +2,12 @@
* 党费管理
*/
import * as verificationEnumTools from "../util/verificationEnum";
import * as configEnum from "../config/enum";
import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig";
import { selectData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import * as clientEnum from "../config/clientEnum";
import moment = require("moment");
moment.suppressDeprecationWarnings = true;
import { changeEnumValue } from "../util/verificationEnum";
import { PARTYPOSITIONSICON } from "../config/clientEnum";
/**
......@@ -23,58 +20,52 @@ moment.suppressDeprecationWarnings = true;
* @returns
*/
export async function partyExpensesData(bId, name, payType, payableYear, payableMonth) {
let month = payableYear + "-" + payableMonth;
let stTime = moment(month).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(month).endOf('month').format("YYYY-MM-DD HH:mm:ss");
let timeStr = `${payableYear}-${payableMonth}-1 00:00:01`;
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 = {
bId: {"%like%": bId},
payableMonth: {"%between%": [stTime, etTime]}
}
if(payType) param["payType"] = payType;
let clomun = ["peId", "pmId", "payType", "payTime"];
let partyExpensesData = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党费管理表, param, clomun);
let baseData = {partyCount:0, paid:0, unpaid:0};
let paid = 0;
let unpaid = 0;
let partyExpensesList = [];
for (let i = 0; i < partyExpensesData.length; i++ ) {
let partyExpensesInfo = partyExpensesData[i];
if (partyExpensesInfo.payType == 1) paid ++;
if (partyExpensesInfo.payType == 2) unpaid ++;
let clomun = ["pmId", "payType", "payTime"];
let partyExpensesDataList = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党费管理表, param, clomun);
let changeData:any = extractData(splitResultConfig.partyExpensesConfig, partyExpensesInfo, false);
let expMap = {};//党费缴纳记录
partyExpensesDataList.forEach(info => {
let {pmId, payType, payTime} = info;
expMap[pmId] = {payType, payTime};
});
let memberParam = {
// etId: 1, //正式党员才需要缴纳党费
pmId: partyExpensesInfo.pmId,
bId: {"%like%": bId},
}
if(name) memberParam["name"] = {"%like%": name};
let partyMenberData = await selectData(OPERATIONALDATATYPE.查询单个 , TABLENAME.党员基础信息表, memberParam, ["name", "partyPositionsName", "departmentName", "partyJoiningTime"]);
if (!partyMenberData) continue;
let menberChange:any = extractData(splitResultConfig.expensesMenberConfig, partyMenberData, false);
let memberParam = { etId: 1, bId: {"%like%": bId} };
let memberClomun = ["pmId", "name", "partyPositionsName", "departmentName", "partyJoiningTime"];
let partyMenberDataList = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党员基础信息表, memberParam, memberClomun);
changeData.payType = verificationEnumTools.changeEnumValue(configEnum.PAYTYPE, partyExpensesInfo.payType); //缴纳状态
if(partyExpensesInfo.payTime) changeData.payTime = moment(partyExpensesInfo.payTime).format("YYYY-MM-DD");
let baseData = { //基础数据
partyCount:partyMenberDataList.length,//党员总数,
paid:0, // 已缴纳
unpaid:0 // 未缴纳
};
changeData.name = menberChange.name;
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(clientEnum.PARTYPOSITIONSICON, JSON.parse(menberChange.partyPositionsName)); //党内职务
changeData.departmentName = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(menberChange.departmentName)); //所属科室
let time = moment(new Date()).format("YYYY");
let partyJoiningTime = moment(menberChange.partyJoiningTime).format("YYYY");
changeData.partyJoiningTime = parseInt(time) - parseInt(partyJoiningTime) + "年"; //党龄
partyExpensesList.push(changeData);
}
baseData["partyCount"] = partyExpensesData.length; //党员总数
baseData["paid"] = paid; //已缴纳
baseData["unpaid"] = unpaid; //未缴纳
let partyExpensesList = [];
partyMenberDataList.forEach(info => {
let {name, pmId, partyPositionsName, departmentName, partyJoiningTime} = info;
let expInfo = expMap[pmId];
if (!expInfo) expInfo = {payType:configEnum.PAYTYPE.未缴纳, payTime:timeStr};
if (expInfo.payType == configEnum.PAYTYPE.已缴纳) baseData.paid += 1;
else baseData.unpaid += 1;
partyExpensesList.push({
name,
payType:changeEnumValue(configEnum.PAYTYPE, expInfo.payType),
pmId,
payTime:moment(expInfo.payTime).format("YYYY-MM-DD"),
partyPositionsName:changeEnumValue(PARTYPOSITIONSICON, JSON.parse(partyPositionsName)), //党内职务
departmentName:changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(departmentName)), //所属科室
partyJoiningTime:`${new Date().getFullYear() - parseInt(partyJoiningTime)}年` //党龄
});
});
return {baseData, partyExpensesList};
}
......
......@@ -32,7 +32,7 @@ export async function partyMemberNameList(bId, name) {
let nameList = [];
/**截取返回字段 */
partyMemberList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info, false);
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info);
switch (changeData.etId) {
case configEnum.ENTRYTYPE.正式党员:
changeData.color = "#C62A23";
......@@ -78,17 +78,17 @@ export async function partyMemberNameList(bId, name) {
/**截取返回字段 */
switch (partyMemberList.etId) {
case configEnum.ENTRYTYPE.正式党员:
changeData = extractData(splitResultConfig.partyMemberDetailsConfig, partyMemberList, true);
changeData = extractData(splitResultConfig.partyMemberDetailsConfig, partyMemberList, "YYYY-MM-DD");
changeData.color = "#C62A23";
if(partyMemberList.partyPositionsName) changeData.partyPositionsName = verificationEnumTools.changeEnumValue(clientEnum.PARTYPOSITIONSICON, JSON.parse(partyMemberList.partyPositionsName));
break;
case configEnum.ENTRYTYPE.入党积极分子:
changeData = extractData(splitResultConfig.activistDetailsConfig, partyMemberList, true);
changeData = extractData(splitResultConfig.activistDetailsConfig, partyMemberList, "YYYY-MM-DD");
changeData.color = "#3549B0";
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, partyMemberList.etId);
break;
case configEnum.ENTRYTYPE.预备党员:
changeData = extractData(splitResultConfig.prepareDetailsConfig, partyMemberList, true);
changeData = extractData(splitResultConfig.prepareDetailsConfig, partyMemberList, "YYYY-MM-DD");
changeData.color = "#E4B386";
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, partyMemberList.etId);
changeData.branchName = verificationEnumTools.changeEnumValue(configEnum.BRANCHNAME, partyMemberList.bId);
......@@ -153,7 +153,7 @@ export async function getStudent(bId, pmId) {
dayIntegralData.dataTime = dataTime;
})
let changeData:any = extractData(splitResultConfig.learningPowerConfig, dayIntegralData, false);
let changeData:any = extractData(splitResultConfig.learningPowerConfig, dayIntegralData);
changeData.bId = verificationEnumTools.changeEnumValue(configEnum.BRANCHNAME, dayIntegralData.bId);
changeData.dataTime = moment(dayIntegralData.dataTime).format("YYYY-MM");
learningPowerList.push(changeData);
......
......@@ -28,7 +28,7 @@ export async function partyVanguardList(bId, honorName) {
let partyVanguardList = [];
partyVanguardData.forEach( async info => {
let changeData:any = extractData(splitResultConfig.partyVanguardConfig, info, false);
let changeData:any = extractData(splitResultConfig.partyVanguardConfig, info);
changeData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, info.honorType);
changeData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, info.grantingRange);
changeData.grantTime = moment(info.grantTime).format("YYYY-MM-DD");
......
......@@ -10,14 +10,10 @@ import { OPERATIONALDATATYPE, TABLENAME } from '../config/dbEnum';
const moment = require("moment");
export async function login(loginId:string, pwd:string) {
// let loginInfo:any = await partyMemberData.getPartyMemberByLoginId(loginId, ["pmId", "loginId", "pwd", "token", "bId"]);
let clomun = ["pmId", "loginId", "pwd", "token", "bId"];
let loginInfo:any = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId}, clomun);
if (!loginInfo) throw new BizError(ERRORENUM.账号不存在, `${loginId}账号非党员账号`);
// let checkPwd = sysTools.md5PwdStr(pwd);
// if (loginInfo.pwd != checkPwd) throw new BizError(ERRORENUM.密码错误);
if (loginInfo.pwd != pwd) throw new BizError(ERRORENUM.密码错误);
const Token = sysTools.getToken(loginId);
......@@ -29,13 +25,11 @@ export async function login(loginId:string, pwd:string) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, updateLogin, {loginId});
let loginUserInfo = {
return {
userid: loginInfo.pmId,
token: Token,
bId: loginInfo.bId,
};
return loginUserInfo;
}
......
......@@ -13,7 +13,7 @@ export const partyInformationConfig = {
pId:{key:"pId"},
theme:{key:"资讯标题"},
branchName:{key:"支部名称"},
dataMonth:{key:"资讯时间"}
dataMonth:{key:"资讯时间", changeDate:true}
};
......@@ -148,7 +148,7 @@ export const organlzationalLifeConfig = {
oId:{key:"oId"},
theme:{key:"活动标题"},
themeType:{key:"活动类型"},
dataMonth:{key:"活动月份"}
dataMonth:{key:"活动月份", changeDate:true }
}
......@@ -159,7 +159,7 @@ export const organlzationalLifeConfig = {
export const partyBuildingDynamicConfig = {
pbId:{key:"pbId"},
theme:{key:"活动名称"},
dataMonth:{key:"数据月份"}
dataMonth:{key:"数据月份", changeDate:true}
}
......
......@@ -9,8 +9,6 @@ import { OPERATIONALDATATYPE, TABLENAME } from "./config/dbEnum";
async function lanuch() {
/**初始化配置解析 */
await initConfig();
/**初始化数据库 */
// await initDB();
/**初始化底表数据 */
await initBasicData();
/**创建http服务 */
......@@ -19,68 +17,4 @@ async function lanuch() {
// await test();
}
const fs = require("fs");
// const url = path.join(__dirname.substring(0,__dirname.indexOf("out")), "files/docx/党建资讯");
async function test() {
let addList = [{
pmId: "15175689523",
etId: 1,
name: "test",
sex: 1,
birthDate: "2017-01-01",
phone: "15175689523",
levelOfEducation: 4,
bId: 1,
partyJoiningTime: "2020-03-18",
administrativePositionName: 1,
partyPositionsName: "[]",
departmentName: "[]",
askForTime: null,
listedAsActivistsTime: null,
liaison: null,
talkTime: null,
partyState: 1,
isAdmin: false,
loginId: "15175689523",
pwd: "689523",
}]
let rows = await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员基础信息表, addList, {}); //党员总数
console.log(rows);
// let time = moment(560016000000).format("YYYY-MM-DD");
// let p = md5PwdStr("946885");
// let pwd = getPwdMd5("15821946885", "bdcb05781f14e7bf275a7b51d554f045");
// let token = getToken("946885");
fs.readdir('./files/docx/党建资讯',(err,files)=>{
if (err) {
console.log(err);
} else{
// console.log(files); //返回的文件是个数组,可以用forEach循环输出文件名
files.forEach((file)=>{
console.log('http://123.207.147.179:7079/docx/党建资讯/'+ file);
})
}
})
console.log();
}
lanuch();
let a = [
// "36dea1f3c44ab89798d3b3f7fb14667d",
// "f7be11973c1671079e702ae0adb661f1",
// "68ab8ceeed13831c7f8c09e24cce4f55",
// "f18a042255cfab614fad98bd45ab35b3",
// "952b91f0ce058bb282320bfac470adbf",
// "c1addb426c051200a141132c8344288e",
// "42fb19781c7c4b49cc1b688ba6c44502",
// "8841d2865336f378e07c7c7e292ab66c",
// "c0b6b38cdfacae5e511b4efababe7a0b",
// "c35caf37f74eb90ed8c79cb87be4d57b",
// "5a7f12ce6a584d35cac5b76c8b4fbd5a",
// "ee160a40b5f85883a5c89e6cc469108f"
]
\ No newline at end of file
lanuch();
\ No newline at end of file
......@@ -14,13 +14,13 @@ import { selectData } from "./databaseSuccess";
export async function checkAppletToken(req, res, next) {
if (!req.headers) req.headers = {};
const reqToken = req.headers.token;
const userId = req.headers.userid || "";
const ReqToken = req.headers.token;
const UserId = req.headers.userid || "";
if(!userId) return next(new BizError(ERRORCODEENUM.身份验证失败, `loginId:${userId} token:${reqToken}`));
if(!UserId) return next(new BizError(ERRORCODEENUM.身份验证失败, `loginId:${UserId} token:${ReqToken}`));
let partyMemberInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId: userId}, ["pmId", "bId", "loginId", "token"]);
if (!partyMemberInfo) return next(new BizError(ERRORCODEENUM.非法登录, `loginId:${userId} token:${reqToken}`));
let partyMemberInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId: UserId}, ["pmId", "bId", "loginId", "token"]);
if (!partyMemberInfo) return next(new BizError(ERRORCODEENUM.非法登录, `loginId:${UserId} token:${ReqToken}`));
req.headers.userid = partyMemberInfo.pmId;
......
/**
* 公共资源路由
* abi用接口
*/
import * as organizationalLifeBiz from '../../biz/abi/organizationalLife';
......
......@@ -5,7 +5,6 @@
import * as baseBiz from '../../biz/base';
import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partymember/home', asyncHandler(homeBase));
......@@ -19,11 +18,7 @@ export function setRouter(httpServer) {
* @param res
*/
async function homeBase(req, res) {
// let branchidData = req.headers.branchid;
// let branchName = [];
// branchidData = branchidData.slice(1, branchidData.length-1);
// branchName = branchidData.split(',');
//优化点 bId可以根据中间件验证token时获取,无需前端传递bId参数 其他接口也一样
let reqConf = {bId:'Number'};
let {bId} = eccReqParamater(reqConf, req.body);
......
......@@ -48,7 +48,7 @@ async function getBranchRanking(req, res) {
* @param res
*/
async function getMonthRanking(req, res) {
let result = await memberLearningBiz.monthRanking();
let result = await memberLearningBiz.branchRanking();
res.success(result);
}
......
......@@ -22,7 +22,7 @@ async function organizationalLifeList(req, res) {
let reqConf = {bId:'Number', theme:'String', themeType:'Number', dataMonth:'String'};
let {bId, theme, themeType, dataMonth} = eccReqParamater(reqConf, req.body, ["theme","themeType","dataMonth"]);
let result = await organizationalLifeBiz.organlzationalLifeList(bId, theme, themeType, dataMonth);
let result = await organizationalLifeBiz.organizationalLifeList(bId, theme, themeType, dataMonth);
res.success(result);
}
......
......@@ -27,12 +27,12 @@ export function checkChange(newObj, oldObj) {
* @param isAdmin 是否是管理后台
* @returns
*/
export function extractData(conf, data, isAdmin) {
export function extractData(conf, data, timeFormat?) {
let result = {};
for (let key in conf) {
let confInfo = conf[key];
if (confInfo.changeDate) {
if (isAdmin) result[key] = data[key] ? moment(data[key]).format("YYYY年MM月DD日") : '-';
if (timeFormat) result[key] = data[key] ? moment(data[key]).format(timeFormat) : '-';
else result[key] = data[key] || 0;
}else {
result[key] = data[key];
......
......@@ -37,37 +37,12 @@ export function changeEnumValue(enumConf, value:any) {
if (!value) return '';
if ( typeof value == 'number' || typeof value == 'string' ) {
let str = enumConf[value];
/** 特化处理 中文引号在枚举中不适用*/
if (str == "_投资__孵化_类型") {
str = str.replace("__","+");
str = str.replace("_","“");
str = str.replace("_","”");
}
if (str == "经营成本过高_场地成本或人员成本_" || str == "办公空间拓展_无合适办公空间_") {
str = str.replace("_","(");
str = str.replace("_",")");
}
if (str == "迁出孵化器_仍在张江" || str == "迁出张江_仍在浦东" || str == "迁出浦东_仍在上海") {
str = str.replace("_",",");
}
return str
}
let str = "";
value.forEach((item, index) => {
let subStr = enumConf[item];
/** 特化处理 中文引号在枚举中不适用*/
if (subStr == "_投资__孵化_类型") {
subStr = subStr.replace("__","+");
subStr = subStr.replace("_","“");
subStr = subStr.replace("_","”");
}
if (str == "经营成本过高_场地成本或人员成本_" || str == "办公空间拓展_无合适办公空间_") {
str = str.replace("_","(");
str = str.replace("_",")");
}
if (str == "迁出孵化器_仍在张江" || str == "迁出张江_仍在浦东" || str == "迁出浦东_仍在上海") {
str = str.replace("_",",");
}
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