Commit 5e1bae8d by chenjinjing

no message

parent 72646b39
import moment from "moment";
import { TABLENAME } from "../config/dbEnum";
import { selectDataCountByParam, selectDataListByParam, selectDataListToPageByParam, selectOneDataByParam } from "../data/findData";
import { CHAPTER, HLDTYPE, QUESTION, TESTTYPE } from "../config/enum";
import { CHAPTER, HLDTYPE, HUOLANDE, QUESTION, TESTTYPE } from "../config/enum";
import { changeEnumValue } from "../tools/eccEnum";
import { BizError } from "../util/bizError";
import { ERRORENUM } from "../config/errorEnum";
......@@ -40,24 +40,27 @@ export async function login(username, password) {
* @param current
* @returns
*/
export async function getUserList(card, createStartTime, createEndTime, area, current) {
let selectParam = {"name":{"%ne%":"362527199309194932"}, "phone":{"%ne%":"17255558888"}};
if (card) selectParam["card"] = card;
if (createStartTime && createEndTime) selectParam["create_time"] = {"%between%":[createStartTime, createEndTime]};
if (area) selectParam["area"] = area;
let findData = await selectDataListToPageByParam(TABLENAME.测试信息表, selectParam, ["infoid", "name", "card", "phone", "email", "area", "create_time", "test_type"], current, 10);
export async function getUserList(phone, createStartTime, createEndTime, current) {
let selectParam = {"name":{"%ne%":"测试"}, "phone":{"%ne%":"17255558888"}};
if (phone) selectParam["phone"] = phone;
if (createStartTime && createEndTime) selectParam["test_date"] = {"%between%":[createStartTime, createEndTime]};
let findData = await selectDataListToPageByParam(TABLENAME.测试信息表, selectParam, ["infoid", "name", "card", "phone", "email", "area", "create_time", "test_date", "test_type", "last_update_time"], current, 10);
let dataCount = await selectDataCountByParam(TABLENAME.测试信息表, selectParam);
let dataList = [];
findData.data.forEach( info => {
let {infoid, name, card, phone, email, area, create_time, test_type} = info;
for (let i = 0; i < findData.data.length; i++) {
let info = findData.data[i];
let {infoid, name, card, phone, email, area, create_time, test_type, last_update_time, test_date} = info;
dataList.push({
infoid, name, card, phone, email, area,
createTime: moment(create_time).format("YYYY-MM-DD"),
testType: test_type
})
})
let inforecordData = await selectDataListByParam(TABLENAME.测试信息记录表, {infoid, test_type}, []);
if (inforecordData.data.length) {
dataList.push({
infoid, name, card, phone, email, area,
createTime: moment(test_date).format("YYYY-MM-DD HH:mm:ss"),
testType: test_type
})
}
}
return {dataList, dataCount:dataCount.data};
}
......@@ -88,8 +91,8 @@ export async function getUserInfoById(infoid, test_type) {
* @returns
*/
async function getChuangYe(infoid) {
let findUserData = await selectOneDataByParam(TABLENAME.测试信息表, {infoid}, []);
let findData = await selectDataListByParam(TABLENAME.测试信息记录表, {infoid}, []);
let findUserData = await selectOneDataByParam(TABLENAME.测试信息表, {infoid, test_type:2}, []);
let findData = await selectDataListByParam(TABLENAME.测试信息记录表, {infoid, test_type:2}, []);
let optionsInfo = [];
let score = 0;
......@@ -115,7 +118,7 @@ async function getChuangYe(infoid) {
card:findUserData.data.card,
phone:findUserData.data.phone,
score,
time: moment(new Date()).format("YYYY年MM月DD日HH时mm分"),
time: moment(findUserData.data.test_date).format("YYYY年MM月DD日HH时mm分"),
report:optionsInfo,
};
......@@ -129,8 +132,8 @@ async function getChuangYe(infoid) {
* @returns
*/
async function getHuoLanDe(infoid) {
let findUserData = await selectOneDataByParam(TABLENAME.测试信息表, {infoid}, []);
let findData = await selectDataListByParam(TABLENAME.测试信息记录表, {infoid}, []);
let findUserData = await selectOneDataByParam(TABLENAME.测试信息表, {infoid, test_type:1}, []);
let findData = await selectDataListByParam(TABLENAME.测试信息记录表, {infoid, test_type:1}, []);
let optionsInfo = {};
for (let data = 0; data < findData.data.length; data++) {
......@@ -182,17 +185,34 @@ async function getHuoLanDe(infoid) {
let topThreeKeys = sortedEntries.slice(0, 3).map(entry => entry[0]);
let topThreeStr = topThreeKeys.join("");
let findCareer = await selectOneDataByParam(TABLENAME.职业对照表, {statistics:topThreeStr}, []);
// let findCareer = await selectOneDataByParam(TABLENAME.职业对照表, {statistics:topThreeStr}, []);
let selectParam = {"%literal%":``};
topThreeKeys.forEach( info => {
if (!selectParam["%literal%"]) selectParam["%literal%"] = `statistics REGEXP '[${info}]' `;
selectParam["%literal%"] += `and statistics REGEXP '[${info}]' `;
})
let findCareer = await selectDataListByParam(TABLENAME.职业对照表, selectParam, []);
let testReport = {
name:findUserData.data.name,
card:findUserData.data.card,
phone:findUserData.data.phone,
time: moment(new Date()).format("YYYY年MM月DD日HH时mm分"),
time: moment(findUserData.data.test_date).format("YYYY年MM月DD日HH时mm分"),
report1:optionData,
report2:countData,
statistics:topThreeStr,
recommend:findCareer.data.recommend
recommend:""
}
findCareer.data.forEach( info => {
testReport.recommend += info.recommend;
})
if (!testReport.recommend) {
for (let i = 0; i < topThreeStr.length; i++) {
testReport.recommend += HUOLANDE[topThreeStr[i]];
}
}
return testReport;
......@@ -212,15 +232,15 @@ export async function outPutData(card, createStartTime, createEndTime, area) {
let selectParam = {"name":{"%ne%":"362527199309194932"}, "phone":{"%ne%":"17255558888"}};
// let selectParam = {};
if (card) selectParam["card"] = card;
if (createStartTime && createEndTime) selectParam["create_time"] = {"%between%":[createStartTime, createEndTime]};
if (createStartTime && createEndTime) selectParam["test_date"] = {"%between%":[createStartTime, createEndTime]};
if (area) selectParam["area"] = area;
let findData = await selectDataListByParam(TABLENAME.测试信息表, selectParam, ["infoid", "name", "card", "phone", "email", "area", "create_time", "test_type"]);
let findData = await selectDataListByParam(TABLENAME.测试信息表, selectParam, ["infoid", "name", "card", "phone", "email", "area", "create_time", "test_type", "last_update_time", "test_date"]);
let dataTitle = ["姓名", "身份证号", "联系方式", "电子邮箱", "所属区域", "测试日期", "测评类型"];
let dataList = [dataTitle];
findData.data.forEach( info => {
let {name, card, phone, email, area, create_time, test_type} = info;
let createTime = moment(create_time).format("YYYY-MM-DD");
let {name, card, phone, email, area, create_time, test_type, last_update_time, test_date} = info;
let createTime = moment(test_date).format("YYYY-MM-DD HH:mm:ss");
let testType = changeEnumValue(TESTTYPE, test_type);
let subList = [
name || "",
......
......@@ -92,11 +92,6 @@ export enum QUESTIONTITLE {
/**
* 题型简称
*/
......@@ -122,3 +117,18 @@ export enum HLDTYPE {
"C型常规型" = 6,
}
export enum HUOLANDE {
R = "木匠、农民、操作X光的技师、工程师、飞机机械师、鱼类和野生动物专家、自动化技师、机械工(车工、钳工等)、电工、无线电报务员、火车司机、长途公共汽车司机、机械制图员、修理机器、电器师",
I = "气象学者、生物学者、天文学家、药剂师、动物学者、化学家、科学报刊编辑、地质学者、植物学者、物理学者、数学家、实验员、科研人员、科技作者",
A = "室内装饰专家、图书管理专家、摄影师、音乐教师、作家、演员、记者、诗人、作曲家、编剧、雕刻家、漫画家",
S = "社会学者、导游、福利机构工作者、咨询人员、社会工作者、社会科学教师、学校领导、精神病工作者、公共保健护士",
E = "推销员、进货员、商品批发员、旅馆经理、饭店经理、广告宣传员、调度员、律师、政治家、零售商",
C = "记账员、会计、银行出纳、法庭速记员、成本估算员、税务员、核算员、打字员、办公室职员、统计员、计算机操作员、秘书"
}
......@@ -114,6 +114,7 @@ export const TablesConfig = [
},
infoid: {type:DataTypes.INTEGER(11),allowNull:false}, //测试信息ID
chapter: {type:DataTypes.TINYINT(2),allowNull:false}, //章节 1.霍兰德(一、我感兴趣的活动)2.霍兰德(二、我能完成的活动)3.霍兰德(三、我喜欢的职业)4.霍兰德(四、我的能力类型简评A)5.霍兰德(四、我的能力类型简评B)
test_type: {type:DataTypes.TINYINT(1)}, //题目类型:1. 霍兰德
title_str: {type:DataTypes.STRING(255),allowNull:false}, //记录标题用逗号隔开
option_str: {type:DataTypes.STRING(255),allowNull:false}, //记录结果用逗号隔开
last_update_time: {type:DataTypes.DATE(0),allowNull:false}, //最后修改时间
......@@ -137,6 +138,7 @@ export const TablesConfig = [
},
infoid: {type:DataTypes.INTEGER(11),allowNull:false}, //测试信息ID
chapter: {type:DataTypes.TINYINT(2),allowNull:false}, //章节 1.霍兰德(一、我感兴趣的活动)2.霍兰德(二、我能完成的活动)3.霍兰德(三、我喜欢的职业)4.霍兰德(四、我的能力类型简评A)5.霍兰德(四、我的能力类型简评B)
test_type: {type:DataTypes.TINYINT(1)}, //题目类型:1. 霍兰德
title_str: {type:DataTypes.STRING(255),allowNull:false}, //记录标题用逗号隔开
option_str: {type:DataTypes.STRING(255),allowNull:false}, //记录结果用逗号隔开
last_update_time: {type:DataTypes.DATE(0),allowNull:false}, //最后修改时间
......
......@@ -21,8 +21,8 @@ async function login(req, res) {
async function getUserList(req, res) {
let {card, createStartTime, createEndTime, area, current} = req.body;
let result = await adminBiz.getUserList(card, createStartTime, createEndTime, area, current);
let {phone, createStartTime, createEndTime, current} = req.body;
let result = await adminBiz.getUserList(phone, createStartTime, createEndTime, current);
res.success(result);
}
......
......@@ -16,8 +16,8 @@ export function setRouter(httpServer){
async function addUsers(req, res) {
let {testType, name, card, phone, email, area} = req.body;
let result = await huolandeBiz.addUsers(testType, name, card, phone, area, email);
let {testType, name, card, phone} = req.body;
let result = await huolandeBiz.addUsers(testType, name, phone, card);
res.success(result);
}
......@@ -29,8 +29,8 @@ async function getArea(req, res) {
async function getQuestion(req, res) {
let { testType, chapter, isTest } = req.body;
let result = await huolandeBiz.getQuestion(testType, chapter, isTest);
let { testType, chapter, isTest, isPrevious } = req.body;
let result = await huolandeBiz.getQuestion(testType, chapter, isTest, isPrevious);
res.success(result);
}
......
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