Commit 0a956982 by lixinming

no message

parent e3b2bb56
...@@ -85,6 +85,7 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind ...@@ -85,6 +85,7 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
changeData.zaiFuEnterpriseNum = changeData.shiTiEnterpriseNum + changeData.virtualEnterpriseNum;//在孵 changeData.zaiFuEnterpriseNum = changeData.shiTiEnterpriseNum + changeData.virtualEnterpriseNum;//在孵
let outEnterpriseNum = changeData.enterpriseTotal - changeData.zaiFuEnterpriseNum; let outEnterpriseNum = changeData.enterpriseTotal - changeData.zaiFuEnterpriseNum;
changeData.outEnterpriseNum = outEnterpriseNum < 0 ? 0 : outEnterpriseNum;//迁出 changeData.outEnterpriseNum = outEnterpriseNum < 0 ? 0 : outEnterpriseNum;//迁出
/**备案地址转换 */ /**备案地址转换 */
...@@ -106,7 +107,9 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind ...@@ -106,7 +107,9 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
changeData.industry = changeEnumValue(configEnum.FUHUAINDUSTRY, changeData.industry); changeData.industry = changeEnumValue(configEnum.FUHUAINDUSTRY, changeData.industry);
changeData.institutionalNature = changeEnumValue(configEnum.INSTITUTIONALNATURE, changeData.institutionalNature); changeData.institutionalNature = changeEnumValue(configEnum.INSTITUTIONALNATURE, changeData.institutionalNature);
changeData.operationModel = changeEnumValue(configEnum.OPERATIONMODEL, changeData.operationModel); changeData.operationModel = changeEnumValue(configEnum.OPERATIONMODEL, changeData.operationModel);
changeData.fuHuaLianXiDiZhi = changeAddToString(info.fuHuaLianXiDiZhi);
changeData.fuHuazhuCeDiZhi = changeAddToString(info.fuHuazhuCeDiZhi);
changeData.foundingTeamStr = changeData.foundingTeamType ? changeEnumValue(configEnum.TEAM, changeData.foundingTeamType) : "无"; changeData.foundingTeamStr = changeData.foundingTeamType ? changeEnumValue(configEnum.TEAM, changeData.foundingTeamType) : "无";
let foundingTeam = []; let foundingTeam = [];
if (changeData.foundingTeam && changeData.foundingTeam.length) { if (changeData.foundingTeam && changeData.foundingTeam.length) {
...@@ -123,6 +126,9 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind ...@@ -123,6 +126,9 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
changeData.foundingTeam = foundingTeam; changeData.foundingTeam = foundingTeam;
} }
changeData.ruZhuFeiFuHuaQiYe = 0;//入住非孵化企业
changeData.caiLiHuGuanDiZhi = "-";//财力互管地址
dataList.push(changeData); dataList.push(changeData);
}); });
......
...@@ -44,11 +44,11 @@ export async function fuHuaQiOperateStats(uscc:string, year:number) { ...@@ -44,11 +44,11 @@ export async function fuHuaQiOperateStats(uscc:string, year:number) {
czlbhqs.dataList.push(occupancyRate); czlbhqs.dataList.push(occupancyRate);
}); });
// let zfqyqs = await getFuHuaQiOwnEnterpriseCountStats(uscc, year); let zfqyqs = await getFuHuaQiOwnEnterpriseCountStats(uscc, year);
let zfqyqs = await newGetFuHuaQiEnterpriseCountStats(uscc, year); //todo 测试代码 // let zfqyqs = await newGetFuHuaQiEnterpriseCountStats(uscc, year); //todo 测试代码
// let byqyslbhqs = await getFuHuaQiOwnEnterpriseGraduateCountStats(uscc, year); let byqyslbhqs = await getFuHuaQiOwnEnterpriseGraduateCountStats(uscc, year);
let byqyslbhqs = await newGetFuHuaQiEnterpriseGraduateCountStats(uscc, year);//todo 测试代码 // let byqyslbhqs = await newGetFuHuaQiEnterpriseGraduateCountStats(uscc, year);//todo 测试代码
let enterpriseIndustryList = await getEnterpriseIndustry(uscc, year); let enterpriseIndustryList = await getEnterpriseIndustry(uscc, year);
...@@ -121,6 +121,7 @@ async function getFuHuaQiOwnEnterpriseCountStats(uscc:string, year:number) { ...@@ -121,6 +121,7 @@ async function getFuHuaQiOwnEnterpriseCountStats(uscc:string, year:number) {
/**按时间从小到大 */ /**按时间从小到大 */
dataList.sort((a,b) => {return a.ct - b.ct}); dataList.sort((a,b) => {return a.ct - b.ct});
let xnData = []; let xnData = [];
let stData = []; let stData = [];
let monthData = []; let monthData = [];
...@@ -215,7 +216,6 @@ async function newGetFuHuaQiEnterpriseGraduateCountStats(uscc:string, year:numbe ...@@ -215,7 +216,6 @@ async function newGetFuHuaQiEnterpriseGraduateCountStats(uscc:string, year:numbe
let dataList = []; let dataList = [];
for (let i = 12; i >=1; i--) { for (let i = 12; i >=1; i--) {
if (i>=thisMonth) continue; if (i>=thisMonth) continue;
dataList.push({ dataList.push({
nby:0, nby:0,
by:outMap[i] || 0, by:outMap[i] || 0,
......
...@@ -89,11 +89,11 @@ export async function getValueStats(uscc) { ...@@ -89,11 +89,11 @@ export async function getValueStats(uscc) {
for (let i = 1; i <= 6; i++) { for (let i = 1; i <= 6; i++) {
let itemDate = moment().subtract(i, 'months'); let itemDate = moment().subtract(i, 'months');
let key = itemDate.format("YYYY-MM"); let key = itemDate.format("YYYY-MM");
let selectMonth = itemDate.month(); let selectMonth = itemDate.month()+1;
let selectYear = itemDate.year(); let selectYear = itemDate.year();
let {isSubmit} = await findOneFuHuaQiMonthTaskData({fuHuaQiUscc:uscc, type:TASKTYPEENUM.融资企业填报,month:selectMonth, year:selectYear}); let itemData = await findOneFuHuaQiMonthTaskData({fuHuaQiUscc:uscc, type:TASKTYPEENUM.融资企业填报,month:selectMonth, year:selectYear});
let ms = moment().subtract(i, 'months').valueOf(); let ms = moment().subtract(i, 'months').valueOf();
financingMap[key]={ms, key, data:{}, fuHuaQiSubmit:isSubmit==true}; financingMap[key]={ms, key, data:{}, fuHuaQiSubmit:itemData.isSubmit==true};
} }
financingData.forEach(info => { financingData.forEach(info => {
......
...@@ -212,10 +212,10 @@ export async function initPool() { ...@@ -212,10 +212,10 @@ export async function initPool() {
/**企业资质 */ /**企业资质 */
let enterpriseQualificationInfo:any = await statsEnterpriseQualification(); let enterpriseQualificationInfo:any = await statsEnterpriseQualification();
indicatiorPoolQuerery[TARGET.企业资质占比] = {type:"Map", value:{ indicatiorPoolQuerery[TARGET.企业资质占比] = {type:"Map", value:{
"高新技术企业":enterpriseQualificationInfo.isHighTechMap, "高新技术企业":enterpriseQualificationInfo.isHighTech,
"专精特新企业":enterpriseQualificationInfo.isZjtxMap, "专精特新企业":enterpriseQualificationInfo.isZjtx,
"小巨人培育企业":enterpriseQualificationInfo.isXjrpyMap, "小巨人培育企业":enterpriseQualificationInfo.isXjrpy,
"小巨人企业":enterpriseQualificationInfo.isXjrMap "小巨人企业":enterpriseQualificationInfo.isXjr
}}; }};
let enterpriseIntellectualInfo = await statsEnterpriseIntellectualPropertyInfo(); let enterpriseIntellectualInfo = await statsEnterpriseIntellectualPropertyInfo();
indicatiorPoolQuerery[TARGET.企业专利占比] = {type:"Map", value:enterpriseIntellectualInfo}; indicatiorPoolQuerery[TARGET.企业专利占比] = {type:"Map", value:enterpriseIntellectualInfo};
......
...@@ -31,7 +31,7 @@ export async function initOutline() { ...@@ -31,7 +31,7 @@ export async function initOutline() {
*/ */
export async function generateReport() { export async function generateReport() {
return {fileName:"2023年采集数据分析.docx", size:'17kb', url:'/doc/2023年采集数据分析.docx'}; // return {fileName:"2023年采集数据分析.docx", size:'17kb', url:'/doc/2023年采集数据分析.docx'};
let docx = officegen('docx'); let docx = officegen('docx');
let pObj = docx.createP(); let pObj = docx.createP();
...@@ -57,7 +57,7 @@ export async function generateReport() { ...@@ -57,7 +57,7 @@ export async function generateReport() {
context = context || []; context = context || [];
let chartStr:any = await checkMsg(msg, context); let chartStr:any = await checkMsg(msg, context);
if (removeParagraph) { if (removeParagraph && chartStr) {
let rmvList = chartStr.split('\n'); let rmvList = chartStr.split('\n');
let rmvStr = ``; let rmvStr = ``;
rmvList.forEach(itemStr => {rmvStr += itemStr}); rmvList.forEach(itemStr => {rmvStr += itemStr});
...@@ -132,4 +132,3 @@ function enterpriseCombinationMessage() { ...@@ -132,4 +132,3 @@ function enterpriseCombinationMessage() {
return str; return str;
} }
...@@ -8,8 +8,6 @@ import { addEnterprisePoint } from "../point"; ...@@ -8,8 +8,6 @@ import { addEnterprisePoint } from "../point";
import { ENTERPRISENODEENUM, POINTTYPEENUM } from "../../config/pointConfig"; import { ENTERPRISENODEENUM, POINTTYPEENUM } from "../../config/pointConfig";
/** /**
* 获取资讯列表 * 获取资讯列表
* *
......
...@@ -236,8 +236,8 @@ export async function updateMoveOutInfo(fuHuaQiUscc:string, uscc:string, moveOu ...@@ -236,8 +236,8 @@ export async function updateMoveOutInfo(fuHuaQiUscc:string, uscc:string, moveOu
//选择了 非企业注销时 moveOutTrace 和 moveOutCause 为必选项 //选择了 非企业注销时 moveOutTrace 和 moveOutCause 为必选项
await eccReqParamater({moveOutTrace:"Number", moveOutCause:"[Number]" }, {moveOutTrace, moveOutCause} ); await eccReqParamater({moveOutTrace:"Number", moveOutCause:"[Number]" }, {moveOutTrace, moveOutCause} );
/**校验moveOutCause 和 moveOutTrace 是否符合规则*/ /**校验moveOutCause 和 moveOutTrace 是否符合规则*/
verificationEnumTools.eccEnumValue('修改企业孵化状态', '修改为迁出', configEnum.MOVEOUTTRACE, moveOutTrace); verificationEnumTools.eccEnumValue('修改企业孵化状态', '迁出去向', configEnum.MOVEOUTTRACE, moveOutTrace);
verificationEnumTools.eccEnumValue('修改企业孵化状态', '修改为迁出', configEnum.MOVEOUTCAUSE, moveOutCause); verificationEnumTools.eccEnumValue('修改企业孵化状态', '迁出原因', configEnum.MOVEOUTCAUSE, moveOutCause);
/**根据 不同的迁出类型 校验不同的迁出原因枚举 */ /**根据 不同的迁出类型 校验不同的迁出原因枚举 */
if (moveOutType == configEnum.MOVEOUTTYPE.毕业迁出) { if (moveOutType == configEnum.MOVEOUTTYPE.毕业迁出) {
moveOutCause = [moveOutCause[0]];//非毕业迁出是单选 moveOutCause = [moveOutCause[0]];//非毕业迁出是单选
......
...@@ -65,6 +65,8 @@ export async function selectFuHuaQiBaseData(uscc:string) { ...@@ -65,6 +65,8 @@ export async function selectFuHuaQiBaseData(uscc:string) {
data.fuHuaEnterpriseTotal = dataBaseInfo.fuHuaEnterpriseTotal ? dataBaseInfo.fuHuaEnterpriseTotal : 0; data.fuHuaEnterpriseTotal = dataBaseInfo.fuHuaEnterpriseTotal ? dataBaseInfo.fuHuaEnterpriseTotal : 0;
data.fuHuaEnterpriseTotal += await enterpriseData.findEnterpriseTotalByFuHuaQiUscc(uscc); data.fuHuaEnterpriseTotal += await enterpriseData.findEnterpriseTotalByFuHuaQiUscc(uscc);
data.ruZhuFeiFuHuaQiYe = 0;
return data; return data;
} }
...@@ -141,7 +143,7 @@ export async function updateFuHuaQiBaseData(uscc:string, param) { ...@@ -141,7 +143,7 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
for (let i = 0; i < changeList.length; i++) { for (let i = 0; i < changeList.length; i++) {
let key = changeList[i]; let key = changeList[i];
if (key == "virtualEnterpriseNum") continue; if (key == "virtualEnterpriseNum") continue;
//加埋点
switch (key) { switch (key) {
case "acreageTotal": case "acreageTotal":
if (param[key] != baseDataInfo[key]) { if (param[key] != baseDataInfo[key]) {
......
...@@ -32,16 +32,16 @@ export function initSystemTask() { ...@@ -32,16 +32,16 @@ export function initSystemTask() {
}, 3600 * 1000); }, 3600 * 1000);
/**孵化器季度任务 */ /**孵化器季度任务 */
fuHuaQiQuarterTask(); // fuHuaQiQuarterTask();
setInterval(async function () { // setInterval(async function () {
await fuHuaQiQuarterTask(); // await fuHuaQiQuarterTask();
}, 3600 * 1000 * 2); // }, 3600 * 1000 * 2);
/**企业季度任务 */ /**企业季度任务 */
enterpriseQuarterTask(); // enterpriseQuarterTask();
setInterval(async function () { // setInterval(async function () {
await enterpriseQuarterTask(); // await enterpriseQuarterTask();
}, 3600 * 1000 * 2); // }, 3600 * 1000 * 2);
/**初始化短信任务 */ /**初始化短信任务 */
......
...@@ -18,6 +18,8 @@ export const BaseParamUpdateConfig = { ...@@ -18,6 +18,8 @@ export const BaseParamUpdateConfig = {
acreageTotal:{type:"Number", notMustHave:true},//孵化器总面积(㎡) acreageTotal:{type:"Number", notMustHave:true},//孵化器总面积(㎡)
acreagePersonalUse:{type:"Number", notMustHave:true},//孵化器自用面积(㎡) acreagePersonalUse:{type:"Number", notMustHave:true},//孵化器自用面积(㎡)
hatchingGround:{type:"[Object]", notMustHave:true},//经备案孵化场地 hatchingGround:{type:"[Object]", notMustHave:true},//经备案孵化场地
fuHuaLianXiDiZhi:{type:"Address", notMustHave:true},//孵化联系地址
fuHuazhuCeDiZhi:{type:"Address", notMustHave:true},//孵化注册地址
// isProfessionalTechnology:{type:"Boolean", notMustHave:true},//是否专业技术平台 // isProfessionalTechnology:{type:"Boolean", notMustHave:true},//是否专业技术平台
// professionalTechnologyName:{type:"String", notMustHave:true},//专业技术平台名称 // professionalTechnologyName:{type:"String", notMustHave:true},//专业技术平台名称
// professionalTechnologyCreateTime:{type:"Number", notMustHave:true},//时间 年份 xxxx年01月01日 的时间戳 // professionalTechnologyCreateTime:{type:"Number", notMustHave:true},//时间 年份 xxxx年01月01日 的时间戳
......
...@@ -238,7 +238,9 @@ export const FuHuaQiBaseDataConfig = { ...@@ -238,7 +238,9 @@ export const FuHuaQiBaseDataConfig = {
// professionalTechnologyAmount:{key:"专业技术平台投资金额"}, // professionalTechnologyAmount:{key:"专业技术平台投资金额"},
// isCooperation:{key:"是否与第三方机构合作"}, // isCooperation:{key:"是否与第三方机构合作"},
// cooperationInstitutions:{key:"合作机构名称"}, // cooperationInstitutions:{key:"合作机构名称"},
enterpriseTotal:{key:"累计企业"} enterpriseTotal:{key:"累计企业"},
fuHuazhuCeDiZhi:{key:"孵化注册地址"},
fuHuaLianXiDiZhi:{key:"孵化联系地址"}
} }
......
...@@ -46,7 +46,7 @@ const enterpriseSchema = new Schema({ ...@@ -46,7 +46,7 @@ const enterpriseSchema = new Schema({
name: {type:String, index: true},//企业名称 name: {type:String, index: true},//企业名称
taskId:{type:String, index:true},//绑定的任务id taskId:{type:String, index:true},//绑定的任务id
uscc:{type:String, index: true},//统一信用代码 uscc:{type:String, index: true},//统一信用代码
fuHuaQiUscc:{type:String, index:true},//孵化器统一信用代码 fuHuaQiUscc:{type:String, index:true},//孵化器统一信用代码[-p---------------------------------------------]
industry:[Number],//领域 industry:[Number],//领域
logonTime:Number,//注册时间 logonTime:Number,//注册时间
firstIncubationTime:Number,//首次入孵时间 firstIncubationTime:Number,//首次入孵时间
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
import {Schema} from 'mongoose'; import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit'; import { baseDB } from '../../db/mongo/dbInit';
import { deflate } from 'zlib';
const foundingTeamSchema = new Schema({ const foundingTeamSchema = new Schema({
memberName:String,//成员姓名 memberName:String,//成员姓名
...@@ -77,6 +78,10 @@ const fuHuaQiSchema = new Schema({ ...@@ -77,6 +78,10 @@ const fuHuaQiSchema = new Schema({
professionalTechnologyAmount:Number,//投资金额 万元 professionalTechnologyAmount:Number,//投资金额 万元
isCooperation:{type:Boolean, default:false},//是否与第三方合作 isCooperation:{type:Boolean, default:false},//是否与第三方合作
cooperationInstitutions:{type:String, default:""},//合作机构名称 cooperationInstitutions:{type:String, default:""},//合作机构名称
/**2024年04月23日字段 */
fuHuazhuCeDiZhi:{type:[String], default:[]},//孵化注册地址
fuHuaLianXiDiZhi:{type:[String], default:[]},//孵化联系地址
}); });
var fuHuaQiModel; var fuHuaQiModel;
......
...@@ -99,4 +99,4 @@ export async function findZjBeyondLayoutListByParamToPage(param, skipCount:numbe ...@@ -99,4 +99,4 @@ export async function findZjBeyondLayoutListByParamToPage(param, skipCount:numbe
*/ */
export async function getZjBeyondLayoutCountByParam(param) { export async function getZjBeyondLayoutCountByParam(param) {
return await zjBeyondLayoutModel.find(param).countDocuments(); return await zjBeyondLayoutModel.find(param).countDocuments();
} }
\ No newline at end of file
...@@ -9,6 +9,7 @@ var baseDB; ...@@ -9,6 +9,7 @@ var baseDB;
export async function initDB() { export async function initDB() {
//如果配置了mongoServerConstVal 才会连接mongo //如果配置了mongoServerConstVal 才会连接mongo
if (systemConfig.mongodbStr) { if (systemConfig.mongodbStr) {
console.log(systemConfig.mongodbStr);
baseDB = await createDbConnect(systemConfig.mongodbStr).catch(err => { baseDB = await createDbConnect(systemConfig.mongodbStr).catch(err => {
throw err throw err
}); });
......
...@@ -30,5 +30,4 @@ async function lanuch() { ...@@ -30,5 +30,4 @@ async function lanuch() {
lanuch(); lanuch();
\ No newline at end of file
...@@ -42,6 +42,10 @@ export function setRouter(httpServer) { ...@@ -42,6 +42,10 @@ export function setRouter(httpServer) {
/**修复任务分数 */ /**修复任务分数 */
httpServer.post('/admin/provide/fuhuaqi/scort/correcttask', checkInterior, asyncHandler(correctFuHuaQiScore) ); httpServer.post('/admin/provide/fuhuaqi/scort/correcttask', checkInterior, asyncHandler(correctFuHuaQiScore) );
httpServer.post('/admin/provide/fuhuaqi/scort/correctmyenterprise', checkInterior, asyncHandler(correctFuHuaQiMyEnterpriseScore) ); httpServer.post('/admin/provide/fuhuaqi/scort/correctmyenterprise', checkInterior, asyncHandler(correctFuHuaQiMyEnterpriseScore) );
//批量操作
httpServer.post('/admin/provide/fuhuaqi/scort/enterpriseoutanin', checkInterior, asyncHandler(enterpriseOutAnInRot) );
httpServer.post('/admin/provide/fuhuaqi/scort/enterpriseoutandinmoverout', checkInterior, asyncHandler(enterpriseOutAndInMoverOutRot) );
} }
...@@ -170,3 +174,14 @@ async function correctFuHuaQiMyEnterpriseScore(req, res) { ...@@ -170,3 +174,14 @@ async function correctFuHuaQiMyEnterpriseScore(req, res) {
await provideBiz.correctFuHuaQiMyEnterpriseScoreData(); await provideBiz.correctFuHuaQiMyEnterpriseScoreData();
res.success({isUsccess:true}); res.success({isUsccess:true});
} }
async function enterpriseOutAnInRot(req, res) {
await provideBiz.enterpriseOutAnIn();
res.success({isUsccess:true});
}
async function enterpriseOutAndInMoverOutRot(req, res) {
await provideBiz.enterpriseOutAndInMoverOut();
res.success({isUsccess:true});
}
...@@ -13,6 +13,7 @@ import * as taskTool from "./taskTool"; ...@@ -13,6 +13,7 @@ import * as taskTool from "./taskTool";
const xlsx = require('node-xlsx'); const xlsx = require('node-xlsx');
const path = require('path'); const path = require('path');
const md5 = require("md5"); const md5 = require("md5");
const fs = require('fs');
const OldTypeChangeConfig = { const OldTypeChangeConfig = {
"文化创意":INDUSTRY.文化创意, "文化创意":INDUSTRY.文化创意,
......
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