Commit 18872011 by lixinming

修bug

parent 06eecb4a
......@@ -76,6 +76,11 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
/**将枚举值转为字符 */
changeData.industry = verificationEnumTools.changeEnumValue(configEnum.INDUSTRY, changeData.industry);
let intellectualProperty = changeData.intellectualProperty || {}
changeData.alienPatent = intellectualProperty.alienPatent || 0;
changeData.classIPatent = intellectualProperty.classIPatent || 0;
changeData.secondClassPatent = intellectualProperty.secondClassPatent || 0;
dataList.push(changeData);
});
......
......@@ -13,7 +13,7 @@ import { BizError } from "../../../util/bizError";
import { ERRORENUM } from "../../../config/errorEnum";
import { eccFormParam } from "../../../util/verificationParam";
import { changeEnumValue, eccEnumValue } from "../../../util/verificationEnum";
import { getPwdMd5, md5PwdStr } from "../../../tools/system";
import { changeAddToString, getPwdMd5, md5PwdStr } from "../../../tools/system";
import * as taskTool from "../../../tools/taskTool";
import moment = require("moment");
import * as monthTableData from "../../../data/fuHuaQi/monthTask/monthTable";
......@@ -78,6 +78,11 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
changeData.enterpriseTotal = EnterpriseTotal;
changeData.numOfEntities = numOfEntities < 0 ? 0 : numOfEntities;
/**备案地址转换 */
changeData.splitResultConfig.forEach(info => {
info.personInChargeAddress = changeAddToString(info.personInChargeAddress);
});
/**枚举转换 */
changeData.lv = changeEnumValue(configEnum.FUHUAQILV, changeData.lv);
......
import { OUTPUTTYPE } from "../../../config/enum";
import { findAllFuHuaQiOperationNameMap } from "../../../data/fuHuaQi/fuhuaqi";
import { distinctFuHuaQiRegister, findI18nRegisterListByParam, findI18nRegisterListByParamToPage, getI18nRegisterCountByParam } from "../../../data/fuHuaQi/instituQualify/i18nRegister";
/**
* 国际化已登记列表
* @param name 孵化器运营机构名称 模糊查询
* @param page 页面
* @returns
*/
export async function getI18nRegisterDataList(name:string, page:number) {
let selectParam:any = {};
if (name) selectParam.name = {"$regex":`${name}`};
let dataBaseList = await findI18nRegisterListByParamToPage(selectParam, (page-1)*10);
let count = await getI18nRegisterCountByParam(selectParam);
let dataList = [];
dataBaseList.forEach(info => {
dataList.push({
name:info.name,
country:info.country || '',//国家
partners:info.partners || '',//合作机构
cMode:info.cMode || '',//合作方式
cAchievements:info.cAchievements || '',//合作成果
});
});
return {count, dataList, pageCount:Math.ceil(count/10) };
}
export async function outPutI18nRegisterDataList(name:string) {}
/**
* 国际化未登记列表
* @param name 孵化器运营机构名称 模糊
* @param page 页面
* @returns
*/
export async function getI18nNotRegisterDataList(name:string, page:number) {
let selectParam:any = {};
if (name) selectParam.name = {"$regex":`${name}`};
//填报孵化器列表
let registerMap = await distinctFuHuaQiRegister();
//全部孵化器map
let fuHuaQiMap = await findAllFuHuaQiOperationNameMap();
let notRegisterList = [];
for (let uscc in fuHuaQiMap) {
if (!registerMap[uscc]) notRegisterList.push({
uscc,
name:fuHuaQiMap[uscc],
country: '-',
partners:'-',
cMode:'-',
cAchievements: '-'
});
}
let dataList = notRegisterList.slice((page-1)*10, ((page-1)*10)+10);
let count = notRegisterList.length;
return {count, dataList, pageCount:Math.ceil(count/10) };
}
/**
* 导出 国际化登记列表 (已填报)
* @param name 孵化器运营机构名称
* @param type 导出类型
*/
export async function outPutI18nNotRegisterData(fuHuaQiName:string, type:number) {
let name = "全部";
let selectParam:any = {};
if (type == OUTPUTTYPE.当前数据 ) {
name = "当前";
if (fuHuaQiName) selectParam.name = {"$regex":`${fuHuaQiName}`};
}
let dataBaseList = await findI18nRegisterListByParam(selectParam);
let dataList = [["运营机构名称", "国家", "合作机构","合作方式","合作成果"]];
dataBaseList.forEach(info => {
let subList = [info.name, info.country, info.partners, info.cMode, info.cAchievements ];
dataList.push(subList);
});
return {dataList, name};
}
......@@ -7,6 +7,8 @@ import * as taskData from "../../../data/fuHuaQi/monthTask/task";
import * as fuhuaqiData from "../../../data/fuHuaQi/fuhuaqi";
import { BizError } from "../../../util/bizError";
import { ERRORENUM } from "../../../config/errorEnum";
import { findQuarterTaskByParam, findQuarterTaskByParamToPage } from "../../../data/fuHuaQi/quarterTask/quarterTask";
import { findBusinessByTaskIdList, findBusinessDataByParam, findBusinessDataByParamToPage, findBusinessDataCountByParam } from "../../../data/fuHuaQi/quarterTask/businessData";
/**
......@@ -71,6 +73,7 @@ export async function outPutFinancingTaskList(state:number, time:number, type:nu
selectParam.month = new Date(time).getMonth() + 1;
name = `${selectParam.year}${selectParam.month}月`;
}
name = "当前";
}
let nameMap = await fuhuaqiData.findAllFuHuaQiOperationNameMap();
......@@ -154,6 +157,7 @@ export async function outPutAddEnterpriseTaskList(state:number, time:number, typ
selectParam.month = new Date(time).getMonth() + 1;
name = `${selectParam.year}${selectParam.month}月`;
}
name = "当前";
}
let nameMap = await fuhuaqiData.findAllFuHuaQiOperationNameMap();
......@@ -171,4 +175,96 @@ export async function outPutAddEnterpriseTaskList(state:number, time:number, typ
});
return { dataList, name };
}
\ No newline at end of file
}
/**
* 获取季度任务列表
* @param state
* @param year
* @param quarter
*/
export async function quarterTaskList(state:number, year:number, quarter:number, page:number) {
if ( !(state >=1 || state <=3) ) throw new BizError(ERRORENUM.参数错误, `state状态不合法 不合法值为 ${state}`);
let selectParam:any = {};
if (state == 2) {//提交
selectParam.draftLock = true;
} else {//未提交
selectParam.draftLock = false;
}
if (year) selectParam.year = year;
if (quarter) selectParam.quarter = quarter;
let dataBaseList = await findBusinessDataByParamToPage(selectParam, (page-1)*10);
let fuhuaqiNameMap = await fuhuaqiData.findAllFuHuaQiOperationNameMap();
let dataList = [];
dataBaseList.forEach(info => {
dataList.push({
operationName:fuhuaqiNameMap[info.fuHuaQiUscc],
state:info.draftLock ? "已填报" : "未填报",
time:`${info.year}年第${info.quarter}季度`,
TR:info.TR,
ROR:info.ROR,
RR:info.RR,
FS:info.FS,
MIS:info.MIS,
NP:info.NP,
TP:info.TP
});
});
let count = await findBusinessDataCountByParam(selectParam);
return {count, dataList, pageCount:Math.ceil(count/10) };
}
/**
* 导出季度任务列表
* @param state
* @param year
* @param quarter
*/
export async function outPutQuarterTaskDataList(type:number, state:number, year:number, quarter:number) {
if ( !(state >=1 || state <=3) ) throw new BizError(ERRORENUM.参数错误, `state状态不合法 不合法值为 ${state}`);
let name = "全部";
let selectParam:any = {};
if (type == OUTPUTTYPE.当前数据 ) {
name = "当前";
if (state == 2) {//提交
selectParam.draftLock = true;
} else {//未提交
selectParam.draftLock = false;
}
if (year) selectParam.year = year;
if (quarter) selectParam.quarter = quarter;
}
let dataBaseList = await findBusinessDataByParam(selectParam);
let fuhuaqiNameMap = await fuhuaqiData.findAllFuHuaQiOperationNameMap();
let dataList = [["运营机构名称", "填报状态", "数据填报季度", "综合收入", "投资收入", "租金收入", "财政补贴", "其他", "净利润", "纳税"]];
dataBaseList.forEach(info => {
let itemList = [
fuhuaqiNameMap[info.fuHuaQiUscc],
info.state ? "已填报" : "未填报",
`${info.year}年第${info.quarter}季度`,
info.TR,
info.ROR,
info.RR,
info.FS,
info.MIS,
info.NP,
info.TP
];
dataList.push(itemList);
});
return {dataList, name};
}
import moment = require("moment");
import * as fuhuaqiData from "../../../data/fuHuaQi/fuhuaqi";
import * as monthData from "../../../data/fuHuaQi/monthTable";
import * as monthData from "../../../data/fuHuaQi/monthTask/monthTable";
import * as enterpriseData from "../../../data/enterprise/enterprise";
export async function getTestABI() {
......@@ -16,13 +16,15 @@ export async function getTestABI() {
export async function getAvgOccupancyRate() {
let year = moment().format("YYYY");
let month = moment().subtract(1, 'M').format("M");
let dataBaseList = await monthData.findMonthTableList({year,month:1});
let dataBaseList = await monthData.findMonthTableList({year,month, isUpdate:true, draftLock:true});
let occupancyRate = 0;
dataBaseList.forEach( info => {
if (info.occupancyRate) occupancyRate = occupancyRate + info.occupancyRate;
if (info.occupancyRate) {
occupancyRate = occupancyRate + info.occupancyRate;
}
});
let occupancyRateAvg = Math.round(occupancyRate/dataBaseList.length);
let occupancyRateAvg = dataBaseList.length ? Math.round(((occupancyRate)/dataBaseList.length)) : 0;
return {"孵化器平均出租率": occupancyRateAvg};
}
......@@ -43,7 +45,6 @@ export async function getAcreageTotal() {
}
/**
* 机构性质
* @returns dataList
......
......@@ -119,7 +119,7 @@ export const EnterpriseListConfig = {
isCreate:{key:"新注册/新迁入"},
mainBusiness:{key:"主营业务"},//主营业务
state:{key:"孵化状态"},
virtualCause:{key:"虚拟孵化模式"}
virtualCause:{key:"虚拟孵化模式"},
};
......
......@@ -57,4 +57,21 @@ export async function addRegister(id:string, uscc:string, name:string, country:s
export async function getCount(uscc:string) {
return await i18nRegisterModel.find({uscc}).count();
}
export async function findI18nRegisterListByParamToPage(param, skipCount:number) {
return await i18nRegisterModel.find(param).skip(skipCount).limit(10);;
}
export async function getI18nRegisterCountByParam(param) {
return await i18nRegisterModel.find(param).count();
}
export async function distinctFuHuaQiRegister() {
let list = await i18nRegisterModel.distinct("uscc");
let map = {};
list.forEach(uscc => {
map[uscc] = 1;
});
return map;
}
\ No newline at end of file
......@@ -63,3 +63,28 @@ export async function findBusinessByTaskId(taskId:string) {
export async function findBusinessListByTaskIdAndUpdate(taskId:string, isUpdate:boolean) {
return await fuHuaQiBusinessModel.find({taskId, isUpdate});
}
export async function findBusinessByTaskIdList(idList) {
let res = await fuHuaQiBusinessModel.find({taskId:{"$in":idList}});
let map = {};
res.forEach(info => {
map[info.taskId] = info;
});
return map;
}
export async function findBusinessDataByParamToPage(param, skipCount) {
return await fuHuaQiBusinessModel.find(param).skip(skipCount).limit(10);
}
export async function findBusinessDataCountByParam(param) {
return await fuHuaQiBusinessModel.find(param).count();
}
export async function findBusinessDataByParam(param) {
return await fuHuaQiBusinessModel.find(param);
}
......@@ -69,3 +69,8 @@ export async function findQuarterTaskCountByParam(param) {
export async function createQuarterTaskToList(tableList:object) {
await quarterTaskModel.insertMany(tableList);
}
export async function findQuarterTaskByParamToPage(param, skipCount) {
return await quarterTaskModel.find(param).skip(skipCount).limit(10);
}
......@@ -14,7 +14,7 @@ import { eccReqParamater } from '../../util/verificationParam';
export function setRouter(httpServer) {
httpServer.post('/admin/fuhuaqi/baselist',checkGuanWeiHuiToken, asyncHandler(fuHuaQiBaseList));
httpServer.post('/admin/fuhuaqi/monthoccupancyrate',checkGuanWeiHuiToken, asyncHandler(getMonthList));
httpServer.post('/admin/fuhuaqi/monthoccupancyrate',checkGuanWeiHuiToken, asyncHandler(getMonthList));//月度报表
httpServer.post('/admin/fuhuaqi/userlist',checkGuanWeiHuiToken, asyncHandler(getFuHuaQiUserList));
httpServer.post('/admin/fuhuaqi/updatestate',checkGuanWeiHuiToken, asyncHandler(updateState));
httpServer.post('/admin/fuhuaqi/adduser',checkGuanWeiHuiToken,asyncHandler(addUser));
......@@ -22,6 +22,8 @@ export function setRouter(httpServer) {
httpServer.post('/admin/data/output/month',checkGuanWeiHuiToken, asyncHandler(outPutMonthData));
/**2.0新加 */
httpServer.post('/admin/fuhuaqi/updateuserinfo',checkGuanWeiHuiToken, asyncHandler(updateUserInfo));
/**3.1新加 */
httpServer.post('/admin/fuhuaqi/instituQualify/',checkGuanWeiHuiToken, asyncHandler(updateUserInfo));
}
......
/**
* 管理后台端 机构资质
*/
import * as asyncHandler from 'express-async-handler';
import { checkGuanWeiHuiToken, checkInterior } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam';
import * as fuHuaQiAdminBiz from '../../util/verificationParam';
export function setRouter(httpServer) {
/**3.1新加 */
// httpServer.post('/admin/fuhuaqi/instituQualify/i18nregister',checkGuanWeiHuiToken, asyncHandler(i18nRegister));
// httpServer.post('/admin/fuhuaqi/instituQualify/icr',checkGuanWeiHuiToken, asyncHandler(icr));
// httpServer.post('/admin/fuhuaqi/instituQualify/startupteacher',checkGuanWeiHuiToken, asyncHandler(startupTeacher));
// httpServer.post('/admin/fuhuaqi/instituQualify/zjbeyondlayout',checkGuanWeiHuiToken, asyncHandler(zjBeyondLayout));
}
// /**
// * 国际化
// * @param req
// * @param res
// */
// async function i18nRegister(req, res) {
// let reqConf = {
// name:'String',
// };
// const NotMustHaveKeys = ["lv", "institutionalNature", "operationModel", "foundingTeam" , "industry", "name"];
// let {lv, institutionalNature, industry, operationModel, foundingTeam, name, page} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
// let result = await fuHuaQiAdminBiz.fuHuaQiBaseList(lv, institutionalNature, industry, operationModel, foundingTeam, name, page);
// res.success(result);
// }
// /**
// *
// * @param req
// * @param res
// */
// async function icr(req, res) {
// let reqConf = {
// lv: 'Number',
// name:'String',
// institutionalNature: 'Number',//机构性质
// operationModel:"Number",//运营模式
// foundingTeam:"Number",//创业团队
// industry: 'Number',
// page: 'Number'
// };
// const NotMustHaveKeys = ["lv", "institutionalNature", "operationModel", "foundingTeam" , "industry", "name"];
// let {lv, institutionalNature, industry, operationModel, foundingTeam, name, page} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
// let result = await fuHuaQiAdminBiz.fuHuaQiBaseList(lv, institutionalNature, industry, operationModel, foundingTeam, name, page);
// res.success(result);
// }
// /**
// *
// * @param req
// * @param res
// */
// async function startupTeacher(req, res) {
// let reqConf = {
// lv: 'Number',
// name:'String',
// institutionalNature: 'Number',//机构性质
// operationModel:"Number",//运营模式
// foundingTeam:"Number",//创业团队
// industry: 'Number',
// page: 'Number'
// };
// const NotMustHaveKeys = ["lv", "institutionalNature", "operationModel", "foundingTeam" , "industry", "name"];
// let {lv, institutionalNature, industry, operationModel, foundingTeam, name, page} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
// let result = await fuHuaQiAdminBiz.fuHuaQiBaseList(lv, institutionalNature, industry, operationModel, foundingTeam, name, page);
// res.success(result);
// }
// /**
// *
// * @param req
// * @param res
// */
// async function zjBeyondLayout(req, res) {
// let reqConf = {
// lv: 'Number',
// name:'String',
// institutionalNature: 'Number',//机构性质
// operationModel:"Number",//运营模式
// foundingTeam:"Number",//创业团队
// industry: 'Number',
// page: 'Number'
// };
// const NotMustHaveKeys = ["lv", "institutionalNature", "operationModel", "foundingTeam" , "industry", "name"];
// let {lv, institutionalNature, industry, operationModel, foundingTeam, name, page} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
// let result = await fuHuaQiAdminBiz.fuHuaQiBaseList(lv, institutionalNature, industry, operationModel, foundingTeam, name, page);
// res.success(result);
// }
......@@ -12,9 +12,12 @@ import { eccReqParamater } from '../../util/verificationParam';
export function setRouter(httpServer) {
httpServer.post('/admin/task/financingtasklist',checkGuanWeiHuiToken, asyncHandler(getFinancingTaskList));
httpServer.post('/admin/task/enterprisetasklist',checkGuanWeiHuiToken, asyncHandler(getEnterpriseTaskList));
httpServer.post('/admin/task/businesstasklist',checkGuanWeiHuiToken, asyncHandler(businessTaskList));
/**导出 */
httpServer.post('/admin/data/output/financingtasklist',checkGuanWeiHuiToken, asyncHandler(outPutFinancingTask));
httpServer.post('/admin/data/output/enterprisetasklist',checkGuanWeiHuiToken, asyncHandler(outPutEnterpriseTaskList));
httpServer.post('/admin/data/output/businesstasklist',checkGuanWeiHuiToken, asyncHandler(outPutQBusinessTaskList));
}
......@@ -77,4 +80,47 @@ async function outPutEnterpriseTaskList(req, res) {
let fileName = `孵化器${name}新迁入企业任务列表.xlsx`;
res.success({name:fileName, data:dataList});
}
/**
* 季度任务列表
* @param req
* @param res
*/
async function businessTaskList(req, res) {
let reqConf = {
state: 'Number', //状态
year: 'Number',//数据年
quarter:'Number',//数据季度
page: 'Number'
};
const NotMustHaveKeys = ["state", "year", "quarter"];
let {state, year, quarter, page} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await taskBiz.quarterTaskList(state, year, quarter, page);
res.success(result);
}
/**
* 导出季度任务数据
* @param req
* @param res
*/
async function outPutQBusinessTaskList(req, res) {
let reqConf = {
state: 'Number', //状态
year: 'Number',//数据年
quarter:'Number',//数据季度
type: 'Number'
};
const NotMustHaveKeys = ["state", "year", "quarter"];
let {state, year, quarter, type} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let {dataList, name} = await taskBiz.outPutQuarterTaskDataList(type, state, year, quarter);
let fileName = `孵化器${name}经营数据.xlsx`;
res.success({fileName, dataList});
}
\ No newline at end of file
......@@ -28,6 +28,8 @@ import * as enterpriseMobileDatadeclarationRouters from './enterpriseMobileClien
import * as enterpriseMobileUserRouters from './enterpriseMobileClient/user';
import * as enterpriseMobileFinancingRouters from './enterpriseMobileClient/financing';
import * as testABIRouters from "./mobileClient/testAbi"
export function setRouter(httpServer){
/**下拉框等公用 路由 */
......@@ -57,4 +59,6 @@ export function setRouter(httpServer){
enterpriseMobileDatadeclarationRouters.setRouter(httpServer);
enterpriseMobileUserRouters.setRouter(httpServer);
enterpriseMobileFinancingRouters.setRouter(httpServer);
/**abi接口 */
testABIRouters.setRouter(httpServer);
}
\ No newline at end of file
......@@ -176,4 +176,12 @@ export function getPolicyBGImgId() {
*/
export function getRandomId(uscc:string) {
return md5(`${uscc}${new Date().valueOf() }${Math.ceil(Math.ceil(Math.random() * 1000000))}`);
}
export function changeAddToString(address) {
let str = "";
address.forEach(item => {
str += item;
});
return str;
}
\ 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