Commit a1e5d4ab by chenjinjing

no message

parent 01d1bdf4
......@@ -4,7 +4,7 @@
*/
import moment = require("moment");
import { CHANGEAPPLYTYPE, CLIENTMSGLABLE, DOCUMENTTYPE, INDIVIDUALMEMBERTYPE, MEMBERLEVEL, MEMBERLEVELCHANGE, MEMBERSTATE, MEMBERTYPE, NATION, PAYMENTSTATUS, PROFCATEGORY, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum";
import { CHANGEAPPLYTYPE, CLIENTMSGLABLE, CODPARTICIPANT, DOCUMENTTYPE, INDIVIDUALMEMBERTYPE, MEMBERLEVEL, MEMBERLEVELCHANGE, MEMBERSTATE, MEMBERTYPE, NATION, PAYMENTSTATUS, PROFCATEGORY, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum";
import { addManyData, addOneData } from "../../data/add";
import { deleteManyData } from "../../data/delete";
......@@ -14,7 +14,7 @@ import { updateOneData } from "../../data/update";
import { generateSystemId, getEdition, successErrorResult, successResult } from "../../tools/system";
import { BizError } from "../../util/bizError";
import { extractData } from "../../util/piecemeal";
import { eccEnumValue } from "../../util/verificationEnum";
import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
import { eccFormParam } from "../../util/verificationParam";
import { getCityNameByCode } from "../../config/cityConfig";
......@@ -315,6 +315,56 @@ export async function getSheng ({userId}) {
/**
* 理事、常务理事证明函下载
* @param param0
* @returns
*/
export async function getCertificateType({userId}) {
const Files = ["userId", "memberLevel", "changeApplyType", "applyApplicationTime", "unitName", "name", "beforeChange", "memberType"];
let userInfo = await findOnce(TABLEENUM.用户表, {userId}, Files);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let certificate = false;//是否可以下载
let cefaInfo:any = {};
let msg = '会员理事审核未通过,无法下载证明函';
//判断是否审批通过
if (userInfo.beforeChange) {
if (userInfo.changeApplyType == CHANGEAPPLYTYPE.通过) {
if(userInfo.memberLevel == MEMBERLEVEL.理事会员 || userInfo.certificateType == MEMBERLEVEL.常务理事会员) certificate = true
if (certificate) {
cefaInfo = {
memberLevel:changeEnumValue(MEMBERLEVEL, userInfo.memberLevel),
name:userInfo.name,
unitName:userInfo.unitName,
applyApplicationTime:moment(userInfo.applyApplicationTime).format("YYYY年MM月DD日")
}
msg = ``;
}
} else if (userInfo.changeApplyType == CHANGEAPPLYTYPE.注册信息待补充) {
msg = `会员注册信息待补充,无法下载证明函`;
} else if (userInfo.changeApplyType == CHANGEAPPLYTYPE.待审批) {
msg = `会员理事审核中,无法下载证明函`;
}
} else {
if(userInfo.memberLevel == MEMBERLEVEL.理事会员 || userInfo.certificateType == MEMBERLEVEL.常务理事会员) certificate = true
if (certificate) {
let name = "";
if (userInfo.memberType == MEMBERTYPE.个人会员) name = userInfo.name;
else name = userInfo.unitName;
cefaInfo = {
memberLevel:changeEnumValue(MEMBERLEVEL, userInfo.memberLevel),
name,
applyApplicationTime:moment(userInfo.applyApplicationTime).format("YYYY年MM月DD日")
}
msg = ``;
}
}
return {certificate, cefaInfo, msg};
}
/**
* 能否申请变更理事
* @param userId 登录的userid
* @returns
......
......@@ -81,7 +81,7 @@ export async function outPutDataForExcel({type, exportColumns}) {
let subList = [];
let orderItemList = [];
if (isSelectOrder) {
orderItemList = await find(TABLEENUM.订单表, {userId:info.userId}, ["orderCycleStart", "money"]);
orderItemList = await find(TABLEENUM.订单表, {userId:info.userId}, ["orderCycleStart", "money", "state"]);
}
valueKeyList.forEach(key => {
let item;
......@@ -89,16 +89,45 @@ export async function outPutDataForExcel({type, exportColumns}) {
item = info.name || info.unitName;
} else if (key == "Money") {
let itemCount = 0;
// 已缴费和缴费期不累计金额
if (type == 2 && type == 3) {
orderItemList.forEach(orderItem => {
itemCount = orderItem.money;
});
} else {
orderItemList.forEach(orderItem => {
itemCount += orderItem.money;
});
}
item = itemCount;
} else if (key == "paymentYear") {
let 缴费Year = 0;
// 已缴费和缴费期显示缴费年限
if (type == 2 && type == 3) {
orderItemList.forEach(orderItem => {
if (orderItem.state == ORDERSTATE.已支付) {
缴费Year += 1;
}
});
item = 缴费Year;
}
} else if (key == "duration") {
let itemCount = '';
orderItemList.forEach(orderItem => {
itemCount += ` ${new Date(orderItem.orderCycleStart).getFullYear()}`;
});
item = itemCount;
} else if (key == "durationYear") {
let 欠费Year = 0;
// 已缴费和缴费期显示欠费年限
if (type == 2 && type == 3) {
orderItemList.forEach(orderItem => {
if (orderItem.state == ORDERSTATE.未支付) {
欠费Year += 1;
}
});
item = 欠费Year;
}
} else if (key == "code") {
item = info.documentId || info.uscc;
}else {
......@@ -114,7 +143,6 @@ export async function outPutDataForExcel({type, exportColumns}) {
dataList.push(subList);
}
return {dataList};
}
......@@ -184,15 +212,14 @@ export async function getPaid({name, memberType, documentId, phone, mail, joinSt
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
item.memberLevel = changeEnumValue(MEMBERLEVEL, memberLevel);
if(item.individualMemberType) {
if(info.individualMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
}
if(item.unitMemberType) {
if(info.unitMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
}
let orderDbList = await find(TABLEENUM.订单表, {userId:info.userId}, ["money"])
// state 缴费状态
orderDbList.forEach(orderItem => {
item.money = orderItem.money;
});
......@@ -277,32 +304,43 @@ export async function unpaidList({name, memberType, documentId, phone, mail, joi
}
}
const SelectFiles = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType", "lifespanStartTime", "lifespanEndTime", "individualMemberType",
"unitMemberType"];
// const SelectFiles = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType", "lifespanStartTime", "lifespanEndTime", "individualMemberType",
// "unitMemberType"];
// let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber, 10);
const SelectFiles = ["userId", "memberState", "individualMemberType", "unitMemberType", "unitName", "name", "memberLevel", "joinTime", "lifespanStartTime", "lifespanEndTime"];
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {joinTime:-1}, pageNumber);
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
const itemFiles = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "individualMemberType", "unitMemberType"];
dbList.forEach(info => {
// const itemFiles = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "individualMemberType", "unitMemberType"];
const itemFiles = ["userId", "memberState", "unitName", "name", "joinTime", "memberType", "memberLevel", "lifespanTime", "nextPayment", "money", "nextLifespanTime"];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let item:any = extractData(info, itemFiles);
item.lifespanTime = `${moment(info.lifespanStartTime).format("YYYY-MM-DD")}${moment(info.lifespanEndTime).format("YYYY-MM-DD")}`;
item.joinTime = `${moment(info.joinTime).format("YYYY-MM-DD")}`;
item.lifespanTime = `${moment(info.lifespanStartTime).format("YYYY-MM-DD")}${moment(info.lifespanEndTime).format("YYYY-MM-DD")}`; //会员有效期
item.nextPayment = moment(info.lifespanEndTime).format("YYYY-MM-DD"); //下次缴费时间
item.nextLifespanTime = "不足90天";
if (info.lifespanEndTime < ( NowMs + (30 * 24 * 3600 * 1000) ) ) item.nextLifespanTime = "不足30天";
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
if(item.individualMemberType) {
item.memberLevel = changeEnumValue(MEMBERLEVEL, memberLevel);
if(info.individualMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
}
if(item.unitMemberType) {
if(info.unitMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
}
// item.memberType = changeEnumValue(MEMBERTYPE, item.memberType);
dataList.push(item);
let orderDbList = await find(TABLEENUM.订单表, {userId:info.userId}, ["money"])
// state 缴费状态
orderDbList.forEach(orderItem => {
item.money = orderItem.money;
});
dataList.push(item);
};
return {dataList, dataCount};
}
......@@ -374,7 +412,7 @@ export async function getRenewalPeriod({name, memberType, documentId, phone, mai
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
const itemFiles = ["userId", "memberState", "individualMemberType", "unitMemberType", "unitName", "name", "memberLevel", "joinTime", "orderCycleStart", "money"];
const itemFiles = ["userId", "memberState", "memberType", "unitName", "name", "memberLevel", "joinTime", "orderCycleStart", "money", "durationYear"];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let item:any = extractData(info, itemFiles);
......@@ -387,19 +425,24 @@ export async function getRenewalPeriod({name, memberType, documentId, phone, mai
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
if(item.individualMemberType) {
if(info.individualMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
}
if(item.unitMemberType) {
if(info.unitMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
}
let orderDbList = await find(TABLEENUM.订单表, {userId:info.userId}, ["orderCycleStart", "money"])
let orderDbList = await find(TABLEENUM.订单表, {userId:info.userId}, ["orderCycleStart", "money", "state"]);
if (!item.money) item.money = 0;
if (!item.durationYear) item.durationYear = 0;
orderDbList.forEach(orderItem => {
item.money += orderItem.money;
if (!item.orderCycleStart) item.orderCycleStart = new Date(orderItem.orderCycleStart).getFullYear();
else item.orderCycleStart += ` ${new Date(orderItem.orderCycleStart).getFullYear()}`;
if (orderItem.state == ORDERSTATE.未支付) {
item.durationYear += 1; //欠费年限
}
});
dataList.push(item);
......@@ -533,35 +576,41 @@ export async function getGracePeriod({name, memberType, documentId, phone, mail,
if (mail) selectParam.mail = mail;
if (memberLevel.length) selectParam.memberLevel = {"$in":memberLevel};
const SelectFiles = [ "userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType", "joinTime", "lifespanEndTime", "individualMemberType", "unitMemberType"];
// const SelectFiles = [ "userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType", "joinTime", "lifespanEndTime", "individualMemberType", "unitMemberType"];
const SelectFiles = ["userId", "memberState", "individualMemberType", "unitMemberType", "unitName", "name", "memberLevel", "joinTime",
"lifespanEndTime", "lifespanEndTime"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber, 10);
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
// const itemFiles = ["userId", "memberState", "loginId", "phone", "joinTime", "memberType", "unitName"];
dbList.forEach(info => {
let dataInfo:any = {
userId:info.userId,
memberState:changeEnumValue(MEMBERSTATE, info.memberState),
loginId:info.loginId,
phone:info.phone,
unitName:info.unitName,
joinTime:`${moment(info.joinTime).format("YYYY-MM-DD")}`,
lifespanTime:`${moment(info.lifespanEndTime).format("YYYY-MM-DD")}`,
nextLifespanTime:"宽限期中",
// memberType:changeEnumValue(MEMBERTYPE, info.memberType)
};
const itemFiles = ["userId", "memberState", "memberType", "unitName", "name", "memberLevel", "joinTime", "money", "lifespanTime",
"nextPayment", "nextLifespanTime"];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let item:any = extractData(info, itemFiles);
item.lifespanTime = `${moment(info.lifespanStartTime).format("YYYY-MM-DD")}${moment(info.lifespanEndTime).format("YYYY-MM-DD")}`; //会员有效期
item.nextPayment = moment(info.lifespanEndTime).format("YYYY-MM-DD"); //下次缴费时间
item.nextLifespanTime = "宽限期中";
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
item.memberLevel = changeEnumValue(MEMBERLEVEL, memberLevel);
if(info.individualMemberType) {
dataInfo.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
}
if(info.unitMemberType) {
dataInfo.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
}
dataList.push(dataInfo);
let orderDbList = await find(TABLEENUM.订单表, {userId:info.userId}, ["money"])
// state 缴费状态
orderDbList.forEach(orderItem => {
item.money = orderItem.money;
});
dataList.push(item);
}
return {dataList, dataCount};
}
......
......@@ -149,7 +149,7 @@ export enum REFUNDCOLUMNS {
}
//会费管理
//会费管理-未缴费
export enum MEMBERFEESDCOLUMNS {
状态 = "memberState",
会员类别 = "memberType",
......@@ -159,9 +159,24 @@ export enum MEMBERFEESDCOLUMNS {
会员职务 = "memberLevel",
入会时间 = "joinTime",
缴费金额 = "Money",
"欠费年限/份" = "duration"
"欠费具体年份" = "duration"
}
//会费管理-已缴费、缴费期
export enum MEMBERPAYMENTCOLUMNS {
状态 = "memberState",
会员类别 = "memberType",
注册手机号 ="phone",
"单位代码/身份证"="code",
"单位/个人名称" = "name" ,
会员职务 = "memberLevel",
入会时间 = "joinTime",
缴费金额 = "Money",
缴费年限 = "paymentYear",
欠费具体年份 = "duration",
欠费年限 = "durationYear"
}
......@@ -991,6 +991,13 @@ export const Config = {
bindBiz:homePageBiz.getCertificate
},
{
apiName:"获取可下载理事、常务理事证明函",
subUrl:'/homepage/getcertificatetype',
param:[
],
bindBiz:homePageBiz.getCertificateType
},
{
apiName:"变更职位",
subUrl:'/homepage/getapply',
param:[
......
......@@ -350,6 +350,13 @@ export const Config = {
param:[],
defaultParam:outPutConfig.MEMBERFEESDCOLUMNS,
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"会费管理-列表导出",
subUrl:'/memberpaymentcolumns',
param:[],
defaultParam:outPutConfig.MEMBERPAYMENTCOLUMNS,
bindBiz:publicBiz.setEnumInterface
}
],
......
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