Commit 42d3821c by chenjinjing

no message

parent 342957fb
......@@ -19,7 +19,7 @@ import { on } from "process";
import { systemConfig } from "../config/serverConfig";
export async function allEnterpriseNameList() {
let listList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业基础信息表, {state:1}, ["enterpriseName", "eId"]);
let listList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业基础信息表, {state:enumConfig.CHANGESTATE.已通过}, ["enterpriseName", "eId"]);
let dataList = [];
listList.forEach(info => {
......@@ -93,7 +93,7 @@ export async function enterpriseExamineList(year:number, enterpriseName:string,
let selectParam:any = {};
if (year) selectParam = {annual:getMySqlMs(year)};
let filesList = [ "mId", "annual", "BI", "TXP", "RD", "state"];
let filesList = [ "mId", "annual", "quarter", "BI", "TXP", "RD", "state"];
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.企业基础信息表] = {column:["enterpriseName"], where:{} };
if (enterpriseName) {
......@@ -109,6 +109,7 @@ export async function enterpriseExamineList(year:number, enterpriseName:string,
enterpriseName:info.enterprise.enterpriseName,
mId:info.mId,
annual:moment(info.annual).format("YYYY"),
quarter: changeEnumValue(enumConfig.QUARTER, info.quarter),
BI:info.BI,
TXP:info.TXP,
RD:info.RD,
......@@ -181,14 +182,7 @@ export async function enterpriseExamineUpdate( mId, param) {
// --------------------------------------经营数据
export async function enterpriseManageList(enterpriseName:string, year:number, page:number) {
let selectParam:any = {isSubmit:enumConfig.STATE.};
// let selectParam:any = {};
// if (year) {
// selectParam.annual = getMySqlMs(year);
// }
if (year) {
selectParam.annual = `${moment(year).format("YYYY")}-01-01 00:00:00`;
}
if (year) selectParam.annual = `${moment(year).format("YYYY")}-01-01 00:00:00`;
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.企业基础信息表] = {column: ["enterpriseName", "uscc", "eId"], where:{} };
......@@ -203,22 +197,19 @@ export async function enterpriseManageList(enterpriseName:string, year:number, p
let resData = [];
resInfo.forEach( info => {
let {BI, mId, TXP, RD, annual, quarter, enterprise} = info;
let quarterStr = "第一季度";
if (quarter ) quarterStr = changeEnumValue(enumConfig.QUARTER, quarter);
if (quarter) quarterStr = changeEnumValue(enumConfig.QUARTER, quarter);
let year = moment(annual).format("YYYY");
resData.push({BI, mId, TXP,RD,annual:year, quarterStr, enterprise, yearStr:`${year}${quarter}`});
resData.push({BI, mId, TXP, RD, annual:year, quarter, enterprise, quarterStr});
})
resData.sort( (a, b) => {
return b.yearStr - a.yearStr;
return b.annual - a.annual || b.quarter - a.quarter;
})
let dataList = [];
resData.forEach(info => {
let {BI, mId, TXP, RD, annual, quarter, enterprise} = info;
let quarterStr = "第一季度";
if (quarter ) quarterStr = changeEnumValue(enumConfig.QUARTER, quarter);
let {BI, mId, TXP, RD, annual, quarter, enterprise, quarterStr} = info;
let dataInfo = {
eId:enterprise.eId, //企业id
......@@ -228,8 +219,6 @@ export async function enterpriseManageList(enterpriseName:string, year:number, p
TXP:TXP, //纳税(万元)
RD:RD,//研发投入(万元)
annual:`${moment(annual).format("YYYY")}-${quarterStr}`,//年度
// quarter:changeEnumValue(enumConfig.QUARTER, quarter),//新增季度
// state:state ? "已审核" : "未审核",
mId:mId
};
dataList.push(dataInfo);
......@@ -240,16 +229,14 @@ export async function enterpriseManageList(enterpriseName:string, year:number, p
export async function outPutEnterpriseManageList(enterpriseName:string, year:number, type:number, files) {
let selectParam:any = {};
let selectParam:any = {isSubmit:enumConfig.STATE.};
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.企业基础信息表] = {column: ["enterpriseName", "uscc", "eId"], where:{} };
if (type == 1) {
if (year) selectParam.annual = `${moment(year).format("YYYY")}-01-01 00:00:00`;
if (enterpriseName) {
manyTableInfo[TABLENAME.企业基础信息表].where = {"enterpriseName": {"%like%":enterpriseName}}
}
if (year) {
selectParam.annual = `${moment(year).format("YYYY")}-01-01 00:00:00`;
manyTableInfo[TABLENAME.企业基础信息表].where["enterpriseName"] = {"%like%":enterpriseName}
}
}
......@@ -264,13 +251,23 @@ export async function outPutEnterpriseManageList(enterpriseName:string, year:num
});
dataList.push(titleList);
resInfo.forEach(info => {
let resData = [];
resInfo.forEach( info => {
let {BI, mId, TXP, RD, annual, quarter, enterprise} = info;
let quarterStr = "第一季度";
if (quarter ) quarterStr = changeEnumValue(enumConfig.QUARTER, quarter);
if (quarter) quarterStr = changeEnumValue(enumConfig.QUARTER, quarter);
let year = moment(annual).format("YYYY");
resData.push({BI, mId, TXP, RD, annual:year, quarter, enterprise, quarterStr});
})
resData.sort( (a, b) => {
return b.annual - a.annual || b.quarter - a.quarter;
})
resData.forEach(info => {
let subList = [];
// let stateStr = state ? "已审核" : "未审核";
let {BI, mId, TXP, RD, annual, quarter, enterprise, quarterStr} = info;
valueList.forEach(subInfo => {
if (subInfo == "enterpriseName") subList.push(enterprise.enterpriseName);
if (subInfo == "uscc") subList.push(enterprise.uscc);
......@@ -278,8 +275,6 @@ export async function outPutEnterpriseManageList(enterpriseName:string, year:num
if (subInfo == "TXP") subList.push(TXP);
if (subInfo == "RD") subList.push(RD);
if (subInfo == "annual") subList.push(`${moment(annual).format("YYYY")}-${quarterStr}`);
// if (subInfo == "annual") subList.push(moment(annual).format("YYYY"));
// if (subInfo == "state") subList.push(stateStr);
});
dataList.push(subList);
});
......@@ -287,17 +282,6 @@ export async function outPutEnterpriseManageList(enterpriseName:string, year:num
return {dataList};
}
//企业审核通过
// export async function enterpriseManagePass(mId:string) {
// let info = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业经营信息, {mId}, ["mId"]);
// if (!info || !info.mId) throw new BizError(ERRORENUM.当前数据不存在);
// await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业经营信息, {state:1}, {mId} );
// return {isSuccess:true};
// }
//===融资
export async function enterpriseFinancingList(enterpriseName:string, year:number, page:number) {
......@@ -376,22 +360,33 @@ export async function enterpriseFinancingAllYear(eId:string) {
}
export async function outPutEnterpriseFinancingList(enterpriseName:string,year:number, type:number, files) {
// let selectParam:any = {state:enumConfig.STATE.是};
/**
* 融资情况当前数据下载
* @param enterpriseName
* @param year
* @param type
* @param files
* @returns
*/
export async function outPutEnterpriseFinancingList(enterpriseName:string, year:number, type:number, files) {
let selectParam:any = {};
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.企业融资] = {
column:["rId", "financingAmount", "financingRounds", "investmentDate", "investmentInstitutionsName" ],
where:{}
};
let filesList = ["enterpriseName", "uscc", "eId"];
if (type == 1) {
if (enterpriseName) {
selectParam.enterpriseName = {"%like%":enterpriseName}
}
if (year) {
//selectParam.annual = getMySqlMs(year);
selectParam.investmentDate = {">=": `${year}-01-01`, "<=": `${year}-12-31`};
let selectStartTime = getMySqlMs(year);
let selectEndTime = getMySqlMs(moment(year).endOf('year').valueOf());
manyTableInfo[TABLENAME.企业融资].where = {"investmentDate": {"%gt%":selectStartTime, "%lt%":selectEndTime}};
}
}
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.企业融资] = {column:["financingAmount", "financingRounds", "investmentDate", "investmentInstitutionsName" ], where:{} };
let filesList = ["enterpriseName", "uscc","eId"];
let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo);
let dataList = [];
......
......@@ -46,10 +46,7 @@ export async function getBaseData() {
promotionInfo: {} // 运营推广信息
};
let filesList = ["eId", "enterpriseName", "uscc", "logonTime"];
let selectParam = {state:CHANGESTATE.已通过};
/**在孵企业 当前时间小于孵化结束时间 */
let selectParam = { state:CHANGESTATE.已通过 };
let araeParam = {column:["area", "unitPrice", "roomNumber", "rent", "startTime", "endTime"], where:{} };
let zaifuTableInfo:any = {};
zaifuTableInfo[TABLENAME.租赁信息] = araeParam;
......@@ -228,49 +225,36 @@ export async function getOperateData(year) {
// .sort((a, b) => a.key - b.key);
.sort((a, b) => parseInt(a.key) - parseInt(b.key));
/**在孵企业租赁面积 */
let araeParam = { column: ["area", "building", "roomNumber", "rent"], where: {} };
let zaifuTableInfo: any = {};
zaifuTableInfo[TABLENAME.租赁信息] = araeParam;
zaifuTableInfo[TABLENAME.企业孵化信息] = {
column: ["state", "startTime", "endTime"],
where: { startTime: { "%lt%": yearTime }, endTime: { "%gt%": yearTime }, state: { "%notIn%": FUHUASTATE.迁出 } },
};
// zaifuTableInfo[TABLENAME.参保记录] = { column: ["zhuanKe", "benKe", "shuoshi", "boShi", "boshiyishang", "qiTa"], where: {} };
let zaifuResList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, ["eId", "industry"], zaifuTableInfo);
//将 industry 字符串转换为数组
zaifuResList.forEach(info => {
if (info.industry) {
if (typeof info.industry === 'string') {
info.industry = JSON.parse(info.industry);
let manyTableInfo: any = {}
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {} };
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { state: CHANGESTATE.已通过 }, ["industry", "eId"], manyTableInfo);
let industryMap = {};
fhdbList.forEach(info => {
let { industry } = info;
//行业领域分布
if (industry) {
let industryList = JSON.parse(industry);
for (let i = 0; i < industryList.length; i++) {
let industryStr = changeEnumValue(INDUSTRY, industryList[i]);
if (!industryMap[industryStr]) industryMap[industryStr] = 0;
industryMap[industryStr] += 1;
}
} else {
info.industry = [];
}
});
})
for (let key in INDUSTRY) {
let industryData: any = {};
let anyKey: any = key;
if (isNaN(anyKey)) {
const EnumValue = parseInt(INDUSTRY[key]);
industryData = { key: anyKey, value: 0 };
zaifuResList.forEach(info => {
if (info.industry == EnumValue) {
industryData.value += 1;
}
});
operateData.在孵企业行业领域.push(industryData);
let keyStr = key;
operateData.在孵企业行业领域.push({ key: keyStr, value: industryMap[keyStr] || 0 });
}
}
/**企业需求新增趋势 */
//获取所有企业服务表联查企业信息表 applyTime:申请服务时间
let 企业服务dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业服务表, {applyTime: { "%lt%": yearTime }}, null);
let 企业服务dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业服务表, {applyTime: { "%gt%": yearTime }}, null);
// 新增:统一统计每个月的数据
let xuqiuInfo = { ...qushiConf }; // 初始化每月数据为0
......@@ -290,20 +274,29 @@ export async function getOperateData(year) {
.map(key => ({ key, value: xuqiuInfo[key].toString() }))
.sort((a, b) => parseInt(a.key) - parseInt(b.key));
// for(let i = 0; i < month.length; i++) {
// let fuwuMonth = 0;
// 企业服务dbList.forEach(info => {
// // 检查企业申请时间的月份是否与当前月份相同
// let parsedStartTime = moment(info.applyTime); // 获取企业申请时间
// if (parsedStartTime.isValid() && moment(parsedStartTime).format("YY/MM") === month[i]) {
// fuwuMonth += 1;
// }
// })
return { operateData };
}
// qyxqfw.dataList.push({key:month[i], value:fuwuMonth});
// }
return { operateData };
export function getYearList() {
// 获取当前年份
const currentTime = moment();
const sixMonthsAgo = currentTime.clone().subtract(6, 'year');
const currentYear = new Date().getFullYear();
// 初始化一个空数组来存储年份
const years = [];
// 使用一个循环来添加当前年份到6年后的每一个年份到数组中
for (let i = 0; i <= 6; i++) {
years.push(currentYear - i);
}
years.sort((a, b) => {
return a - b;
})
return years;
}
......@@ -312,17 +305,18 @@ export async function getRiskData() {
高风险: 0,
中低风险: 0,
关注: 0
};
}
let riskEnterprises: any[] = [];
// 获取所有企业孵化信息
let fhColumn = ["enterpriseName", "industry", "eId", "shijiaoziben"];
let manyTableInfo: any = {};
//获取所有企业孵化信息
let manyTableInfo: any = {}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: { state: FUHUASTATE.实体孵化 } };
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "moveOutTime", "moveOutType"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, fhColumn, manyTableInfo);
// manyTableInfo[TABLENAME.企业经营信息] = { column: ["annual"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {state: CHANGESTATE.已通过}, fhColumn, manyTableInfo);
// 获取所有企业经营信息
let manageList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, ["annual", "eId"]);
let map = {};
manageList.forEach(info => {
map[info.eId] = 1;
......@@ -333,18 +327,12 @@ export async function getRiskData() {
if (info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.违约退租 || info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.到期退租) {
yj.高风险 += 1;
riskLevel = "高风险";
riskEnterprises.push([info.enterpriseName, riskLevel]);
} else if (!map[info.eId]) {
yj.中低风险 += 1;
riskLevel = "中低风险";
} else {
yj.关注 += 1;
riskLevel = "关注";
riskEnterprises.push([info.enterpriseName, riskLevel]);
}
riskEnterprises.push([
info.enterpriseName,
riskLevel
]);
});
let yujiData = [];
......@@ -363,18 +351,8 @@ export async function getRiskData() {
*/
export async function getWorthDate() {
let worthData = {
// "countData":[
// {
// key:"国际合作/大企业合作机构",
// value:0
// },
// {
// key:"大学/科研院合作机构",
// value:0
// }
// ],
"TXP":[], //纳税趋势(万元)
"financing":[], //融资企业数量趋势
"financing":[], //融资金额趋势
"jiuye":[] //就业人数趋势
}
let qushiConf = {"01":0, "02":0, "03":0, "04":0, "05":0, "06":0, "07":0, "08":0, "09":0, "10":0, "11":0, "12":0};
......@@ -397,25 +375,19 @@ export async function getWorthDate() {
})
/**融资企业数量趋势 */
let rongziList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, {});
let yearTime = moment(new Date()).format("YYYY");
let rongziInfo = qushiConf;
rongziList.forEach( info => {
let year = moment(info.graduationTime).format("YYYY");
let month = moment(info.graduationTime).format("MM");
if (year == yearTime) {
rongziInfo[month] += 1;
/**融资额趋势分析 */
let 融资情况 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, []);
let year = getYearList();
for(let i = 0; i < year.length; i++) {
let 融资金额 = 0;
融资情况.forEach(info => {
let 融资日期 = moment(info.investmentDate);
if (融资日期.isValid() && 融资日期.year() === year[i]) {
融资金额 += parseFloat(info.financingAmount || 0);
}
})
for(let key in rongziInfo) {
worthData.financing.push({key, value:rongziInfo[key].toString()});
});
worthData.financing.push({key:year[i], value:融资金额});
}
//X轴排序
worthData.financing.sort( (a, b) => {
return a.key - b.key;
})
/**就业人数趋势 */
let jiuyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, {});
......
......@@ -356,14 +356,16 @@ export async function enterpriseRegisterExamineList(enterpriseName, page) {
eId:info.eId,
enterpriseName:info.enterpriseName,
randomCode:info.randomCode,
leaseContractUrl: info.enterprise_leases[0].leaseContract || "未提交",
entryPlanUrl: info.enterprise_leases[0].entryPlan || "未提交",
businessLicenseUrl: info.enterprise_leases[0].businessLicense || "未提交",
agreementUrl: info.enterprise_leases[0].agreement || "未提交",
leaseContract: getFileNameAndFormat(info.enterprise_leases[0].leaseContract),
entryPlan: getFileNameAndFormat(info.enterprise_leases[0].entryPlan),
businessLicense: getFileNameAndFormat(info.enterprise_leases[0].businessLicense),
agreement: getFileNameAndFormat(info.enterprise_leases[0].agreement),
/**跳转用 */
leaseContractUrl: info.enterprise_leases[0].leaseContract,
entryPlanUrl: info.enterprise_leases[0].entryPlan,
businessLicenseUrl: info.enterprise_leases[0].businessLicense,
agreementUrl: info.enterprise_leases[0].agreement,
/**显示用:名称 */
leaseContract: getFileNameAndFormat(info.enterprise_leases[0].leaseContract) || "未提交",
entryPlan: getFileNameAndFormat(info.enterprise_leases[0].entryPlan) || "未提交",
businessLicense: getFileNameAndFormat(info.enterprise_leases[0].businessLicense) || "未提交",
agreement: getFileNameAndFormat(info.enterprise_leases[0].agreement) || "未提交",
status: info.state == enumConfig.CHANGESTATE.已驳回 ? "已驳回" : "未审核" // 状态映射
});
});
......@@ -394,13 +396,13 @@ export async function getRuFu(eId:string) {
else dataInfo.startTime = "";
if (zaifuList.endTime) dataInfo.endTime = new Date(zaifuList.endTime).valueOf(); //孵化结束时间
else dataInfo.endTime = "";
/**跳转用 */
dataInfo.area = leaseInfo.area;
dataInfo.leaseContractUrl = leaseInfo.leaseContract;
dataInfo.entryPlanUrl = leaseInfo.entryPlan;
dataInfo.businessLicenseUrl = leaseInfo.businessLicense;
dataInfo.agreementUrl = leaseInfo.agreement;
/**显示用:名称 */
dataInfo.leaseContract = getFileNameAndFormat(leaseInfo.leaseContract);
dataInfo.entryPlan = getFileNameAndFormat(leaseInfo.entryPlan);
dataInfo.businessLicense = getFileNameAndFormat(leaseInfo.businessLicense);
......
......@@ -223,10 +223,10 @@ export async function settleInEnterpriseById(eId:string) {
uscc:info.uscc,//统一信用代码
logonTime:moment(info.logonTime).format("YYYY-MM-DD"),//注册时间
// leaseTime:`${moment(info.enterprise_leases[0].startTime).format("YYYY-MM-DD")}至${moment(info.enterprise_leases[0].endTime).format("YYYY-MM-DD")}`,
fuHuaTimeStart:info.enterprise_fuhuas[0].startTime||0, //孵化开始时间
fuHuaTimeEnd:info.enterprise_fuhuas[0].endTime||0, //孵化结束时间
leaseStartTime:info.enterprise_leases[0].startTime || 0, //租赁开始时间
leaseEndTime:info.enterprise_leases[0].endTime || 0, //租赁结束时间
fuHuaTimeStart:moment(info.enterprise_fuhuas[0].startTime).format("YYYY-MM-DD") ||0, //孵化开始时间
fuHuaTimeEnd:moment(info.enterprise_fuhuas[0].endTime).format("YYYY-MM-DD") ||0, //孵化结束时间
leaseStartTime:moment(info.enterprise_leases[0].startTime).format("YYYY-MM-DD") || 0, //租赁开始时间
leaseEndTime:moment(info.enterprise_leases[0].endTime).format("YYYY-MM-DD") || 0, //租赁结束时间
rent:info.enterprise_leases[0].rent,//月租金
area:info.enterprise_leases[0].area,//租赁面积
building: info.enterprise_leases[0].building || "",// 园区楼号
......@@ -270,12 +270,12 @@ export async function getRuFu(eId:string) {
// if (zaifuList.startTime || zaifuList.endTime) dataInfo.leaseTime = `${moment(zaifuList.startTime).format("YYYY-MM-DD")}至${moment(zaifuList.endTime).format("YYYY-MM-DD")}`;
dataInfo.area = leaseInfo.area;
dataInfo.leaseContract = leaseInfo.leaseContract;
dataInfo.entryPlan = leaseInfo.entryPlan;
dataInfo.businessLicense = leaseInfo.businessLicense;
dataInfo.agreement = leaseInfo.agreement;
/**跳转用 */
dataInfo.leaseContractUrl = leaseInfo.leaseContract;
dataInfo.entryPlanUrl = leaseInfo.entryPlan;
dataInfo.businessLicenseUrl = leaseInfo.businessLicense;
dataInfo.agreementUrl = leaseInfo.agreement;
/**显示用:名称 */
dataInfo.leaseContract = getFileNameAndFormat(leaseInfo.leaseContract);
dataInfo.entryPlan = getFileNameAndFormat(leaseInfo.entryPlan);
dataInfo.businessLicense = getFileNameAndFormat(leaseInfo.businessLicense);
......
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