Commit f07b788a by lixinming

1.0功能封版

parent 989ff822
...@@ -151,7 +151,7 @@ export async function getEnterpriseByDraftId(draftId:string) { ...@@ -151,7 +151,7 @@ export async function getEnterpriseByDraftId(draftId:string) {
/**新注册企业和迁入企业回显信息不一样 */ /**新注册企业和迁入企业回显信息不一样 */
let data:any = {}; let data:any = {};
if (dataBaseInfo.isCreate) extractData(splitResultConfig.EnterpriseInfoConfig, dataBaseInfo, false); if (dataBaseInfo.isCreate) data = extractData(splitResultConfig.EnterpriseInfoConfig, dataBaseInfo, false);
else data = extractData(splitResultConfig.EnterpriseMoveInInfoConfig, dataBaseInfo, false); else data = extractData(splitResultConfig.EnterpriseMoveInInfoConfig, dataBaseInfo, false);
return {data}; return {data};
...@@ -195,7 +195,7 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu ...@@ -195,7 +195,7 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
} }
if (fuHuaQiUscc) selectParam.fuHuaQiUscc = fuHuaQiUscc; if (fuHuaQiUscc) selectParam.fuHuaQiUscc = fuHuaQiUscc;
if (industry.length > 0) { if (industry.length > 0) {
verificationEnumTools.eccEnumValue('管理后台获取在孵企业信息列表', 'industry', configEnum.INDUSTRY, industry);//是否符合枚举范围 verificationEnumTools.eccEnumValue('管理后台获取在孵企业信息列表', 'industry', configEnum.INDUSTRY, industry);
selectParam.industry = industry; selectParam.industry = industry;
} }
if (isNaturalPersonHolding == 2 || isNaturalPersonHolding == 3) { if (isNaturalPersonHolding == 2 || isNaturalPersonHolding == 3) {
......
...@@ -114,13 +114,13 @@ export async function updateFuHuaQiBaseData(uscc:string, param) { ...@@ -114,13 +114,13 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
export async function updateOrganizationData(uscc:string, param) { export async function updateOrganizationData(uscc:string, param) {
/**校验表单内容 */ /**校验表单内容 */
eccFormParam("更新孵化器机构信息数据", eccFormParamConfig.OrganizationParamUpdateConfig, param); eccFormParam("更新孵化器机构信息数据", eccFormParamConfig.OrganizationParamUpdateConfig, param);
if (param.foundingTeam && param.foundingTeam.length) {//创始团队参数校验 if (param.foundingTeamType && param.foundingTeamType != configEnum.TEAM.) {
param.foundingTeam.forEach((subInfo, subIndex) => { param.foundingTeam.forEach((subInfo, subIndex) => {
eccFormParam(`更新孵化器机构信息数据 创始团队 ${subIndex}`, eccFormParamConfig.OrganizationParamFoundingTeamUpdateConfig, subInfo); eccFormParam(`更新孵化器机构信息数据 创始团队 ${subIndex}`, eccFormParamConfig.OrganizationParamFoundingTeamUpdateConfig, subInfo);
eccEnumValue(`更新孵化器机构信息数据 创始团队 ${subIndex}`, "团队类型", configEnum.TEAM, subInfo.type); eccEnumValue(`更新孵化器机构信息数据 创始团队 ${subIndex}`, "团队类型", configEnum.TEAM, subInfo.type);
}); });
} } else param.foundingTeam = [];
if (param.operationModel && param.operationModel.length) { if (param.operationModel && param.operationModel.length && param.operationModel.indexOf(configEnum.OPERATIONMODEL.其他) > 0 ) {
if (!param.operationModelDes) throw new BizError(ERRORENUM.表单校验失败, `缺失运营模式描述`); if (!param.operationModelDes) throw new BizError(ERRORENUM.表单校验失败, `缺失运营模式描述`);
} }
/**校验是否符合枚举范围 */ /**校验是否符合枚举范围 */
...@@ -131,7 +131,7 @@ export async function updateOrganizationData(uscc:string, param) { ...@@ -131,7 +131,7 @@ export async function updateOrganizationData(uscc:string, param) {
let baseDataInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc); let baseDataInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
/**这里无法判断数组里面的内容是否有变化 所以 foundingTeam 直接赋值 */ /**赋值内容 */
let changeList = checkChange(param, baseDataInfo); let changeList = checkChange(param, baseDataInfo);
for (let i = 0; i < changeList.length; i++) { for (let i = 0; i < changeList.length; i++) {
let key = changeList[i]; let key = changeList[i];
...@@ -139,13 +139,9 @@ export async function updateOrganizationData(uscc:string, param) { ...@@ -139,13 +139,9 @@ export async function updateOrganizationData(uscc:string, param) {
baseDataInfo[key] = param[key]; baseDataInfo[key] = param[key];
} }
/**这里无法判断数组里面的内容是否有变化 所以 foundingTeam 直接赋值 */
baseDataInfo["foundingTeam"] = param.foundingTeam; baseDataInfo["foundingTeam"] = param.foundingTeam;
/**由于前端的创始团队是在foundingTeam里面传的 所以这里要截出来赋值给foundingTeamType */
if (param.foundingTeam && param.foundingTeam.length > 0) {
baseDataInfo.foundingTeamType = param.foundingTeam[0].type;
} else baseDataInfo.foundingTeamType = 0;
await baseDataInfo.save(); await baseDataInfo.save();
return {isSuccess:true}; return {isSuccess:true};
......
...@@ -22,7 +22,7 @@ import * as monthTableData from "../../data/fuHuaQi/monthTable"; ...@@ -22,7 +22,7 @@ import * as monthTableData from "../../data/fuHuaQi/monthTable";
import * as taskData from "../../data/fuHuaQi/task"; import * as taskData from "../../data/fuHuaQi/task";
import { BizError } from "../../util/bizError"; import { BizError } from "../../util/bizError";
import { logHandle } from "../../util/log"; import { logHandle } from "../../util/log";
import { getTaskId, getTimeKey } from "../../tools/system"; import { getLastTimeKey, getTaskId, getTaskIdByTime, getTimeKey } from "../../tools/system";
/** /**
...@@ -85,6 +85,67 @@ export async function fuHuaQiTaskList(uscc:string) { ...@@ -85,6 +85,67 @@ export async function fuHuaQiTaskList(uscc:string) {
/** /**
* 孵化器 已办任务列表
* 小程序端
* @param uscc 孵化器统一信用
* @returns [{type:1, title:'', enterpriseList:[] }]
*/
export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
const TaskId = getTaskIdByTime(uscc, selectTime);
let taskMap = await taskData.findFuHuaQiTaskByTaskId(TaskId);
let lastDateKey = getLastTimeKey();
let result = [];
for (let key in TASKTYPEENUM) {
let anyKey:any = key;
/** 当key是枚举的键的时候 进入到逻辑 */
if (isNaN(anyKey)) {
const ValueStr = TASKTYPEENUM[key];//字符型的枚举值 也就是 "1"或者"2"或者"3"
const ValueNumber = parseInt(ValueStr);//number型的枚举值 也就是 1或者2或者3
let onceObj = {
key:ValueNumber,
title:anyKey, //标题
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
};
/**没有提交任务 则获取本月提交的任务相关信息 */
if (!taskMap[ValueStr].isSubmit) {
let dataList = [];
switch(ValueNumber) {
case TASKTYPEENUM.孵化器月度填报:
/** 这里加限制 在月度任务中 isUpdate=true代表已经修改 isUpdate=false表示没有这个任务 详细说明看./month.ts注释*/
dataList = await monthTableData.findmonthTableListByTaskId(TaskId);
break;
case TASKTYPEENUM.新注册或迁入企业登记:
/**限制 draftLock = false 即草稿数据 这里可以不用这个限制 */
dataList = await findEnterpriseListByTaskId(TaskId);
dataList.forEach(item => {
item.uscc = item.draftId;//这里转换一下,为了不改前端代码 使用uscc这个名称,但是实际是draftId
});
break;
case TASKTYPEENUM.融资企业填报:
/**限制 draftLock = false 即草稿数据 这里可以不用这个限制 */
dataList = await findFinancingListByTaskId(TaskId);
break;
}
dataList.forEach(info => {
let addInfo:any = {name:info.name, id:info.uscc, isCreate:info.isCreate || false};
onceObj.enterpriseList.push(addInfo);
});
result.push(onceObj);
}
}
}
return {taskList:result};
}
/**
* 提交任务 * 提交任务
* 小程序端 * 小程序端
* @param uscc 孵化器统一信用代码 * @param uscc 孵化器统一信用代码
......
...@@ -52,6 +52,7 @@ export const OrganizationParamUpdateConfig = { ...@@ -52,6 +52,7 @@ export const OrganizationParamUpdateConfig = {
personInCharge:{type:"String", notMustHave:true},// {key:"负责人"}, personInCharge:{type:"String", notMustHave:true},// {key:"负责人"},
personInChargePhone:{type:"String", notMustHave:true},// {key:"负责人联系电话"}, personInChargePhone:{type:"String", notMustHave:true},// {key:"负责人联系电话"},
operationModelDes:{type:"String", notMustHave:true},//{key:"运营模式描述"}, operationModelDes:{type:"String", notMustHave:true},//{key:"运营模式描述"},
foundingTeamType:{type:"Number", notMustHave:true},//{key:"团队类型"}
}; };
/** /**
* 使用端: 小程序端【孵化器入口】 * 使用端: 小程序端【孵化器入口】
...@@ -59,7 +60,6 @@ export const OrganizationParamUpdateConfig = { ...@@ -59,7 +60,6 @@ export const OrganizationParamUpdateConfig = {
* 备注: 更新机构信息时 当选择了创始团队 * 备注: 更新机构信息时 当选择了创始团队
*/ */
export const OrganizationParamFoundingTeamUpdateConfig = { export const OrganizationParamFoundingTeamUpdateConfig = {
type:{type:"Number"},//人才类型
memberName:{type:"String"},//成员姓名 memberName:{type:"String"},//成员姓名
memberSex:{type:"Number"},//成员性别 memberSex:{type:"Number"},//成员性别
memberAge:{type:"Number"},//成员年龄 memberAge:{type:"Number"},//成员年龄
......
...@@ -215,6 +215,7 @@ export const OrganizationBaseDataConfig = { ...@@ -215,6 +215,7 @@ export const OrganizationBaseDataConfig = {
institutionalNature:{key:"机构性质"}, institutionalNature:{key:"机构性质"},
operationModel:{key:"运营模式"},//新加 operationModel:{key:"运营模式"},//新加
foundingTeam:{key:"创始团队"},//新加 foundingTeam:{key:"创始团队"},//新加
foundingTeamType:{key:"创始团队类型"},//新加
liaison:{key:"联系人"}, liaison:{key:"联系人"},
liaisonPhone:{key:"联系电话"}, liaisonPhone:{key:"联系电话"},
personInCharge:{key:"负责人"}, personInCharge:{key:"负责人"},
......
...@@ -11,20 +11,19 @@ import {Schema} from 'mongoose'; ...@@ -11,20 +11,19 @@ import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit'; import { baseDB } from '../../db/mongo/dbInit';
const foundingTeamSchema = new Schema({ const foundingTeamSchema = new Schema({
type:Number,//人才类型
memberName:String,//成员姓名 memberName:String,//成员姓名
memberSex:Number,//成员性别 memberSex:Number,//成员性别
memberAge:Number,//成员年龄 memberAge:Number,//成员年龄
memberDEGREE:Number,//成员最高学历 memberDEGREE:Number,//成员最高学历
memberSchool:String,//毕业学校 memberSchool:String,//毕业学校
des:String,//履历描述 des:String,//履历描述
}); },{_id:false});
const hatchingGroundSchema = new Schema({ const hatchingGroundSchema = new Schema({
personInChargeAdd:String,//孵化场地地址 personInChargeAdd:String,//孵化场地地址
siteAcreage:Number,//孵化场地面积(㎡) siteAcreage:Number,//孵化场地面积(㎡)
leasePrice:Number,//孵化场地出租单价 leasePrice:Number,//孵化场地出租单价
}); },{_id:false});
const fuHuaQiSchema = new Schema({ const fuHuaQiSchema = new Schema({
......
...@@ -141,6 +141,7 @@ async function completedList(req, res) { ...@@ -141,6 +141,7 @@ async function completedList(req, res) {
const NotMustHaveKeys = ["selectTime"]; const NotMustHaveKeys = ["selectTime"];
let { selectTime } = eccReqParamater(reqConf, req.body, NotMustHaveKeys); let { selectTime } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
const Uscc = req.headers.uscc; const Uscc = req.headers.uscc;
res.success({}); res.success({});
} }
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
* 包括 密码加密规则 * 包括 密码加密规则
*/ */
import moment = require("moment");
const md5 = require("md5"); const md5 = require("md5");
...@@ -15,17 +17,41 @@ const md5 = require("md5"); ...@@ -15,17 +17,41 @@ const md5 = require("md5");
* @returns * @returns
*/ */
export function getTaskId(uscc:string) { export function getTaskId(uscc:string) {
return `${uscc}${getTimeKey()}` return `${uscc}${getTimeKey()}`;
}
/**
* 根据时间生成任务id
* @param uscc 企业标识
* @param timeMs 时间戳
* @returns
*/
export function getTaskIdByTime(uscc:string, timeMs:number) {
return `${uscc}${new Date(timeMs).getFullYear()}${new Date(timeMs).getMonth() + 1 }`;
} }
/** /**
* 获取当前日期的key * 获取当前日期的key
* @param timeMs 指定时间,如果不传
* @returns
*/
export function getTimeKey(timeMs?) {
if (timeMs) return `${new Date(timeMs).getFullYear()}${new Date(timeMs).getMonth() + 1 }`;
return `${new Date().getFullYear()}${new Date().getMonth() + 1 }`;
}
/**
* 获取上一月的日期的key
* @returns * @returns
*/ */
export function getTimeKey() { export function getLastTimeKey() {
return `${new Date().getFullYear()}${new Date().getMonth() + 1 }` return moment().subtract(1,'months').format('YYYYM');
} }
/** /**
* 生成草稿箱Id * 生成草稿箱Id
* @param uscc * @param uscc
...@@ -73,6 +99,6 @@ export function getToken(uscc:string) { ...@@ -73,6 +99,6 @@ export function getToken(uscc:string) {
export function eccUscc(uscc:string) { export function eccUscc(uscc:string) {
let isSuccess = false; let isSuccess = false;
if (uscc.search(/^[A-Za-z0-9]{16}$/) > -1) isSuccess = true; if (uscc.search(/^[A-Za-z0-9]{16}$/) > -1) isSuccess = true;
else if (uscc.search(/^[A-Za-z0-9]{16}$/) > -1) isSuccess = true; else if (uscc.search(/^[A-Za-z0-9]{18}$/) > -1) isSuccess = true;
return isSuccess; return isSuccess;
} }
\ No newline at end of file
...@@ -15,9 +15,9 @@ import { BizError } from "./bizError"; ...@@ -15,9 +15,9 @@ import { BizError } from "./bizError";
*/ */
export function eccEnumValue(name:string, key:string, enumConf, value:any) { export function eccEnumValue(name:string, key:string, enumConf, value:any) {
let eccSuccess = true; let eccSuccess = true;
if ( typeof value == 'number' && !enumConf[value] ) { if ( typeof value == 'number' ) {
eccSuccess = false; if (!enumConf[value] ) eccSuccess = false;
} else { } else if (Array.isArray(value)) {
value.forEach(item => { value.forEach(item => {
if ( !enumConf[item] ) eccSuccess = false; if ( !enumConf[item] ) eccSuccess = false;
}); });
......
...@@ -86,7 +86,7 @@ export function eccReqParamater(conf:object, param, skipKeys?) { ...@@ -86,7 +86,7 @@ export function eccReqParamater(conf:object, param, skipKeys?) {
skipKeys = skipKeys || []; skipKeys = skipKeys || [];
for (let key in conf) { for (let key in conf) {
let type = conf[key]; let type = conf[key];
let value = param[type]; let value = param[key];
let isError = false; //校验是否异常 let isError = false; //校验是否异常
let errorStr = "";//异常说明 let errorStr = "";//异常说明
......
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