Commit fe98d761 by lixinming

4.0版本封版本

parent baf74bdd
/**
* 数据维护 主要逻辑
* 作者:lxm
*/
import { BUSINESSDATATYPE, DATAMAINTENANCETYPE, ENTERPRISEBUSINESSTYPE, FUHUASTATE, MOVEOUTCAUSE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, MOVEOUTTYPE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum";
import { findEnterpriseByUscc, findEnterpriseCount, findEnterpriseList, findEnterpriseListToPage } from "../../data/enterprise/enterprise";
import { findBusinessDataByParams, findBusinessDataByParamsToPage, findBusinessDataByTimeAndUscc, findBusinessDataCountByParamsToPage } from "../../data/enterprise/quarterTask/businessdata";
import { findReplenishDataByParam, selectOnceRepleishData } from "../../data/enterprise/replenish";
import { BizError } from "../../util/bizError";
import { eccEnumValue } from "../../util/verificationEnum";
import { eccReqParamater } from "../../util/verificationParam";
import * as sysTools from "../../tools/system";
import { addDataMaintenanceLog } from "../../data/guanWeiHui/dataMaintenanceLog";
export async function getEnterpriseListToOutputEnterprise(fuHuaQiUscc:string, enterpriseName:string, page:number) {
let selectParam:any = {state:{"$ne":FUHUASTATE.迁出} };
if (fuHuaQiUscc) selectParam.fuHuaQiUscc = fuHuaQiUscc;
if (enterpriseName) selectParam.name = {"$regex":`${enterpriseName}`};
let enterpriseList = await findEnterpriseListToPage(selectParam, (page - 1) * 10 );
let dataCount = await findEnterpriseCount(selectParam);
let dataList = [];
enterpriseList.forEach(info => {
let {name, uscc} = info;
dataList.push({
name,
uscc,
moveOutType:0,// 迁出类型 遵循 MOVEOUTTYPE 的值 ----2.0
moveOutTrace:0,//迁出去向 遵循 MOVEOUTTRACE 的值 ----2.3
moveOutCause:[],//迁出原因 遵循 MOVEOUTCAUSE 的值 ----2.0
});
});
return {dataList, count:dataCount, pageCount:Math.ceil(dataCount/10) }
}
export async function outputEnterpriseByList(userId:string, enterpriseList) {
if (enterpriseList.length > 10) throw new BizError(ERRORENUM.不合规操作);
let logStr = "";
for (let i = 0; i <enterpriseList.length; i++) {
let {uscc, moveOutType, moveOutTrace, moveOutCause} = enterpriseList[i];
/**校验参数 */
if (!uscc || !moveOutType) throw new BizError(ERRORENUM.缺少关键参数导致修改失败, `uscc:${uscc}, moveOutType:${moveOutType}`);
eccEnumValue("批量导出企业", `第${i+1}个数据`, MOVEOUTTYPE, moveOutType);
if (!MOVEOUTTYPE.企业注销) {
eccReqParamater({moveOutTrace:"Number", moveOutCause:"[Number]" }, {moveOutTrace, moveOutCause} );
eccEnumValue('修改企业孵化状态', '修改为迁出', MOVEOUTTRACE, moveOutTrace);
eccEnumValue('修改企业孵化状态', '修改为迁出', MOVEOUTCAUSE, moveOutCause);
/**根据 不同的迁出类型 校验不同的迁出原因枚举 */
if (moveOutType == MOVEOUTTYPE.毕业迁出) {
moveOutCause = [moveOutCause[0]];//非毕业迁出是单选
eccEnumValue('修改企业孵化状态', '修改为迁出', MOVEOUTCAUSECLIENT, moveOutCause);
}
if (moveOutType == MOVEOUTTYPE.非毕业迁出) {
eccEnumValue('修改企业孵化状态', '修改为迁出', MOVEOUTCAUSENOTCLIENT, moveOutCause);
}
} else {
moveOutTrace = 0;
moveOutCause = [];
}
/**通过校验后开始修改数据 */
let enterpriseInfo = await findEnterpriseByUscc(uscc);
let notEnterPriseCountStr = '';
if (!enterpriseInfo || !enterpriseInfo.uscc) {
notEnterPriseCountStr += `${uscc};`;
continue;
}
enterpriseInfo.moveOutType = moveOutType;
enterpriseInfo.moveOutCause = moveOutCause;
enterpriseInfo.moveOutTrace = moveOutTrace;
enterpriseInfo.moveOutTime = new Date().valueOf();
enterpriseInfo.state = FUHUASTATE.迁出;
/**修改为迁出时,需要把实体的和虚拟的字段清空 */
enterpriseInfo.virtualCause = null;//虚拟孵化模式
enterpriseInfo.virtualCauseDes = "";//虚拟孵化原因
enterpriseInfo.leasedArea = 0;//租赁面积
await enterpriseInfo.save();
logStr += ` ${uscc}|${moveOutType}|${moveOutCause}|${JSON.stringify(moveOutTrace)}; `
}
/**加入日志 */
if (logStr != "") {
await addDataMaintenanceLog(DATAMAINTENANCETYPE.迁出管理, userId, "迁出:"+logStr)
}
return {isSuccess:true};
}
export async function enterpriseBusinessDataList(fuHuaQiUscc:string, year:number, quarter:number, type:number, enterpriseName:string, page:number) {
let businessList = [];
let dataCount = 0;
if (type == ENTERPRISEBUSINESSTYPE.季度任务填报) {
let selectParam:any = {fuHuaQiUscc, year, quarter, '$or':[{"isSubmit":true}, {"fhqIsSubmit":true}] };
if (enterpriseName) selectParam.name = {"$regex":`${enterpriseName}`};
let dataBaseList = await findBusinessDataByParamsToPage(selectParam, (page - 1)*10 );
dataCount = await findBusinessDataCountByParamsToPage(selectParam);
dataBaseList.forEach(info => {
let { BI, RD, TXP, name, uscc} = info;
businessList.push({BI, RD, TXP, name, uscc});
});
} else {
let combinationList = await getCombinationList(fuHuaQiUscc, year, quarter, enterpriseName);
dataCount =combinationList.length;
businessList = combinationList.slice((page-1)*10, page*10 );
}
return {dataList:businessList, count:dataCount, pageCount:Math.ceil(dataCount/10) };
}
async function getCombinationList(fuHuaQiUscc:string, year:number, quarter:number, enterpriseName:string) {
let enterpriseList = await findEnterpriseList({fuHuaQiUscc});
let idMap = {}
enterpriseList.forEach(info => {
let {uscc, name} = info;
if ((enterpriseName && name.indexOf(enterpriseName) > -1) || !enterpriseName) {
idMap[info.uscc] = {uscc, name};
}
});
enterpriseList.splice(0, enterpriseList.length);
let replenList = await findReplenishDataByParam({year, quarter});
let result = {};
replenList.forEach(info => {
let {uscc, type, value} = info;
if (idMap[uscc]) {
if (!result[uscc]) result[uscc] = {uscc, name:idMap[uscc].name};
switch(type) {
case BUSINESSDATATYPE.研发投入:
result[uscc]['RD'] = value;
break;
case BUSINESSDATATYPE.纳税:
result[uscc]['TXP'] = value;
break;
case BUSINESSDATATYPE.营业收入:
result[uscc]['BI'] = value;
break;
}
}
});
return Object.values(result);
}
export async function updateEnterpriseBusinessData(userId:string, uscc:string, RD:number, TXP:number, BI:number, year:number, quarter:number, type:number) {
let logStr = "";
if (type == ENTERPRISEBUSINESSTYPE.季度任务填报) {
let subLogStr = "";
let businessdata = await findBusinessDataByTimeAndUscc(uscc, year, quarter);
if (BI != undefined) {
businessdata.BI = BI;
subLogStr += ` BI:${BI}| `
}
if (RD != undefined) {
businessdata.RD = RD;
subLogStr += ` RD:${RD}| `
}
if (TXP != undefined) {
businessdata.TXP = TXP;
subLogStr += ` TXP:${TXP}| `
}
if (subLogStr != "") {
logStr = `季度任务数据修改内容: ${subLogStr}`;
await businessdata.save();
}
} else {
let conf = [
{subType:BUSINESSDATATYPE.研发投入, key:"RD"},
{subType:BUSINESSDATATYPE.纳税, key:"TXP"},
{subType:BUSINESSDATATYPE.营业收入, key:"BI"}
];
let subLogStr = "";
let data = {RD, TXP, BI};
for (let i = 0; i < conf.length; i++) {
let subInfo = conf[i];
if (data[subInfo.key] == undefined) continue;
let dataInfo = await selectOnceRepleishData(uscc, subInfo.subType, year, quarter);
dataInfo.value = data[subInfo.key];
subLogStr += `${subInfo.key}:${data[subInfo.key]}| `
await dataInfo.save();
}
if (subLogStr != "") logStr = `补充经营数据修改内容: ${subLogStr}`;
}
if (logStr != "") {
await addDataMaintenanceLog(DATAMAINTENANCETYPE.迁出管理, userId, logStr);
}
return {isSuccess:true};
}
export async function getEnterprisePwdList(uscc:string) {
let dataBaseList = await findEnterpriseList({uscc});
let dataList = [];
dataBaseList.forEach(info => {
let {name, uscc} = info;
dataList.push({name, uscc});
});
return {dataList};
}
export async function resettingEnterprisePwd(userId:string, uscc:string) {
let enterpriseInfo = await findEnterpriseByUscc(uscc);
if (!enterpriseInfo) throw new BizError(ERRORENUM.不合规操作);
enterpriseInfo.pwd = sysTools.getPwdMd5(enterpriseInfo.uscc, sysTools.md5PwdStr(uscc.slice(uscc.length-6)));
enterpriseInfo.firstLoginIsChangePwd = false;
await enterpriseInfo.save();
await addDataMaintenanceLog(DATAMAINTENANCETYPE.重置企业密码, userId, `重置密码: ${uscc}|${enterpriseInfo.pwd}`);
return {isSuccess:true};
}
\ No newline at end of file
......@@ -12,6 +12,7 @@ import * as verificationEnumTools from "../../../util/verificationEnum";
import * as businessData from "../../../data/enterprise/quarterTask/businessdata";
import * as initialTeamData from "../../../data/enterprise/initialTeam";
import moment = require("moment");
import { findEnterpriseNewTeamData } from "../../../data/enterprise/quarterTask/team";
/**
......@@ -82,6 +83,32 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
changeData.classIPatent = intellectualProperty.classIPatent || 0;
changeData.secondClassPatent = intellectualProperty.secondClassPatent || 0;
if (changeData.qualification) {
let onceData = changeData.qualification;
let beOnTheMarket = "无上市";
if (changeData.qualification.beOnTheMarket){
beOnTheMarket = verificationEnumTools.changeEnumValue( configEnum.FINANCINGROUNDS, onceData.beOnTheMarket)
}
let qualificationList = [{
beOnTheMarket,
highTechMs: onceData.highTechMs ? new Date(onceData.highTechMs).getFullYear() : '未认证',//高新技术
zjtxMs: onceData.zjtxMs ? new Date(onceData.zjtxMs).getFullYear() : '未认证',//专精特新
xjrpyMs: onceData.xjrpyMs ? new Date(onceData.xjrpyMs).getFullYear() : '未认证',//小巨人培育
xjrMs: onceData.xjrMs ? new Date(onceData.xjrMs).getFullYear() : '未认证',//小巨人
}];
changeData.qualification = qualificationList;
} else {
changeData.qualification = [{
beOnTheMarket:"无上市",
highTechMs: '未认证',//高新技术
zjtxMs: '未认证',//专精特新
xjrpyMs: '未认证',//小巨人培育
xjrMs: '未认证',//小巨人
}]
}
dataList.push(changeData);
});
......@@ -334,14 +361,14 @@ export async function getBusinessDataList(name:string, year:number, quarter:numb
}
let dataBaseList = await businessData.findBusinessDataByParamsToPage(selectParam, (page-1)*10);
let dataCount = await businessData.findBusinessDataCountByParamsToPage(selectParam);
let dataList = [];
dataBaseList.forEach(info => {
let changeData = extractData(splitResultConfig.EnterpriseBusinessDataConfig, info, true);
dataList.push(changeData);
});
return { dataList };
return { dataList, count:dataCount, pageCount:Math.ceil(dataCount/10) };
}
......@@ -469,3 +496,33 @@ export async function outPutInitialTeamList(name:string, member:string, memberTy
return { dataList, fileName };//todo
}
export async function getEnterpriseTeamInfoList(uscc:string) {
let teamInfo = await findEnterpriseNewTeamData(uscc);
let onceInfo;
if (!teamInfo) {
onceInfo = {
doctor:"未填报",//博士
master:"未填报",//硕士
undergraduate:"未填报",//本科
juniorCollege:"未填报",//专科
other:"未填报",//其他
count:"未填报",
studyAbroad:"未填报",//留学人数
graduates:"未填报",//应届毕业生
};
} else {
onceInfo = {
doctor:teamInfo.doctor || 0,
master:teamInfo.master || 0,
undergraduate:teamInfo.undergraduate || 0,
juniorCollege:teamInfo.juniorCollege || 0,
other:teamInfo.other || 0,
studyAbroad:teamInfo.studyAbroad || 0,
graduates:teamInfo.graduates || 0
};
onceInfo.count = teamInfo.doctor + teamInfo.master + teamInfo.undergraduate + teamInfo.juniorCollege + teamInfo.other;
}
let dataList = [onceInfo];
return {dataList};
}
\ No newline at end of file
......@@ -22,7 +22,7 @@ export async function login(loginId:string, pwd:string) {
let userInfo = await findGuanWeiHuiUserInfoByLoginId(loginId);
if(!userInfo) throw new BizError(ERRORENUM.账号不存在, loginId);
let checkPwd = getPwdMd5(userInfo.loginId, pwd);
let checkPwd = getPwdMd5(loginId, pwd);
if (userInfo.pwd != checkPwd) throw new BizError(ERRORENUM.密码错误);
const Token = getToken(loginId);
......
......@@ -31,10 +31,9 @@ export async function getHomePageHeaderData(uscc:string) {
//企业名称
let name = enterpriseInfo.name;
//团队总数
let newTeamInfo = await findEnterpriseNewTeamData(uscc);
let teamInfo = Object.keys(newTeamInfo).length > 0 ? newTeamInfo : {doctor:0, master:0, undergraduate:0, juniorCollege:0, other:0 };
//团队总数
let memberCount = teamInfo.doctor + teamInfo.master+ teamInfo.undergraduate+ teamInfo.juniorCollege+ teamInfo.other;
let initialTeam = enterpriseInfo.haveFirstClassTalent == STATEENUM.未选 || !enterpriseInfo.haveFirstClassTalent;//创始团队缺失 true=缺失
......
......@@ -107,6 +107,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
let lastYear = parseInt( moment().subtract(1, 'year').format("YYYY") );
/**获取去年正常填报数据 */
let resultData = [0,0,0,0];
let lastYearData = await findBusinessDataByUsccAndYear(uscc, lastYear);
lastYearData.forEach(info => {
......@@ -125,8 +126,8 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
let checkMap = {};
data.forEach((val, index) => {
if (index > 4) return;
if (resultData[index] == 0 && val>0) {
if (index >= 4) return;
if (resultData[index] == 0) {
checkMap[index+1] = val;
}
});
......
......@@ -148,7 +148,7 @@ export async function completedList(uscc:string, year:number, quarter:number) {
typeNumber:ENTERPRISEDECLARATIONTYPE.经营状况,
});
}
if (teamsDataInfo && teamsDataInfo.isSubmit) {
if (teamsDataInfo && (teamsDataInfo.isSubmit || teamsDataInfo.fhqIsSubmit) ) {
dataList.push(
{
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息),
......
......@@ -8,6 +8,7 @@ import { ERRORENUM } from "../../config/errorEnum";
import * as sysTools from "../../tools/system";
import { BizError } from "../../util/bizError";
import * as enterpriseData from "../../data/enterprise/enterprise";
import moment = require("moment");
/**
* 企业登录
......@@ -20,6 +21,10 @@ export async function enterpriseLogin(uscc:string, pwd:string) {
let enterpriseInfo = await enterpriseData.findEnterpriseByUscc(uscc);
if (!enterpriseInfo) throw new BizError(ERRORENUM.账号不存在);
if ( moment(enterpriseInfo.createTime).format("YYYY-MM") == moment().format("YYYY-MM") ) {
throw new BizError(ERRORENUM.企业审批中请下个自然月登录);
}
let checkPwd = sysTools.getPwdMd5(enterpriseInfo.uscc, pwd);
if (enterpriseInfo.pwd != checkPwd) throw new BizError(ERRORENUM.密码错误);
......
......@@ -2,6 +2,7 @@
* 孵化器经营数据填报
*
*/
import moment = require("moment");
import * as eccFormParamConfig from "../../../config/eccParam/fuHuaQi";
import { ERRORENUM } from "../../../config/errorEnum";
import { FuHuaQiBusinessDataInfoConfig } from "../../../config/splitResultConfig";
......@@ -87,6 +88,22 @@ export async function selectBusiness(uscc:string) {
/**
* 获取当前时间的 填报年度 和 填报季度
* 即:获取上一个季度
* @returns declarationYear:数据填报年 declarationQuarter:数据填报季度
*/
function getDeclarationTime() {
let thisYear = new Date().getFullYear();
let thisQuarter = moment().quarter();//当月填报季度
if ( (thisQuarter - 1) < 1 ) {
thisYear = moment().subtract(1, 'years').year();
thisQuarter = 4;
} else thisQuarter = thisQuarter - 1;
return {declarationYear:thisYear, declarationQuarter:thisQuarter};
}
/**
* 孵化器修改经营数据
* @param uscc 孵化器统一信用代码
* @param param 参数
......@@ -99,7 +116,10 @@ export async function updateBusiness(uscc:string, param) {
let businessInfo = await findBusinessByTaskId(TaskId);
/**不可以重复创建 */
if ( !businessInfo.isUpdate ) throw new BizError(ERRORENUM.请先填报数据, `孵化器 ${uscc}调用修改接口时经营数据不存在`);
if ( businessInfo.draftLock ) throw new BizError(ERRORENUM.已提交的数据不能进行操作, `孵化器 ${uscc}尝试 修改 已经提交的经营数据`);
let {declarationQuarter, declarationYear} = getDeclarationTime();
if ( businessInfo.quarter != declarationQuarter || businessInfo.year != declarationYear ) throw new BizError(ERRORENUM.已提交的数据不能进行操作, `孵化器 ${uscc}尝试 修改 已经提交的经营数据`);
/**更新状态和数据 */
......
......@@ -437,3 +437,18 @@ export enum ZJBEYONDLAYOUTOPERATIONMODE {
品牌输出,
其他
}
/**
* 经营数据填报类型
*/
export enum ENTERPRISEBUSINESSTYPE {
补充经营数据填报 = 1,
季度任务填报,
}
export enum DATAMAINTENANCETYPE {
迁出管理 = 1,
经营数据 = 2,
重置企业密码 = 3
}
\ No newline at end of file
......@@ -68,6 +68,9 @@ export enum ERRORENUM {
只能上传pngjpg图片,
文件上传失败,
系统错误请联系管理员,
企业审批中请下个自然月登录,
缺少关键参数导致修改失败,
不合规操作
}
export enum ERRORCODEENUM {
......
......@@ -121,6 +121,7 @@ export const EnterpriseListConfig = {
state:{key:"孵化状态"},
virtualCause:{key:"虚拟孵化模式"},
intellectualProperty:{key:"知识产权"},
qualification:{key:"企业资质"}
};
......
......@@ -70,6 +70,14 @@ export async function findBusinessDataByParamsToPage(param, skipNumber) {
}
/**
* 根据条件查询总数
* @param param 查询条件
*/
export async function findBusinessDataCountByParamsToPage(param) {
return await businessDataModel.find(param).countDocuments()
}
/**
* 根据条件查询
* @param param 查询条件
*/
......
......@@ -86,7 +86,7 @@ export async function findTeamDataByUsccAndTime(uscc:string, year:number, quarte
* @returns
*/
export async function findEnterpriseNewTeamData(uscc:string) {
let list = await teamModel.find({ uscc, isSubmit:true }).sort({"createMs":-1}).limit(1);
let list = await teamModel.find({ uscc, "$or":[{isSubmit:true}, {fhqIsSubmit:true}] }).sort({"createMs":-1}).limit(1);
return list[0] || {};
}
......
......@@ -54,6 +54,11 @@ export async function selectRepleishData(uscc:string, year:number) {
return await replenishDataModel.find({uscc, year});
}
export async function selectOnceRepleishData(uscc:string, type:number, year:number, quarter:number ) {
return await replenishDataModel.selectOnceData({uscc, year, type, quarter});
}
export async function findRepleishDataByTypeAndYear(uscc:string, type:number, year:number) {
return await replenishDataModel.find({uscc, type, year});
}
......@@ -68,3 +73,7 @@ export async function findReplenishBusinessDataByYear(uscc:string, startYear:num
return count;
}
export async function findReplenishDataByParam(param) {
return await replenishDataModel.find(param);
}
\ No newline at end of file
......@@ -175,6 +175,19 @@ export async function findAllFuHuaQiOperationNameMap() {
}
/**
* 获取所有运营机构名称的map
* @returns map key:统一信用代码 value:运营机构名称
*/
export async function findFuHuaQiOperationNameMapByParam(param) {
let dataList = await fuHuaQiModel.find(param);
let map = {};
dataList.forEach(info => {
map[info.uscc] = info.operationName;
});
return map;
}
/**
* 获取所有运营机构的map
* @returns map key:运营机构名称 value:uscc
*/
......
......@@ -59,3 +59,11 @@ export async function addData(id:string, uscc:string, name:string, po:string, ce
export async function getCount(uscc:string) {
return await icrModel.find({uscc}).countDocuments();
}
export async function findIcrListByParamToPage(param, skipCount:number) {
return await icrModel.find(param).skip(skipCount).limit(10);;
}
export async function getIcrCountByParam(param) {
return await icrModel.find(param).countDocuments();
}
\ No newline at end of file
......@@ -61,3 +61,11 @@ export async function addData(id:string, uscc:string, name:string, teacherName:s
export async function getCount(uscc:string) {
return await startupTeacherModel.find({uscc}).countDocuments();
}
export async function findStartupTeacherListByParamToPage(param, skipCount:number) {
return await startupTeacherModel.find(param).skip(skipCount).limit(10);;
}
export async function getStartupTeacherCountByParam(param) {
return await startupTeacherModel.find(param).countDocuments();
}
\ No newline at end of file
......@@ -57,3 +57,11 @@ export async function addData(id:string, uscc:string, name:string, city:string,
export async function getCount(uscc:string) {
return await zjBeyondLayoutModel.find({uscc}).countDocuments();
}
export async function findZjBeyondLayoutListByParamToPage(param, skipCount:number) {
return await zjBeyondLayoutModel.find(param).skip(skipCount).limit(10);;
}
export async function getZjBeyondLayoutCountByParam(param) {
return await zjBeyondLayoutModel.find(param).countDocuments();
}
\ No newline at end of file
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
const dataMaintenanceLogSchema = new Schema({
t:{type:Number, index:true },//操作类型 全名nodeType
u: {type:String, index:true},//用户
ms:Number,//操作时间
info:String//操作明细
});
var dataMaintenanceLogModel;
export function initModel(){
dataMaintenanceLogModel = baseDB.model('dataMaintenanceLog', dataMaintenanceLogSchema);
}
/**
* 添加数据维护操作日志
* @param t
* @param u
* @param info
*/
export async function addDataMaintenanceLog(t:number, u:string, info:string) {
await dataMaintenanceLogModel.create({t, u, info, ms:new Date().valueOf() });
}
......@@ -23,6 +23,7 @@ import * as initialTeamModel from "../../data/enterprise/initialTeam";
import * as guanweihuiModel from "../../data/guanWeiHui/guanweihui";
import * as informationModel from "../../data/guanWeiHui/information";
import * as dataMaintenanceLogModel from "../../data/guanWeiHui/dataMaintenanceLog";
export async function initTable() {
......@@ -49,4 +50,6 @@ export async function initTable() {
initialTeamModel.initModel();
fuHuaQiBusinessDataModel.initModel();
fuHuaQiQuarterTaskModel.initModel();
dataMaintenanceLogModel.initModel();
}
\ No newline at end of file
......@@ -54,7 +54,7 @@ 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;
// req.headers.userid = req.headers.userid;
next();
}
......
/**
* 管理后台端 数据维护相关
*
*/
import * as asyncHandler from 'express-async-handler';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam';
import * as dataMaintenanceBiz from '../../biz/admin/dataMaintenance';
export function setRouter(httpServer) {
httpServer.post('/admin/datamainteance/enterprise/output/list',checkGuanWeiHuiToken, asyncHandler(enterpriseOutputList));
httpServer.post('/admin/datamainteance/enterprise/output/update',checkGuanWeiHuiToken, asyncHandler(upateEnterpriseOutput));
httpServer.post('/admin/datamainteance/enterprise/business/list',checkGuanWeiHuiToken, asyncHandler(enterpriseBusinessList));
httpServer.post('/admin/datamainteance/enterprise/business/update',checkGuanWeiHuiToken, asyncHandler(updateEnterpriseBusiness));
/**企业密码维护 */
httpServer.post('/admin/datamainteance/enterprise/pwd/list',checkGuanWeiHuiToken, asyncHandler(enterprisePwdList));
httpServer.post('/admin/datamainteance/enterprise/pwd/reset',checkGuanWeiHuiToken, asyncHandler(resetEnterprisePwd));
}
async function enterpriseOutputList(req, res) {
let reqConf = {fuHuaQiUscc:'String', page: 'Number', enterpriseName: 'String' };
const NotMustHaveKeys = ["enterpriseName"];
let { fuHuaQiUscc, enterpriseName, page } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await dataMaintenanceBiz.getEnterpriseListToOutputEnterprise(fuHuaQiUscc, enterpriseName, page);
res.success(result);
}
async function upateEnterpriseOutput(req, res) {
let reqConf = {enterpriseList:'[Object]'};
const NotMustHaveKeys = [];
let { enterpriseList } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
const userId = req.headers.userid;
let result = await dataMaintenanceBiz.outputEnterpriseByList(userId, enterpriseList);
res.success(result);
}
async function enterpriseBusinessList(req, res) {
let reqConf = {fuHuaQiUscc:"String", year:"Number", quarter:"Number", type:"Number", enterpriseName:"String", page:"Number"};
const NotMustHaveKeys = ["enterpriseName"];
let { fuHuaQiUscc, year, quarter, type, enterpriseName, page } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await dataMaintenanceBiz.enterpriseBusinessDataList(fuHuaQiUscc, year, quarter, type, enterpriseName, page);
res.success(result);
}
async function updateEnterpriseBusiness(req, res) {
let reqConf = {uscc:"String", RD:"Number", TXP:"Number", BI:"Number", year:"Number", quarter:"Number", type:"Number"};
const NotMustHaveKeys = ["RD", "TXP", "BI"];
let { uscc, RD, TXP, BI, year, quarter, type } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
const userId = req.headers.userid;
let result = await dataMaintenanceBiz.updateEnterpriseBusinessData(userId, uscc, RD, TXP, BI, year, quarter, type);
res.success(result);
}
async function enterprisePwdList(req, res) {
let reqConf = {uscc:"String"};
const NotMustHaveKeys = [];
let { uscc } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await dataMaintenanceBiz.getEnterprisePwdList(uscc);
res.success(result);
}
async function resetEnterprisePwd(req, res) {
let reqConf = {uscc:"String"};
const NotMustHaveKeys = [];
const userId = req.headers.userid;
let { uscc } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await dataMaintenanceBiz.resettingEnterprisePwd(userId, uscc);
res.success(result);
}
......@@ -14,6 +14,7 @@ import { eccReqParamater } from '../../util/verificationParam';
export function setRouter(httpServer) {
httpServer.post('/admin/enterprise/list',checkGuanWeiHuiToken, asyncHandler(getEnterpriseList));
httpServer.post('/admin/enterprise/teaminfo/list',checkGuanWeiHuiToken, asyncHandler(enterpriseTeamInfoList));
httpServer.post('/admin/data/output/enterprise',checkGuanWeiHuiToken, asyncHandler(outPutEnterpriseData));
httpServer.post('/admin/enterprise/financinglist',checkGuanWeiHuiToken, asyncHandler(getFinancingList));
httpServer.post('/admin/data/output/financing',checkGuanWeiHuiToken, asyncHandler(outPutFinancingData));
......@@ -52,6 +53,21 @@ async function getEnterpriseList(req, res) {
/**
* 管理后台 企业库->在孵企业->点击查看团队信息
* @param req
* @param res
*/
async function enterpriseTeamInfoList(req, res) {
let reqConf = {uscc:'String' };
const NotMustHaveKeys = [];
let { uscc } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await enterpriseAdminBiz.getEnterpriseTeamInfoList(uscc);
res.success(result);
}
/**
* 后台管理 获取融资企业信息列表
* @param req
* @param res
......
......@@ -122,5 +122,5 @@ async function outPutQBusinessTaskList(req, res) {
let {dataList, name} = await taskBiz.outPutQuarterTaskDataList(type, state, year, quarter);
let fileName = `孵化器${name}经营数据.xlsx`;
res.success({fileName, dataList});
res.success({name:fileName, data:dataList});
}
\ No newline at end of file
......@@ -20,7 +20,6 @@ export function setRouter(httpServer) {
httpServer.post('/enterprise/datadeclaration/team/add', checkEnterpriseToken, asyncHandler(addTeamData));
httpServer.post('/enterprise/datadeclaration/team/info', checkEnterpriseToken, asyncHandler(teamInfo));
httpServer.post('/enterprise/datadeclaration/team/update', checkEnterpriseToken, asyncHandler(updateTeamData));
}
......
......@@ -20,6 +20,8 @@ import * as adminUserRouters from './admin/user';
import * as adminScoreRouters from './admin/score';
import * as adminTaskRouters from './admin/task';
import * as informationRouters from './admin/information';
import * as instituQualifyRouters from './admin/instituQualify';
import * as dataMaintenanceRouters from './admin/dataMaintenance';
import * as provideRouters from './provide';
......@@ -54,6 +56,9 @@ export function setRouter(httpServer){
adminTaskRouters.setRouter(httpServer);
informationRouters.setRouter(httpServer);
filesRouters.setRouter(httpServer);
instituQualifyRouters.setRouter(httpServer);
dataMaintenanceRouters.setRouter(httpServer);
/**系统维护 入口路由 */
provideRouters.setRouter(httpServer);
/**小程序企业端 入口路由 */
......
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