Commit 31ce8f8b by lixinming

3.1代码

parent 3cd6bda6
......@@ -55,6 +55,7 @@ export async function selectOnceInformationDate(id:string) {
desc:onceDataInfo.desc,
source:onceDataInfo.source,
coverImg:onceDataInfo.coverImg,
url:`/policy/${onceDataInfo.coverImg}`,
};
......
import { getPolicyBGImgId } from "../tools/system";
/**
* 文件上传
*/
const fs = require('fs');
const path = require('path');
export async function upFile(files, type) {
let pngId = getPolicyBGImgId();
let upUrl = path.join(__dirname.substring(0,__dirname.indexOf("out")), 'files', 'policy');
let stats = fs.existsSync(upUrl);
if (!stats) fs.mkdirSync(upUrl);
let fileName = `${pngId}${type}`;
fs.renameSync(files.file.path, path.join(upUrl, `${fileName}` ));
return {isSuccess:true, url:`/policy/${fileName}`, fileName};
}
\ No newline at end of file
/**
* 文件上传
*/
\ No newline at end of file
/**
* 政策速递
* 政策速递 企业端
*/
import moment = require("moment");
import { selectInformationByParam, selectInformationByParamCount, selectInformationByParamToPage, selectInformationDataById } from "../../data/guanWeiHui/information";
import { selectInformationByParam, selectInformationByParamCount, selectInformationByParamToPage, selectInformationDataById, selectOnceInformationByParamToParam } from "../../data/guanWeiHui/information";
......@@ -30,7 +30,7 @@ export async function getInformationList(uscc:string, selectTitle:string, page:n
informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, coverImg});
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, url:`/policy/${coverImg}`});
});
......@@ -59,7 +59,7 @@ export async function getOutOfDateInformationList(uscc:string, selectTitle:strin
informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, coverImg});
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"), source, url:`/policy/${coverImg}`});
});
......@@ -68,7 +68,7 @@ export async function getOutOfDateInformationList(uscc:string, selectTitle:strin
/**
* 获取过期资讯详情
* 获取资讯详情
* @param uscc
* @param id 标识
*/
......@@ -83,4 +83,13 @@ export async function getOnceinformation(uscc:string, id:string) {
};
return {infomation:reuslt};
}
export async function getInformationTitleList() {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
let informationData = await selectOnceInformationByParamToParam(selectParam);
return {title:informationData.title};
}
\ No newline at end of file
......@@ -95,6 +95,7 @@ export async function selectOrganizationInfo(uscc:string) {
export async function updateFuHuaQiBaseData(uscc:string, param) {
/**表单校验 */
eccFormParam("更新孵化器基础数据", eccFormParamConfig.BaseParamUpdateConfig, param);
if (param.hatchingGround && param.hatchingGround.length) {
param.hatchingGround.forEach(hatchingGroundInfo => {
eccFormParam("更新孵化器基础数据 经备案孵化场地", eccFormParamConfig.BaseParamUpdateHatchingGroundConfig, hatchingGroundInfo);
......@@ -105,24 +106,27 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
if (!param.professionalTechnologyCreateTime ) throw new BizError(ERRORENUM.参数错误, "修改孵化器=>我的数据信息", "professionalTechnologyCreateTime" );
if (!param.professionalTechnologyAmount) throw new BizError(ERRORENUM.参数错误, "修改孵化器=>我的数据信息", "professionalTechnologyAmount" );
}
//校验 专业技术平台 参数
if (param.isProfessionalTechnology) {
const ProfessionalTechnologyConf = {
professionalTechnologyName:"String",
professionalTechnologyCreateTime:"Number",
professionalTechnologyAmount:"Number",
};
const CheckProfessionalTechnologyConf = {
professionalTechnologyName:param.professionalTechnologyName,
professionalTechnologyCreateTime:param.professionalTechnologyCreateTime,
professionalTechnologyAmount:param.professionalTechnologyAmount,
};
eccReqParamater(ProfessionalTechnologyConf, CheckProfessionalTechnologyConf);
} else {
param.professionalTechnologyName = "";
param.professionalTechnologyCreateTime = 0;
param.professionalTechnologyAmount = 0;
}
/**
* 校验 专业技术平台 参数
* 专业技术平台在3.1时候被单独成一个功能了
*/
// if (param.isProfessionalTechnology) {
// const ProfessionalTechnologyConf = {
// professionalTechnologyName:"String",
// professionalTechnologyCreateTime:"Number",
// professionalTechnologyAmount:"Number",
// };
// const CheckProfessionalTechnologyConf = {
// professionalTechnologyName:param.professionalTechnologyName,
// professionalTechnologyCreateTime:param.professionalTechnologyCreateTime,
// professionalTechnologyAmount:param.professionalTechnologyAmount,
// };
// eccReqParamater(ProfessionalTechnologyConf, CheckProfessionalTechnologyConf);
// } else {
// param.professionalTechnologyName = "";
// param.professionalTechnologyCreateTime = 0;
// param.professionalTechnologyAmount = 0;
// }
//校验是否与第三方机构合作
if (param.isCooperation) {
eccReqParamater({cooperationInstitutions:"String"}, {cooperationInstitutions:param.cooperationInstitutions});
......
......@@ -4,9 +4,11 @@
*
*/
import * as fuhuaqiData from "../../../data/fuHuaQi/fuhuaqi";
import { getI18nRegisterId } from "../../../tools/system";
import { addRegister, deleteI18nRegisterListById, findI18nRegisterListByParam, findOneI18nRegister } from "../../../data/fuHuaQi/i18nRegister";
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getI18nRegisterId } from "../../../../tools/system";
import { addRegister, deleteI18nRegisterListById, findI18nRegisterListByParam, findOneI18nRegister, getCount } from "../../../../data/fuHuaQi/instituQualify/i18nRegister";
/**
......@@ -86,72 +88,6 @@ export async function i18nRegisterListData(uscc) {
});
});
return {dataList}
return {dataList, title:"国际化登记"}
}
/**
* 修改创投基金登记信息
* @param uscc
* @param isCreatePTP
* @param scalePTP
* @param isParticipateInPTP
*/
export async function updatePTPInfo(uscc:string, isCreatePTP:boolean, scalePTP:number, isParticipateInPTP:boolean) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isCreatePTP = isCreatePTP;
fuHuaQiInfo.scalePTP = scalePTP;
fuHuaQiInfo.isParticipateInPTP = isParticipateInPTP;
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getFuHuaQiPTP(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let PTPInfo = {
isCreatePTP:fuHuaQiInfo.isCreatePTP,
scalePTP:fuHuaQiInfo.scalePTP,
isParticipateInPTP:fuHuaQiInfo.isParticipateInPTP,
};
return {PTPInfo};
}
export async function updateProfessionalTechnology(uscc:string, isProfessionalTechnology:boolean, professionalTechnologyName:String,
professionalTechnologyCreateTime:number, professionalTechnologyAmount:number, isCooperation:boolean, cooperationInstitutions:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isProfessionalTechnology= isProfessionalTechnology;//是否专业技术平台
fuHuaQiInfo.professionalTechnologyName= professionalTechnologyName;//专业技术平台名称
fuHuaQiInfo.professionalTechnologyCreateTime= professionalTechnologyCreateTime;//时间 年份 xxxx年01月01日 的时间戳
fuHuaQiInfo.professionalTechnologyAmount= professionalTechnologyAmount;//投资金额万元
fuHuaQiInfo.isCooperation= isCooperation;//是否与第三方合作
fuHuaQiInfo.cooperationInstitutions= cooperationInstitutions;//合作机构名称
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getProfessionalTechnology(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let professionalTechnologyInfo = {
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology,
professionalTechnologyName:fuHuaQiInfo.professionalTechnologyName,
professionalTechnologyCreateTime:fuHuaQiInfo.professionalTechnologyCreateTime,
professionalTechnologyAmount:fuHuaQiInfo.professionalTechnologyAmount,
isCooperation:fuHuaQiInfo.isCooperation,
cooperationInstitutions:fuHuaQiInfo.cooperationInstitutions,
};
return { professionalTechnologyInfo };
}
\ No newline at end of file
/**
* 大学/科研院所合作机构 逻辑
*/
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as icrData from "../../../../data/fuHuaQi/instituQualify/icr";
export async function createIcr(uscc:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let id = getRandomId(uscc);
await icrData.addData(id, uscc, fuHuaQiInfo.name, po, ce, cMode, cAchievements, startTimeMs);
return {isSuccess:true};
}
export async function updateIcr(uscc:string, id:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
let dataInfo = await icrData.findOneData(id);
dataInfo.po = po;
dataInfo.ce = ce;
dataInfo.cMode = cMode;
dataInfo.cAchievements = cAchievements;
dataInfo.startTimeMs = startTimeMs;
await dataInfo.save();
return {isSuccess:true};
}
export async function selectIcr(id:string) {
let dataInfo = await icrData.findOneData(id);
let startUpData = {
po:dataInfo.po,
ce:dataInfo.ce,
cMode:dataInfo.cMode,
cAchievements:dataInfo.cAchievements,
startTimeMs:dataInfo.startTimeMs,
};
return {startUpData}
}
export async function deleteIcr(id:string) {
await icrData.deleteDataById(id);
return {isSuccess:true}
}
export async function getIcrListData(uscc) {
let registerList = await icrData.findListDataByParam({uscc});
let dataList = [];
registerList.forEach(info => {
dataList.push({
id:info.id,
po:info.po,
ce:info.ce,
cMode:info.cMode,
cAchievements:info.cAchievements,
startTimeMs:info.startTimeMs,
});
});
return {dataList, title:"大学/科研院所合作机构"}
}
import * as i18nRegisterData from "../../../../data/fuHuaQi/instituQualify/i18nRegister";
import * as icrData from "../../../../data/fuHuaQi/instituQualify/icr";
import * as startupTeacherData from "../../../../data/fuHuaQi/instituQualify/startupTeacher";
import * as zjBeyondLayoutData from "../../../../data/fuHuaQi/instituQualify/zjBeyondLayout";
import { STATEENUM } from "../../../../config/enum";
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
/**
* 修改创投基金登记信息
* @param uscc
* @param isCreatePTP
* @param scalePTP
* @param isParticipateInPTP
*/
export async function updatePTPInfo(uscc:string, isCreatePTP:boolean, scalePTP:number, isParticipateInPTP:boolean, participatingFundCompany:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isCreatePTP = isCreatePTP;
fuHuaQiInfo.scalePTP = scalePTP;
fuHuaQiInfo.isParticipateInPTP = isParticipateInPTP;
fuHuaQiInfo.participatingFundCompany = participatingFundCompany,
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getFuHuaQiPTP(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let PTPInfo = {
isCreatePTP:fuHuaQiInfo.isCreatePTP,
scalePTP:fuHuaQiInfo.scalePTP,
isParticipateInPTP:fuHuaQiInfo.isParticipateInPTP,
participatingFundCompany:fuHuaQiInfo.participatingFundCompany,
};
return {PTPInfo};
}
export async function updateProfessionalTechnology(uscc:string, isProfessionalTechnology:boolean, professionalTechnologyName:String,
professionalTechnologyCreateTime:number, professionalTechnologyAmount:number, isCooperation:boolean, cooperationInstitutions:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
fuHuaQiInfo.isProfessionalTechnology= isProfessionalTechnology;//是否专业技术平台
fuHuaQiInfo.professionalTechnologyName= professionalTechnologyName;//专业技术平台名称
fuHuaQiInfo.professionalTechnologyCreateTime= professionalTechnologyCreateTime;//时间 年份 xxxx年01月01日 的时间戳
fuHuaQiInfo.professionalTechnologyAmount= professionalTechnologyAmount;//投资金额万元
fuHuaQiInfo.isCooperation= isCooperation;//是否与第三方合作
fuHuaQiInfo.cooperationInstitutions= cooperationInstitutions;//合作机构名称
await fuHuaQiInfo.save();
return {isSuccess:true};
}
export async function getProfessionalTechnology(uscc:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let professionalTechnologyInfo = {
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology,
professionalTechnologyName:fuHuaQiInfo.professionalTechnologyName,
professionalTechnologyCreateTime:fuHuaQiInfo.professionalTechnologyCreateTime,
professionalTechnologyAmount:fuHuaQiInfo.professionalTechnologyAmount,
isCooperation:fuHuaQiInfo.isCooperation,
cooperationInstitutions:fuHuaQiInfo.cooperationInstitutions,
};
return { professionalTechnologyInfo };
}
export async function overview(uscc:string) {
let i18n = await i18nRegisterData.getCount(uscc);
let icr = await icrData.getCount(uscc);
let startupteacher = await startupTeacherData.getCount(uscc);
let zjbeyondlayout = await zjBeyondLayoutData.getCount(uscc);
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let data = {
i18n,
icr,
startupteacher,
zjbeyondlayout,
isCreatePTP:fuHuaQiInfo.isCreatePTP != STATEENUM.未选,
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology != STATEENUM.未选
};
return data;
}
/**
* 创业导师 逻辑
*/
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as startupTeacherData from "../../../../data/fuHuaQi/instituQualify/startupTeacher";
export async function createStartUpTeacher(uscc:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let id = getRandomId(uscc);
await startupTeacherData.addData(id, uscc, fuHuaQiInfo.name, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises);
return {isSuccess:true};
}
export async function updateStartUpTeacher(uscc:string, id:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
let dataInfo = await startupTeacherData.findOneData(id);
dataInfo.teacherName = teacherName;
dataInfo.unit = unit;
dataInfo.duties = duties;
dataInfo.speciality = speciality;
dataInfo.teacherLv = teacherLv;
dataInfo.serviceEnterprises = serviceEnterprises;
await dataInfo.save();
return {isSuccess:true};
}
export async function selectStartUpTeacher(id:string) {
let dataInfo = await startupTeacherData.findOneData(id);
let startUpData = {
teacherName:dataInfo.teacherName,
unit:dataInfo.unit,
duties:dataInfo.duties,
speciality:dataInfo.speciality,
teacherLv:dataInfo.teacherLv,
serviceEnterprises:dataInfo.serviceEnterprises,
};
return {startUpData}
}
export async function deleteStartUpTeacher(id:string) {
await startupTeacherData.deleteDataById(id);
return {isSuccess:true}
}
export async function getStartUpTeacherListData(uscc) {
let registerList = await startupTeacherData.findListDataByParam({uscc});
let dataList = [];
registerList.forEach(info => {
dataList.push({
id:info.id,
teacherName:info.teacherName,
unit:info.unit,
duties:info.duties,
speciality:info.speciality,
teacherLv:info.teacherLv,
serviceEnterprises:info.serviceEnterprises,
});
});
return {dataList, title:"创业导师情况"}
}
/**
* 张江以外布局 逻辑
*/
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as zjBeyondLayoutData from "../../../../data/fuHuaQi/instituQualify/zjBeyondLayout";
export async function createZJBeyondLayout(uscc:string, city:string, area:number, operationMode:number) {
let fuHuaQiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
let id = getRandomId(uscc);
await zjBeyondLayoutData.addData(id, uscc, fuHuaQiInfo.name, city, area, operationMode);
return {isSuccess:true};
}
export async function updateZJBeyondLayout(uscc:string, id:string, city:string, area:number, operationMode:number) {
let dataInfo = await zjBeyondLayoutData.findOneData(id);
dataInfo.city = city;
dataInfo.area = area;
dataInfo.operationMode = operationMode;
await dataInfo.save();
return {isSuccess:true};
}
export async function selectZJBeyondLayout(id:string) {
let dataInfo = await zjBeyondLayoutData.findOneData(id);
let layoutData = {
city:dataInfo.city,
area:dataInfo.area,
operationMode:dataInfo.operationMode
};
return {layoutData}
}
export async function deleteZJBeyondLayout(id:string) {
await zjBeyondLayoutData.deleteDataById(id);
return {isSuccess:true}
}
export async function getZJBeyondLayoutListData(uscc:string) {
let registerList = await zjBeyondLayoutData.findListDataByParam({uscc});
let dataList = [];
registerList.forEach(info => {
dataList.push({
id:info.id,
city:info.city,
area:info.area,
operationMode:info.operationMode
});
});
return {dataList, title:"张江以外布局情况"}
}
......@@ -20,18 +20,17 @@ import { findFinancingCount, findFinancingListByTaskId, updateFinancingDraftLock
import { findAllNotDisabledFuHuaQi } from "../../../../data/fuHuaQi/fuhuaqi";
import * as monthTableData from "../../../../data/fuHuaQi/monthTask/monthTable";
import * as taskData from "../../../../data/fuHuaQi/monthTask/task";
import * as quarterTaskData from "../../../../data/fuHuaQi/quarterTask/quarterTask";
import { BizError } from "../../../../util/bizError";
import { logHandle } from "../../../../util/log";
import { getLastMonthTimeKey, getQuarterTaskId, getTaskId, getTaskIdByTime, getThisMonthMs, getTimeKey } from "../../../../tools/system";
import * as scoreBiz from "../score";
/**
/**
* 孵化器的任务列表 (待办任务)
* 小程序端
* @param uscc 孵化器统一信用
* @returns [{key:1, title:'', enterpriseList:[] }]
* @returns [{key:1, title:'', list:[] }]
*/
export async function fuHuaQiTaskList(uscc:string) {
/**得到这个月的任务map taskMap格式为{type:{isSubmit}} */
......@@ -50,7 +49,7 @@ export async function fuHuaQiTaskList(uscc:string) {
key:ValueNumber,
title:anyKey, //标题
month:'',
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
};
/**没有提交任务 则获取本月提交的任务相关信息 */
......@@ -77,7 +76,7 @@ export async function fuHuaQiTaskList(uscc:string) {
dataList.forEach(info => {
let addInfo:any = {name:info.name, id:info.uscc, isCreate:info.isCreate || false};
onceObj.enterpriseList.push(addInfo);
onceObj.list.push(addInfo);
});
result.push(onceObj);
}
......@@ -93,7 +92,7 @@ export async function fuHuaQiTaskList(uscc:string) {
* 小程序端 2.0
* 只显示selectTime月分的 已经办理的任务
* @param uscc 孵化器统一信用
* @returns [{type:1, title:'', enterpriseList:[] }]
* @returns [{type:1, title:'', list:[] }]
*/
export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
......@@ -113,7 +112,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
key:ValueNumber,
title:anyKey, //标题
editable,
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
};
/**当选中了系统上线时间前的时间 任务不存在 就是空列表 */
......@@ -144,7 +143,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
dataList.forEach(info => {
let addInfo:any = {name:info.name, id:info.uscc, editable, isCreate:info.isCreate || false};
onceObj.enterpriseList.push(addInfo);
onceObj.list.push(addInfo);
});
result.push(onceObj);
}
......@@ -160,7 +159,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
* 小程序端 2.0
* 只显示selectTime月份的 过期任务
* @param uscc 孵化器统一信用
* @returns [{type:1, title:'', enterpriseList:[] }]
* @returns [{type:1, title:'', list:[] }]
*/
export async function fuHuaQiPastdueList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
......@@ -178,7 +177,7 @@ export async function fuHuaQiPastdueList(uscc:string, selectTime:number) {
let onceObj:any = {
key:ValueNumber,
title:anyKey, //标题
enterpriseList:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
};
/**当选中了系统上线时间前的时间 任务不存在 就是空列表 */
......
......@@ -40,14 +40,14 @@ export async function fuHuaQiQuarterTaskList(uscc:string) {
let onceObj = {
key:ValueNumber,
title:anyKey, //标题
quarter:'',
month:'',//由于方便前端直接判断 quarter 改成了 month
list:[] //相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
};
/**没有提交任务 则获取本月提交的任务相关信息 */
if (taskMap[ValueStr] && !taskMap[ValueStr].isSubmit) {
let dataList = [];
onceObj.quarter = `第${taskMap[ValueStr].quarter}季度`;
onceObj.month = `第${taskMap[ValueStr].quarter}季度`;
switch(ValueNumber) {
case QUARTERTASKTYPEENUM.孵化器经营状况:
/** 这里加限制 在月度任务中 isUpdate=true代表已经修改 isUpdate=false表示没有这个任务 */
......@@ -102,7 +102,7 @@ export async function fuHuaQiQuarterCompletedTaskList(uscc:string, selectTime:nu
/**获取提交的任务 */
if ( taskMap[ValueStr].isSubmit ) {
onceObj.quarter = `第${taskMap[ValueStr].quarter}季度`;
onceObj.month = `第${taskMap[ValueStr].quarter}季度`;
let dataList = [];
switch(ValueNumber) {
......@@ -158,7 +158,7 @@ export async function fuHuaQiQuarterPastdueTaskList(uscc:string, selectTime:numb
/**未提交的数据 */
if (!taskMap[ValueStr].isSubmit) {
onceObj.quarter = `第${taskMap[ValueStr].quarter}季度`;
onceObj.month = `第${taskMap[ValueStr].quarter}季度`;
result.push(onceObj);
}
}
......
/**
* 政策速递
*/
import moment = require("moment");
import { selectInformationByParamCount, selectInformationByParamToPage, selectInformationDataById, selectOnceInformationByParamToParam } from "../../data/guanWeiHui/information";
/**
* 获取资讯列表
*
* @param uscc 预留好 后期做推荐的参数
* @param selectTitle
* @param page 分页
* @returns
*/
export async function getInformationList(uscc:string, selectTitle:string, page:number) {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
if (selectTitle) {
selectParam["title"] = {"$regex":`${selectTitle}`};
}
let informationList = await selectInformationByParamToPage(selectParam, (page-1) * 10 );
let count = await selectInformationByParamCount(selectParam);
let pageCount = count ? Math.ceil(count/10) : 0;
let dataList = [];
informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, url:`/policy/${coverImg}`});
});
return {dataList, count, pageCount};
}
/**
* 获取过期资讯列表
*
* @param uscc 预留好 后期做推荐的参数
* @param selectTitle 模糊查询标题
* @param page 分页
* @returns
*/
export async function getOutOfDateInformationList(uscc:string, selectTitle:string, page:number) {
let selectParam = {"$or":[{closeTimeMs: {"$lt":new Date().valueOf()} }, {state:false}] };
if (selectTitle) {
selectParam["title"] = {"$regex":`${selectTitle}`};
}
let informationList = await selectInformationByParamToPage(selectParam, (page-1) * 10 );
let count = await selectInformationByParamCount(selectParam);
let pageCount = count ? Math.ceil(count/10) : 0;
let dataList = [];
informationList.forEach((info) => {
let { id, title,createTimeMs, source, coverImg } = info;
dataList.push({title, id, createTime:moment(createTimeMs).format("MM/DD"),source, url:`/policy/${coverImg}`});
});
return {dataList, count, pageCount};
}
/**
* 获取资讯详情
* @param uscc
* @param id 标识
*/
export async function getOnceinformation(uscc:string, id:string) {
let informationData = await selectInformationDataById(id );
let reuslt = {
title:informationData.title,
desc:informationData.desc,
source:informationData.source,
createTime:moment(informationData.createTimeMs).format("MM/DD")
};
return {infomation:reuslt};
}
export async function getInformationTitleList() {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
let informationData= await selectOnceInformationByParamToParam(selectParam);
return {title:informationData.title};
}
\ No newline at end of file
......@@ -18,12 +18,12 @@ export const BaseParamUpdateConfig = {
acreageTotal:{type:"Number", notMustHave:true},//孵化器总面积(㎡)
acreagePersonalUse:{type:"Number", notMustHave:true},//孵化器自用面积(㎡)
hatchingGround:{type:"[Object]", notMustHave:true},//经备案孵化场地
isProfessionalTechnology:{type:"Boolean", notMustHave:true},//是否专业技术平台
professionalTechnologyName:{type:"String", notMustHave:true},//专业技术平台名称
// isProfessionalTechnology:{type:"Boolean", notMustHave:true},//是否专业技术平台
// professionalTechnologyName:{type:"String", notMustHave:true},//专业技术平台名称
cooperationInstitutions:{type:"String", notMustHave:true},//合作机构名称
isCooperation:{type:"Boolean", notMustHave:true},//是否与第三方机构合作
professionalTechnologyCreateTime:{type:"Number", notMustHave:true},//时间 年份 xxxx年01月01日 的时间戳
professionalTechnologyAmount:{type:"Number", notMustHave:true},//投资金额 万元
// professionalTechnologyCreateTime:{type:"Number", notMustHave:true},//时间 年份 xxxx年01月01日 的时间戳
// professionalTechnologyAmount:{type:"Number", notMustHave:true},//投资金额 万元
};
/**
* 使用端: 小程序端【孵化器入口】
......
......@@ -387,4 +387,53 @@ export enum STATEENUM {
未选 = 1,
,
}
/**
* 合作方式
*/
export enum COOPERATIONMODE {
技术服务模式 = 1,
技术转让模式,
委托开放模式,
合作开发模式,
企业研发平台模式,
人才培养模式,
创新联合体模式,
其他
}
/**
* 专业特长
*/
export enum SPECIALITY {
企业管理 = 1,
科技金融_风险投资_,
科技金融_其他_,
技术专家_法律专家_,
人事专家,
财税专家,
其他
}
/**
* 导师等级
*/
export enum TEACHERLV {
国家级=1,
市级,
其他
}
/**
* 张江以外布局情况 运营模式
*/
export enum ZJBEYONDLAYOUTOPERATIONMODE {
委托运营 = 1,
房屋租赁,
品牌输出,
其他
}
\ No newline at end of file
......@@ -64,7 +64,9 @@ export enum ERRORENUM {
未填报数据不能删除,
已提交的数据不能进行操作,
请先填报数据,
该报表需要填写本季度内容后提交
该报表需要填写本季度内容后提交,
只能上传pngjpg图片,
文件上传失败
}
export enum ERRORCODEENUM {
......
......@@ -224,12 +224,12 @@ export const FuHuaQiBaseDataConfig = {
acreageTotal:{key:"孵化器总面积"},
acreagePersonalUse:{key:"孵化器自用面积"},
hatchingGround:{key:"经备案孵化场地"},
isProfessionalTechnology:{key:"是否专业技术平台"},
professionalTechnologyName:{key:"专业技术平台名称"},
professionalTechnologyCreateTime:{key:"专业技术平台时间"},
// isProfessionalTechnology:{key:"是否专业技术平台"},
// professionalTechnologyName:{key:"专业技术平台名称"},
// professionalTechnologyCreateTime:{key:"专业技术平台时间"},
// professionalTechnologyAmount:{key:"专业技术平台投资金额"},
isCooperation:{key:"是否与第三方机构合作"},
cooperationInstitutions:{key:"合作机构名称"},
professionalTechnologyAmount:{key:"专业技术平台投资金额"},
enterpriseTotal:{key:"累计企业"}
}
......
......@@ -80,7 +80,7 @@ const enterpriseSchema = new Schema({
operatingAddress:{type:[String], default:[]},//经营地址
oldLogonAddress:{type:[String], default:[]},//迁入前注册地址
/**3.0新加字段 */
initialTeam:{type:[initialTeamSchema], default:[]},//创始团队
initialTeam:{type:[initialTeamSchema], default:[]},//创始团队 弃用
qualification:{type:qualificationSchema},//企业资质
intellectualProperty:{type:intellectualPropertySchema},//知识产权
firstClassTalent:{type:Boolean, default:false},//是否拥有国际一流人才 默认没有 舍弃
......
......@@ -65,11 +65,12 @@ const fuHuaQiSchema = new Schema({
/**2.3加入字段 */
introduction:{type:String, default:""},//孵化器简介
/**3.1 创投基金相关*/
isCreatePTP:Boolean,//是否成立创投基金
isCreatePTP:Number,//是否成立创投基金
scalePTP:Number,//基金规模
isParticipateInPTP:Boolean,//是否参与创投基金
participatingFundCompany:String,//参股基金公司名
/**专业技术平台 */
isProfessionalTechnology:Boolean,//是否专业技术平台
isProfessionalTechnology:Number,//是否专业技术平台
professionalTechnologyName:String,//专业技术平台名称
professionalTechnologyCreateTime:Number,//时间 年份 xxxx年01月01日 的时间戳
professionalTechnologyAmount:Number,//投资金额 万元
......
......@@ -4,7 +4,7 @@
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
import { baseDB } from '../../../db/mongo/dbInit';
const i18nRegisterSchema = new Schema({
......@@ -55,4 +55,6 @@ export async function addRegister(id:string, uscc:string, name:string, country:s
await i18nRegisterModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await i18nRegisterModel.find({uscc}).count();
}
\ No newline at end of file
/**
* 大学/科研院所合作机构
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../../db/mongo/dbInit';
const icrSchema = new Schema({
id:{type:String, index:true},//标识
uscc:{type:String, index:true},//孵化器uscc
name:{type:String, index:true},//运营机构名称
po:String,//合作机构
ce:String,//合作企业
cMode:{type:[Number], default:[]},//合作方式
cAchievements:String,//合作成果
startTimeMs:Number,//开始时间
});
var icrModel;
export function initModel(){
icrModel = baseDB.model('icr', icrSchema);
icrModel.selectOnceData = async function (paramater:object) {
let selectInfo = await icrModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function findOneData(id:string) {
return await icrModel.selectOnceData({id});
}
export async function findListDataByParam(param) {
return await icrModel.find(param);
}
export async function deleteDataById(id:string) {
await icrModel.deleteOne({id});
}
export async function addData(id:string, uscc:string, name:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
let addInfo = {id, uscc, name, po, ce, cMode, cAchievements, startTimeMs};
await icrModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await icrModel.find({uscc}).count();
}
/**
* 创业老师
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../../db/mongo/dbInit';
const startupTeacherSchema = new Schema({
id:{type:String, index:true},//标识
uscc:{type:String, index:true},//孵化器uscc
name:{type:String, index:true},//运营机构名称
teacherName:String,//导师名称
unit:String,//单位
duties:String,//职务
speciality:{type:[Number], default:[]},//专业特长
teacherLv:Number,//导师级别
serviceEnterprises:String,//服务企业名单
});
var startupTeacherModel;
export function initModel(){
startupTeacherModel = baseDB.model('startupTeacher', startupTeacherSchema);
startupTeacherModel.selectOnceData = async function (paramater:object) {
let selectInfo = await startupTeacherModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function findOneData(id:string) {
return await startupTeacherModel.selectOnceData({id});
}
export async function findListDataByParam(param) {
return await startupTeacherModel.find(param);
}
export async function deleteDataById(id:string) {
await startupTeacherModel.deleteOne({id});
}
export async function addData(id:string, uscc:string, name:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
let addInfo = {id, uscc, name, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises};
await startupTeacherModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await startupTeacherModel.find({uscc}).count();
}
/**
* 评分表
* 用于存储评分规则
* 目前没有用
* 张江以外布局情况
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
import { baseDB } from '../../../db/mongo/dbInit';
const gradeSchema = new Schema({
const zjBeyondLayoutSchema = new Schema({
id:{type:String, index:true},//标识
uscc:{type:String, index:true},//孵化器uscc
name:{type:String, index:true},//运营机构名称
city:String,//布局城市
area:Number,//空间面积
operationMode:Number,//运营模式
});
var gradeModel;
var zjBeyondLayoutModel;
export function initModel(){
gradeModel = baseDB.model('grade', gradeSchema);
gradeModel.selectOnceData = async function (paramater:object) {
let selectInfo = await gradeModel.findOne(paramater).exec();
zjBeyondLayoutModel = baseDB.model('zjBeyondLayout', zjBeyondLayoutSchema);
zjBeyondLayoutModel.selectOnceData = async function (paramater:object) {
let selectInfo = await zjBeyondLayoutModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
......@@ -30,4 +34,26 @@ export async function save(throwError=false) {
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
\ No newline at end of file
}
export async function findOneData(id:string) {
return await zjBeyondLayoutModel.selectOnceData({id});
}
export async function findListDataByParam(param) {
return await zjBeyondLayoutModel.find(param);
}
export async function deleteDataById(id:string) {
await zjBeyondLayoutModel.deleteOne({id});
}
export async function addData(id:string, uscc:string, name:string, city:string, area:number, operationMode:number) {
let addInfo = {id, uscc, name, city, area, operationMode};
await zjBeyondLayoutModel.create(addInfo);
}
export async function getCount(uscc:string) {
return await zjBeyondLayoutModel.find({uscc}).count();
}
......@@ -15,7 +15,7 @@ import {Schema} from 'mongoose';
import { baseDB } from '../../../db/mongo/dbInit';
const fuHuaQiTaskSchema = new Schema({
key:{type:Number, index:true},//任务标识 格式为:YYYYMM
key:{type:Number, index:true},//任务标识 格式为:YYYYM
type: {type:Number,index:true},//任务类型
taskId:String,//任务id
fuHuaQiUscc:String,//任务所属孵化器id
......
......@@ -74,4 +74,8 @@ export async function selectInformationByParamToPage(param, skipNumber:number) {
export async function selectInformationByParamCount(param) {
return await informationModel.find(param).count();;
}
export async function selectOnceInformationByParamToParam(param) {
return await informationModel.findOne(param);
}
\ No newline at end of file
......@@ -6,7 +6,10 @@ import * as monthTableModel from "../../data/fuHuaQi/monthTask/monthTable";
import * as fuHuaQiBusinessDataModel from "../../data/fuHuaQi/quarterTask/businessData";
import * as fuHuaQiQuarterTaskModel from "../../data/fuHuaQi/quarterTask/quarterTask";
import * as i18nRegisterModel from "../../data//fuHuaQi/instituQualify/i18nRegister";
import * as icrModel from "../../data/fuHuaQi/instituQualify/icr";
import * as startupTeacherModel from "../../data/fuHuaQi/instituQualify/startupTeacher";
import * as zjBeyondLayoutModel from "../../data/fuHuaQi/instituQualify/zjBeyondLayout";
import * as scoreModel from "../../data/fuHuaQi/score";
import * as scoreLogModel from "../../data/fuHuaQi/scoreLog";
import * as codeModel from "../../data/fuHuaQi/code";
......@@ -34,6 +37,10 @@ export async function initTable() {
scoreLogModel.initModel();
codeModel.initModel();
smsPointOutModel.initModel();
i18nRegisterModel.initModel();
icrModel.initModel();
startupTeacherModel.initModel();
zjBeyondLayoutModel.initModel();
businessdataModel.initModel();
financingInfoModel.initModel();
......
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError";
var formidable = require("formidable");
const path = require('path');
......@@ -11,7 +14,20 @@ export async function parseFormParam(req, res, next) {
else {
req.fields = fields;
req.files = files;
next();
if (!files.file) {
return next(new BizError(ERRORENUM.文件上传失败) )
}
if ( files.file.type == 'image/png') {
req.fileType = '.png';
next();
} else if (files.file.type == 'image/jpg' || files.file.type == 'image/jpeg') {
req.fileType = '.jpg';
next();
} else {
return next(new BizError(ERRORENUM.只能上传pngjpg图片) )
}
}
})
}
\ No newline at end of file
......@@ -54,7 +54,6 @@ export async function checkGuanWeiHuiToken(req, res, next) {
// if (userInfo.token != reqToken || (new Date().valueOf() - userInfo.tokenMs) > (3600*100*24*7) ) return next(new BizError(ERRORENUM.身份验证过期, `userId:${userId} token:${reqToken}`));
if (userInfo.token != reqToken ) return next(new BizError(ERRORENUM.身份验证过期, `userId:${userId} token:${reqToken}`));
req.headers.uscc = req.headers.userid;
next();
......
......@@ -28,6 +28,7 @@ export class httpServer {
});
httpServer.use(express.static("./static") );
httpServer.use(express.static("./files") );
const root = path.join(__dirname, "../../public");
httpServer.use(express.static(root));
httpServer.use(fallback('index.html', { root }));
......
/**
* 文件管理 路由
*/
import * as asyncHandler from 'express-async-handler';
import * as fileBiz from '../../biz/file';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import { parseFormParam } from '../../middleware/fromParam';
export function setRouter(httpServer) {
httpServer.post('/admin/files/policy/up', checkGuanWeiHuiToken, parseFormParam, asyncHandler(upPolicyBackground));
}
async function upPolicyBackground(req, res) {
let result = await fileBiz.upFile( req.files, req.fileType);
res.success(result);
}
......@@ -32,6 +32,7 @@ export function setRouter(httpServer) {
httpServer.post('/enterprise/information/list', checkEnterpriseToken, asyncHandler(informationList));
httpServer.post('/enterprise/information/outofdate', checkEnterpriseToken, asyncHandler(outOfDateInformationList));
httpServer.post('/enterprise/information/info', checkEnterpriseToken, asyncHandler(onceInformationData));
httpServer.post('/enterprise/information/titlelist', checkEnterpriseToken, asyncHandler(informationTitleListData));
/**团队信息 */
httpServer.post('/enterprise/team/info', checkEnterpriseToken, asyncHandler(showTeamInfomation));
}
......@@ -218,4 +219,16 @@ async function onceInformationData(req, res) {
let {id} = eccReqParamater(reqConf, req.body);
let result = await policyBiz.getOnceinformation(Uscc, id);
res.success(result);
}
\ No newline at end of file
}
/**
* 首页政策列表
* @param req
* @param res
*/
async function informationTitleListData(req, res) {
let result = await policyBiz.getInformationTitleList();
res.success(result);
}
......@@ -67,6 +67,6 @@ async function deletereportBusiness(req, res) {
async function selectBusiness(req, res) {
const Uscc = req.headers.uscc;
let monthInfo = fuHuaQiBusinessBiz.selectBusiness(Uscc);
let monthInfo = await fuHuaQiBusinessBiz.selectBusiness(Uscc);
res.success(monthInfo);
}
......@@ -11,6 +11,7 @@ import * as quarterTaskBiz from '../../biz/mobileFuHuaQi/fuHuaQi/task/quarterTas
import * as scoreBiz from '../../biz/mobileFuHuaQi/fuHuaQi/score';
import { eccReqParamater } from '../../util/verificationParam';
import { checkFuHuaQiToken } from '../../middleware/user';
import * as policyBiz from '../../biz/mobileFuHuaQi/policy';
export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/base', checkFuHuaQiToken, asyncHandler(baseInfo));
......@@ -33,6 +34,11 @@ export function setRouter(httpServer) {
/**分数 */
httpServer.post('/fuhuaqi/score/ranklist', checkFuHuaQiToken, asyncHandler(scoreRankList));
httpServer.post('/fuhuaqi/score/log', checkFuHuaQiToken, asyncHandler(scoreLog));
/**政策速递列表 */
httpServer.post('/fuhuaqi/information/titlelist', checkFuHuaQiToken, asyncHandler(informationTitleListData));
httpServer.post('/fuhuaqi/information/list', checkFuHuaQiToken, asyncHandler(informationList));
httpServer.post('/fuhuaqi/information/outofdate', checkFuHuaQiToken, asyncHandler(outOfDateInformationList));
httpServer.post('/fuhuaqi/information/info', checkFuHuaQiToken, asyncHandler(onceInformationData));
}
......@@ -260,4 +266,54 @@ async function quarterTaskPastDueList(req, res) {
}
/**
* 首页政策列表
* @param req
* @param res
*/
async function informationTitleListData(req, res) {
let result = await policyBiz.getInformationTitleList();
res.success(result);
}
/**
* 政策列表
* @param req
* @param res
*/
async function informationList(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {selectTitle:'String', page:'Number'};
let {selectTitle, page} = eccReqParamater(reqConf, req.body, ["selectTitle"]);
let result = await policyBiz.getInformationList(Uscc, selectTitle, page);
res.success(result);
}
/**
* 往期政策列表
* @param req
* @param res
*/
async function outOfDateInformationList(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {selectTitle:'String', page:'Number'};
let {selectTitle, page} = eccReqParamater(reqConf, req.body, ["selectTitle"]);
let result = await policyBiz.getInformationList(Uscc, selectTitle, page);
res.success(result);
}
/**
* 政策详情
* @param req
* @param res
*/
async function onceInformationData(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {id:'String'};
let {id} = eccReqParamater(reqConf, req.body);
let result = await policyBiz.getOnceinformation(Uscc, id);
res.success(result);
}
\ No newline at end of file
/**
* 机构质 主要逻辑
* 机构质 主要逻辑
*/
import * as asyncHandler from 'express-async-handler';
import * as institutionalNatureBiz from '../../biz/mobileFuHuaQi/fuHuaQi/institutionalNature';
import * as instiuQualifyBiz from '../../biz/mobileFuHuaQi/fuHuaQi/instituQualify/instiuQualify';
import * as i18nRegisterBiz from '../../biz/mobileFuHuaQi/fuHuaQi/instituQualify/i18nRegister';
import * as icrBiz from '../../biz/mobileFuHuaQi/fuHuaQi/instituQualify/icr';
import * as startupTeacherBiz from '../../biz/mobileFuHuaQi/fuHuaQi/instituQualify/startupTeacher';
import * as zjBeyondLayoutBiz from '../../biz/mobileFuHuaQi/fuHuaQi/instituQualify/zjBeyondLayout';
import { checkFuHuaQiToken } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam';
import { STATEENUM } from '../../config/enum';
export function setRouter(httpServer) {
/** 任务 */
/** 国际化 */
httpServer.post('/fuhuaqi/institutionalnature/i18n/add', checkFuHuaQiToken, asyncHandler(addRegister));
httpServer.post('/fuhuaqi/institutionalnature/i18n/update', checkFuHuaQiToken, asyncHandler(updateRegister));
httpServer.post('/fuhuaqi/institutionalnature/i18n/info', checkFuHuaQiToken, asyncHandler(infoRegister));
......@@ -21,9 +26,30 @@ export function setRouter(httpServer) {
/**技术专业平台 */
httpServer.post('/fuhuaqi/institutionalnature/professionaltechnology/info', checkFuHuaQiToken, asyncHandler(professionalTechnologyInfo));
httpServer.post('/fuhuaqi/institutionalnature/professionaltechnology/update', checkFuHuaQiToken, asyncHandler(updateProfessionalTechnology));
/**入口数据概览 */
httpServer.post('/fuhuaqi/institutionalnature/overview', checkFuHuaQiToken, asyncHandler(institutionAlnatureOverview));
/**大学科研院所合作机构 */
httpServer.post('/fuhuaqi/institutionalnature/icr/add', checkFuHuaQiToken, asyncHandler(addICR));
httpServer.post('/fuhuaqi/institutionalnature/icr/update', checkFuHuaQiToken, asyncHandler(updateICR));
httpServer.post('/fuhuaqi/institutionalnature/icr/info', checkFuHuaQiToken, asyncHandler(icrInfo));
httpServer.post('/fuhuaqi/institutionalnature/icr/list', checkFuHuaQiToken, asyncHandler(icrList));
httpServer.post('/fuhuaqi/institutionalnature/icr/delete', checkFuHuaQiToken, asyncHandler(deleteICR));
/**创业导师 */
httpServer.post('/fuhuaqi/institutionalnature/startupteacher/add', checkFuHuaQiToken, asyncHandler(addStartupTeacher));
httpServer.post('/fuhuaqi/institutionalnature/startupteacher/update', checkFuHuaQiToken, asyncHandler(updateStartupTeacher));
httpServer.post('/fuhuaqi/institutionalnature/startupteacher/info', checkFuHuaQiToken, asyncHandler(startupTeacherInfo));
httpServer.post('/fuhuaqi/institutionalnature/startupteacher/list', checkFuHuaQiToken, asyncHandler(startupTeacherList));
httpServer.post('/fuhuaqi/institutionalnature/startupteacher/delete', checkFuHuaQiToken, asyncHandler(deleteStartupTeacher));
/**张江以外布局情况 */
httpServer.post('/fuhuaqi/institutionalnature/zjbeyondlayout/add', checkFuHuaQiToken, asyncHandler(addZJBeyondLayout));
httpServer.post('/fuhuaqi/institutionalnature/zjbeyondlayout/update', checkFuHuaQiToken, asyncHandler(updateZJBeyondLayout));
httpServer.post('/fuhuaqi/institutionalnature/zjbeyondlayout/info', checkFuHuaQiToken, asyncHandler(ZJBeyondLayoutInfo));
httpServer.post('/fuhuaqi/institutionalnature/zjbeyondlayout/list', checkFuHuaQiToken, asyncHandler(ZJBeyondLayoutList));
httpServer.post('/fuhuaqi/institutionalnature/zjbeyondlayout/delete', checkFuHuaQiToken, asyncHandler(deleteZJBeyondLayout));
}
/**
* 创建 国际化登记
* @param req
......@@ -34,7 +60,7 @@ async function addRegister(req, res) {
let { country, partners, cMode, cAchievements } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.createI18nRegister(Uscc, country, partners, cMode, cAchievements);
let result = await i18nRegisterBiz.createI18nRegister(Uscc, country, partners, cMode, cAchievements);
res.success(result);
......@@ -50,7 +76,7 @@ async function updateRegister(req, res) {
let { country, partners, cMode, cAchievements, id } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.updateI18nRegister(Uscc, id, country, partners, cMode, cAchievements);
let result = await i18nRegisterBiz.updateI18nRegister(Uscc, id, country, partners, cMode, cAchievements);
res.success(result);
......@@ -64,7 +90,7 @@ async function updateRegister(req, res) {
async function infoRegister(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
let result = await institutionalNatureBiz.selectI18nRegisterInfo(id);
let result = await i18nRegisterBiz.selectI18nRegisterInfo(id);
res.success(result);
......@@ -78,7 +104,7 @@ async function infoRegister(req, res) {
async function listRegister(req, res) {
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.i18nRegisterListData(Uscc);
let result = await i18nRegisterBiz.i18nRegisterListData(Uscc);
res.success(result);
......@@ -94,7 +120,7 @@ async function deleteRegister(req, res) {
let { id } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.deleteI18nRegisterInfo(id);
let result = await i18nRegisterBiz.deleteI18nRegisterInfo(id);
res.success(result);
......@@ -109,7 +135,7 @@ async function deleteRegister(req, res) {
async function PTPInfo(req, res) {
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.getFuHuaQiPTP(Uscc);
let result = await instiuQualifyBiz.getFuHuaQiPTP(Uscc);
res.success(result);
}
......@@ -120,12 +146,12 @@ async function PTPInfo(req, res) {
* @param res
*/
async function updatePTP(req, res) {
let reqConf = {isCreatePTP: 'Boolean', scalePTP:'Number', isParticipateInPTP:'Boolean' };//这里可以填0
let { isCreatePTP, scalePTP, isParticipateInPTP } = eccReqParamater(reqConf, req.body, ["scalePTP", "isParticipateInPTP"]);
if (isCreatePTP) eccReqParamater(reqConf, req.body, []);
let reqConf = {isCreatePTP: 'Boolean', scalePTP:'Number', isParticipateInPTP:'Boolean', participatingFundCompany:'String' };
let { isCreatePTP, scalePTP, isParticipateInPTP, participatingFundCompany } = eccReqParamater(reqConf, req.body, ["scalePTP", "isParticipateInPTP" ,"participatingFundCompany"]);
if (isCreatePTP == STATEENUM.) eccReqParamater(reqConf, req.body, []);
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.updatePTPInfo(Uscc, isCreatePTP, scalePTP, isParticipateInPTP);
let result = await instiuQualifyBiz.updatePTPInfo(Uscc, isCreatePTP, scalePTP, isParticipateInPTP, participatingFundCompany);
res.success(result);
}
......@@ -141,7 +167,7 @@ async function updatePTP(req, res) {
async function professionalTechnologyInfo(req, res) {
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.getProfessionalTechnology(Uscc);
let result = await instiuQualifyBiz.getProfessionalTechnology(Uscc);
res.success(result);
}
......@@ -158,11 +184,257 @@ async function updateProfessionalTechnology(req, res) {
};
let skipList = ["professionalTechnologyName", "professionalTechnologyCreateTime", "professionalTechnologyAmount", "isCooperation", "cooperationInstitutions"];
let { isProfessionalTechnology, professionalTechnologyName, professionalTechnologyCreateTime, professionalTechnologyAmount, isCooperation, cooperationInstitutions} = eccReqParamater(reqConf, req.body, skipList);
if (isProfessionalTechnology) eccReqParamater(reqConf, req.body, []);
if (isProfessionalTechnology == STATEENUM.) eccReqParamater(reqConf, req.body, []);
const Uscc = req.headers.uscc;
let result = await instiuQualifyBiz.updateProfessionalTechnology(Uscc, isProfessionalTechnology, professionalTechnologyName, professionalTechnologyCreateTime, professionalTechnologyAmount, isCooperation, cooperationInstitutions);
res.success(result);
}
/**
* 创建 大学/科研院所合作机构
* @param req
* @param res
*/
async function addICR(req, res) {
let reqConf = {po:"String", ce:"String", cMode:"[Number]", cAchievements:"String", startTimeMs:"Number"};
let { po, ce, cMode, cAchievements, startTimeMs } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await icrBiz.createIcr(Uscc, po, ce, cMode, cAchievements, startTimeMs);
res.success(result);
}
/**
* 修改 大学/科研院所合作机构
* @param req
* @param res
*/
async function updateICR(req, res) {
let reqConf = {id:"String", po:"String", ce:"String", cMode:"[Number]", cAchievements:"String", startTimeMs:"Number"};
let {id, po, ce, cMode, cAchievements, startTimeMs } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await icrBiz.updateIcr(Uscc, id, po, ce, cMode, cAchievements, startTimeMs);
res.success(result);
}
/**
* 回显 大学/科研院所合作机构
* @param req
* @param res
*/
async function icrInfo(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
let result = await icrBiz.selectIcr(id);
res.success(result);
}
/**
* 查询列表 大学/科研院所合作机构
* @param req
* @param res
*/
async function icrList(req, res) {
const Uscc = req.headers.uscc;
let result = await icrBiz.getIcrListData(Uscc);
res.success(result);
}
/**
* 删除 大学/科研院所合作机构
* @param req
* @param res
*/
async function deleteICR(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await icrBiz.deleteIcr(id);
res.success(result);
}
/**
* 创建 创业导师
* @param req
* @param res
*/
async function addStartupTeacher(req, res) {
let reqConf = {teacherName:"String", unit:"String", duties:"String", speciality:"[Number]", teacherLv:"Number", serviceEnterprises:"String"};
let { teacherName, unit, duties, speciality, teacherLv, serviceEnterprises } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await startupTeacherBiz.createStartUpTeacher(Uscc, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises);
res.success(result);
}
/**
* 修改 创业导师
* @param req
* @param res
*/
async function updateStartupTeacher(req, res) {
let reqConf = {id:"String", teacherName:"String", unit:"String", duties:"String", speciality:"[Number]", teacherLv:"Number", serviceEnterprises:"String"};
let {id, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await startupTeacherBiz.updateStartUpTeacher(Uscc, id, teacherName, unit, duties, speciality, teacherLv, serviceEnterprises);
res.success(result);
}
/**
* 回显 创业导师
* @param req
* @param res
*/
async function startupTeacherInfo(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
let result = await startupTeacherBiz.selectStartUpTeacher(id);
res.success(result);
}
/**
* 查询列表 创业导师
* @param req
* @param res
*/
async function startupTeacherList(req, res) {
const Uscc = req.headers.uscc;
let result = await startupTeacherBiz.getStartUpTeacherListData(Uscc);
res.success(result);
}
/**
* 删除 创业导师
* @param req
* @param res
*/
async function deleteStartupTeacher(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await institutionalNatureBiz.updateProfessionalTechnology(Uscc, isProfessionalTechnology, professionalTechnologyName, professionalTechnologyCreateTime, professionalTechnologyAmount, isCooperation, cooperationInstitutions);
let result = await startupTeacherBiz.deleteStartUpTeacher(id);
res.success(result);
}
/**
* 创建 张江以外布局
* @param req
* @param res
*/
async function addZJBeyondLayout(req, res) {
let reqConf = {city:"String", area:"Number", operationMode:"Number"};
let { city, area, operationMode } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await zjBeyondLayoutBiz.createZJBeyondLayout(Uscc, city, area, operationMode);
res.success(result);
}
/**
* 修改 张江以外布局
* @param req
* @param res
*/
async function updateZJBeyondLayout(req, res) {
let reqConf = {id:"String", city:"String", area:"Number", operationMode:"Number"};
let {id, city, area, operationMode } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await zjBeyondLayoutBiz.updateZJBeyondLayout(Uscc, id, city, area, operationMode );
res.success(result);
}
/**
* 回显 张江以外布局
* @param req
* @param res
*/
async function ZJBeyondLayoutInfo(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
let result = await zjBeyondLayoutBiz.selectZJBeyondLayout(id);
res.success(result);
}
/**
* 查询列表 张江以外布局
* @param req
* @param res
*/
async function ZJBeyondLayoutList(req, res) {
const Uscc = req.headers.uscc;
let result = await zjBeyondLayoutBiz.getZJBeyondLayoutListData(Uscc);
res.success(result);
}
/**
* 删除 张江以外布局
* @param req
* @param res
*/
async function deleteZJBeyondLayout(req, res) {
let reqConf = {id: 'String' };//这里可以填0
let { id } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await zjBeyondLayoutBiz.deleteZJBeyondLayout(id);
res.success(result);
}
/**
* 机构资质 概览
* @param req
* @param res
*/
async function institutionAlnatureOverview(req, res) {
const Uscc = req.headers.uscc;
let result = await instiuQualifyBiz.overview(Uscc);
res.success(result);
}
\ No newline at end of file
......@@ -3,7 +3,7 @@
*/
import * as asyncHandler from 'express-async-handler';
import { FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS, INSIDESTATE, VIRTUALCAUSE, MOVEOUTTYPE, MOVEOUTCAUSE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, ENTERPRISETEAM, LISTINGSITUATION, BUSINESSDATATYPE } from '../config/enum';
import { FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS, INSIDESTATE, VIRTUALCAUSE, MOVEOUTTYPE, MOVEOUTCAUSE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, ENTERPRISETEAM, LISTINGSITUATION, BUSINESSDATATYPE, COOPERATIONMODE, SPECIALITY, TEACHERLV, ZJBEYONDLAYOUTOPERATIONMODE } from '../config/enum';
export function setRouter(httpServer) {
httpServer.post('/public/fuhuaqilv', asyncHandler(getFuHuaQiLv));
......@@ -28,10 +28,89 @@ export function setRouter(httpServer) {
httpServer.post('/public/enterpriseteam', asyncHandler(initTeam) );
httpServer.post('/public/listingsituation', asyncHandler(listingSituation) );
httpServer.post('/public/businessdatatype', asyncHandler(businessDataType) );
/**3.1 */
httpServer.post('/public/cooperationmode', asyncHandler(cooperationMode) );
httpServer.post('/public/speciality', asyncHandler(speciality) );
httpServer.post('/public/teacherlv', asyncHandler(teacherLv) );
httpServer.post('/public/zjbeyondlayoutoperationmode', asyncHandler(zjBeYondLayoutOperationMode) );
}
/**
* 小程序端 合作方式
* @param req
* @param res
*/
function cooperationMode(req, res) {
let dataList = [];
for (let key in COOPERATIONMODE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:COOPERATIONMODE[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 专业特长
* @param req
* @param res
*/
function speciality(req, res) {
let dataList = [];
for (let key in SPECIALITY) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
if (keyStr == "科技金融_风险投资_" || keyStr == "科技金融_其他_" || keyStr == "技术专家_法律专家_") {
keyStr = keyStr.replace("_","(");
keyStr = keyStr.replace("_",")");
}
dataList.push({key:keyStr, value:SPECIALITY[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 导师等级
* @param req
* @param res
*/
function teacherLv(req, res) {
let dataList = [];
for (let key in TEACHERLV) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:TEACHERLV[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 张江以外布局运营模式
* @param req
* @param res
*/
function zjBeYondLayoutOperationMode(req, res) {
let dataList = [];
for (let key in ZJBEYONDLAYOUTOPERATIONMODE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:ZJBEYONDLAYOUTOPERATIONMODE[key]});
}
}
res.success({dataList});
}
/**
* 小程序端 经营数据类型
* @param req
* @param res
......
......@@ -11,6 +11,7 @@ import * as mobileClientMonthRouters from './mobileClient/month';
import * as mobileClientUserRouters from './mobileClient/user';
import * as mobileClientBusinessRouters from './mobileClient/business';
import * as institutionalNatureRouters from './mobileClient/institutionalNature';
import * as filesRouters from './admin/files';
import * as adminEnterpriseRouters from './admin/enterprise';
import * as adminFuHuaQiRouters from './admin/fuHuaQi';
......@@ -47,6 +48,7 @@ export function setRouter(httpServer){
adminScoreRouters.setRouter(httpServer);
adminTaskRouters.setRouter(httpServer);
informationRouters.setRouter(httpServer);
filesRouters.setRouter(httpServer);
/**系统维护 入口路由 */
provideRouters.setRouter(httpServer);
/**小程序企业端 入口路由 */
......
......@@ -237,4 +237,17 @@ export function getLastQuarter() {
export function getI18nRegisterId(uscc:string) {
return md5(`${uscc}${new Date().valueOf() }${Math.ceil(Math.ceil(Math.random() * 1000000))}`);
}
export function getPolicyBGImgId() {
return `bgImg_${md5(`bgImg${new Date().valueOf()}${Math.ceil(Math.ceil(Math.random() * 1000000))}`)}`
}
/**
* 获取随机id
* @param uscc
*/
export function getRandomId(uscc:string) {
return md5(`${uscc}${new Date().valueOf() }${Math.ceil(Math.ceil(Math.random() * 1000000))}`);
}
\ No newline at end of file
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