Commit 3058730a by lixinming
parents ab4de35c cd9c50ab
<config> <config>
<port>9098</port> <port>9098</port>
<sign>xxx90909082fsdahfjosadjfpoiwausjorip2hjklrhn1ioud0u124rx0qwejfokasjfolksaujfoas</sign> <sign>xxx90909082fsdahfjosadjfpoiwausjorip2hjklrhn1ioud0u124rx0qwejfokasjfolksaujfoas</sign>
<dbServer>http://192.168.0.72:9096</dbServer> <dbServer>http://192.168.0.71:9096</dbServer>
<imgUrl>http://192.168.0.72:9098</imgUrl> <imgUrl>http://192.168.0.71:9098</imgUrl>
<imgFileUrl>http://192.168.0.72:9097</imgFileUrl> <imgFileUrl>http://192.168.0.71:9097</imgFileUrl>
<fileUrl>/yuyi/files/1/</fileUrl> <fileUrl>/yuyi/files/1/</fileUrl>
<qcc> <qcc>
<key>2b14555ce89346e8b96684e2e2a1c7c2</key> <key>2b14555ce89346e8b96684e2e2a1c7c2</key>
......
...@@ -427,7 +427,7 @@ async function 工商信息(uscc) { ...@@ -427,7 +427,7 @@ async function 工商信息(uscc) {
// isNaturalPersonHolding: 工商信息., //是否自然人控股 // isNaturalPersonHolding: 工商信息., //是否自然人控股
// industry: 工商信息., //领域 // industry: 工商信息., //领域
// moreMail: 工商信息., //更多邮箱 // moreMail: 工商信息., //更多邮箱
logonAddress: 工商信息.Address, //注册地址 // logonAddress: 工商信息.Address, //注册地址
// tongXinDiZhi: 工商信息., //通信地址 // tongXinDiZhi: 工商信息., //通信地址
// liaison: 工商信息., //联系人 // liaison: 工商信息., //联系人
// liaisonPhone: 工商信息., //联系电话 // liaisonPhone: 工商信息., //联系电话
......
...@@ -14,6 +14,7 @@ import moment = require("moment"); ...@@ -14,6 +14,7 @@ import moment = require("moment");
import { changeAdd, extractData } from "../util/piecemeal"; import { changeAdd, extractData } from "../util/piecemeal";
import { EnterpriseApplyForConfig } from "../config/splitResult/enterprise"; import { EnterpriseApplyForConfig } from "../config/splitResult/enterprise";
import { changeEnumValue } from "../util/verificationEnum"; import { changeEnumValue } from "../util/verificationEnum";
import { systemSendMail } from "./mail";
...@@ -80,7 +81,7 @@ export async function enterpriseServiceOption(esId:string, fangKui:string) { ...@@ -80,7 +81,7 @@ export async function enterpriseServiceOption(esId:string, fangKui:string) {
*/ */
export async function enterpriseServiceEnd(esId:string, outcome:number, desc:string) { export async function enterpriseServiceEnd(esId:string, outcome:number, desc:string) {
let selectParam:any = {esId}; let selectParam:any = {esId};
let filesList = ["esId"]; let filesList = ["esId", "eId"];
let resInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业服务表, selectParam, filesList); let resInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业服务表, selectParam, filesList);
if ( !resInfo || !resInfo.esId) { if ( !resInfo || !resInfo.esId) {
throw new BizError(ERRORENUM.数据不存在); throw new BizError(ERRORENUM.数据不存在);
...@@ -89,7 +90,13 @@ export async function enterpriseServiceEnd(esId:string, outcome:number, desc:str ...@@ -89,7 +90,13 @@ export async function enterpriseServiceEnd(esId:string, outcome:number, desc:str
let updateInfo = {outcome, followUpStatus:enumConfig.FOLLOWUPSTATUS.已完成, desc, resolveTime:getMySqlMs()}; let updateInfo = {outcome, followUpStatus:enumConfig.FOLLOWUPSTATUS.已完成, desc, resolveTime:getMySqlMs()};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业服务表,updateInfo, {esId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业服务表,updateInfo, {esId});
return { //发送邮件
isSuccess:true let mailStr = "";
}; mailStr +=`<p>您的服务处理结果为:${changeEnumValue(enumConfig.OUTCOME, outcome)}</p>`;
} mailStr +=`<p>${desc}</p>`;
\ No newline at end of file await systemSendMail(resInfo.eId, enumConfig.MAILTYPE.结束企业服务, mailStr );
return { isSuccess:true };
}
...@@ -32,7 +32,7 @@ export async function getBaseData() { ...@@ -32,7 +32,7 @@ export async function getBaseData() {
"在孵企业":0, "在孵企业":0,
"迁出企业":0, "迁出企业":0,
"毕业企业":0, "毕业企业":0,
"出租率": "", // 添加出租率字段 // "出租率": "", // 添加出租率字段
// "园区面积":0,//新增 // "园区面积":0,//新增
// "产业规模": 0, // "产业规模": 0,
// "总资产投入金额": 0, // "总资产投入金额": 0,
...@@ -42,7 +42,7 @@ export async function getBaseData() { ...@@ -42,7 +42,7 @@ export async function getBaseData() {
fuhuaPinfen:0, //孵化器评分 没有该字段 fuhuaPinfen:0, //孵化器评分 没有该字段
fuhuaInfo:{ //孵化器信息 fuhuaInfo:{ //孵化器信息
}, },
entryInfo: {}, // 孵化器入驻信息 entryInfo: [], // 孵化器入驻信息
promotionInfo: {} // 运营推广信息 promotionInfo: {} // 运营推广信息
}; };
...@@ -93,7 +93,7 @@ export async function getBaseData() { ...@@ -93,7 +93,7 @@ export async function getBaseData() {
// baseData.fuhuaData["总资产投入金额"] = yuyiList.totalAssetInvestmentAmount; // baseData.fuhuaData["总资产投入金额"] = yuyiList.totalAssetInvestmentAmount;
// baseData.fuhuaData["引入机构数量"] = yuyiList.numberOfInstitutionsIntroduced; // baseData.fuhuaData["引入机构数量"] = yuyiList.numberOfInstitutionsIntroduced;
// baseData.fuhuaData["引入机构投资"] = yuyiList.introduceInstitutionalInvestment; // baseData.fuhuaData["引入机构投资"] = yuyiList.introduceInstitutionalInvestment;
baseData.fuhuaData["出租率"] = yuyiList.rentRate;//出租率 // baseData.fuhuaData["出租率"] = yuyiList.rentRate;//出租率
baseData.fuhuaInfo = { baseData.fuhuaInfo = {
"运营名称":yuyiList.operateName, "运营名称":yuyiList.operateName,
...@@ -116,38 +116,55 @@ export async function getBaseData() { ...@@ -116,38 +116,55 @@ export async function getBaseData() {
* 孵化器入驻信息 * 孵化器入驻信息
*/ */
let entryList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.入驻信息表, {}, [`info_enterId`, `building`, `occupancyRate`, `enteredEnterprises`]); let entryList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.入驻信息表, {}, [`info_enterId`, `building`, `occupancyRate`, `enteredEnterprises`]);
baseData.entryInfo = {"1":{"入驻率":"", "入驻企业":""}, "3":{"入驻率":"", "入驻企业":""}, "4":{"入驻率":"", "入驻企业":""}}; let entryInfo = {"1":{"入驻率":"", "入驻企业":""}, "3":{"入驻率":"", "入驻企业":""}, "4":{"入驻率":"", "入驻企业":""}};
if (entryList.length) { if (entryList.length) {
entryList.forEach( info => { entryList.forEach( info => {
// let building = changeEnumValue(BUILDING, info.building); // let building = changeEnumValue(BUILDING, info.building);
let building = info.building; let building = info.building;
if (!baseData.entryInfo[building]) { if (!entryInfo[building]) {
baseData.entryInfo[building] = { "入驻率": "", "入驻企业": "" }; entryInfo[building] = { "入驻率": "", "入驻企业": "" };
} }
baseData.entryInfo[building].入驻率 = info.occupancyRate; entryInfo[building].入驻率 = info.occupancyRate;
baseData.entryInfo[building].入驻企业 = info.enteredEnterprises; entryInfo[building].入驻企业 = info.enteredEnterprises;
}) })
} }
baseData.entryInfo = [];
for (let key in entryInfo) {
let dataList = [];
for (let name in entryInfo[key]) {
dataList.push({key:name, value:entryInfo[key][name]});
}
baseData.entryInfo.push({name:changeEnumValue(BUILDING, parseInt(key)), dataList});
}
/** /**
* 运营推广(次数) * 运营推广(次数)
*/ */
let promotionList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.运营推广信息表,{}, ["opId","promotionType", "promotionApp", "promotionNum"]); let promotionList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.运营推广信息表,{}, ["opId","promotionType", "promotionApp", "promotionNum"]);
baseData.promotionInfo = {"线上推广": {}, "线下推广": {}}; let promotionInfo = {"线上推广": {}, "线下推广": {}};
if (promotionList.length) { if (promotionList.length) {
promotionList.forEach( info => { promotionList.forEach( info => {
let appStr = ""; let appStr = "";
if (info.promotionType == PROMOTIONTYPE.线上推广) { if (info.promotionType == PROMOTIONTYPE.线上推广) {
appStr = changeEnumValue(ONLINEPROMOTION, info.promotionApp); appStr = changeEnumValue(ONLINEPROMOTION, info.promotionApp);
baseData.promotionInfo["线上推广"][appStr] = info.promotionNum; promotionInfo["线上推广"][appStr] = info.promotionNum;
} else if (info.promotionType == PROMOTIONTYPE.线下推广) { } else if (info.promotionType == PROMOTIONTYPE.线下推广) {
appStr = changeEnumValue(OFFLINEPROMOTION, info.promotionApp); appStr = changeEnumValue(OFFLINEPROMOTION, info.promotionApp);
baseData.promotionInfo["线下推广"][appStr] = info.promotionNum; promotionInfo["线下推广"][appStr] = info.promotionNum;
} }
}) })
} }
baseData.promotionInfo = {"线上推广": [], "线下推广": []};
for (let key in promotionInfo) {
let infoData = promotionInfo[key];
for (let name in infoData) {
baseData.promotionInfo[key].push({key:name, value:infoData[name]});
}
}
return {baseData}; return {baseData};
} }
...@@ -269,20 +286,31 @@ export async function getOperateData(year) { ...@@ -269,20 +286,31 @@ export async function getOperateData(year) {
} }
export function getYearList() { /**
// 获取当前年份 * 根据传入的年份生成当前年份与目标年份之间的所有年份列表
const currentTime = moment(); * @param targetYear 传入的年份
const sixMonthsAgo = currentTime.clone().subtract(6, 'year'); * @returns
*/
export function getYearList(targetYear) {
const currentYear = new Date().getFullYear(); const currentYear = new Date().getFullYear();
// 初始化一个空数组来存储年份 // 生成目标年份与当前年份之间的年份列表
const years = []; const startYear = Math.min(targetYear, currentYear);
const endYear = Math.max(targetYear, currentYear);
// 使用一个循环来添加当前年份到6年后的每一个年份到数组中 let years = [];
for (let i = 0; i <= 6; i++) { for (let year = startYear; year <= endYear; year++) {
years.push(currentYear - i); years.push(year);
}
// 如果结果不足5年,返回近5年列表
if (years.length < 5) {
years = [];
for (let year = currentYear - 4; year <= currentYear; year++) {
years.push(year);
}
} }
// 确保输出顺序始终为时间正序
years.sort((a, b) => { years.sort((a, b) => {
return a - b; return a - b;
}) })
...@@ -350,16 +378,22 @@ export async function getWorthDate() { ...@@ -350,16 +378,22 @@ export async function getWorthDate() {
/**纳税趋势 */ /**纳税趋势 */
let nashuiList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, {}); let nashuiList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, {});
let minNaShuiYear = Math.min( ...nashuiList.map(item => new Date(item.investmentDate).getFullYear()) );
let nashuiData = {}; if (!nashuiList.length) minNaShuiYear = new Date().getFullYear();
nashuiList.forEach( info => { let nashuiYear = getYearList(minNaShuiYear);
let year = moment(info.annual).format("YYYY");
if (!nashuiData[year]) nashuiData[year] = 0; for(let i = 0; i < nashuiYear.length; i++) {
nashuiData[year] += parseFloat(info.TXP); let nashui = 0;
}) nashuiList.forEach( info => {
for (let key in nashuiData) { let parsedStartTime = moment(info.annual);
worthData.TXP.push({key, value:nashuiData[key].toString()}); if (parsedStartTime.isValid() && parsedStartTime.year() === nashuiYear[i]) {
nashui += parseFloat(info.TXP);
}
})
worthData.TXP.push({key:nashuiYear[i], value:nashui.toString()});
} }
//X轴排序 //X轴排序
worthData.TXP.sort( (a, b) => { worthData.TXP.sort( (a, b) => {
return a.key - b.key; return a.key - b.key;
...@@ -368,7 +402,9 @@ export async function getWorthDate() { ...@@ -368,7 +402,9 @@ export async function getWorthDate() {
/**融资额趋势分析 */ /**融资额趋势分析 */
let 融资情况 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, []); let 融资情况 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, []);
let year = getYearList(); let minYear = Math.min( ...融资情况.map(item => new Date(item.investmentDate).getFullYear()) );
if (!融资情况.length) minYear = new Date().getFullYear();
let year = getYearList(minYear);
for(let i = 0; i < year.length; i++) { for(let i = 0; i < year.length; i++) {
let 融资金额 = 0; let 融资金额 = 0;
融资情况.forEach(info => { 融资情况.forEach(info => {
...@@ -381,33 +417,38 @@ export async function getWorthDate() { ...@@ -381,33 +417,38 @@ export async function getWorthDate() {
} }
/**就业人数趋势 */ /**就业人数趋势 */
let jiuyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, {}); let 参保记录 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, {});
let jiuyeInfo = {}; let minJiuyeYear = Math.min( ...参保记录.map(item => new Date(item.investmentDate).getFullYear()) );
jiuyeList.forEach( info => { if (!参保记录.length) minJiuyeYear = new Date().getFullYear();
let year = moment(info.annual).format("YYYY"); let jiuyeyear = getYearList(minJiuyeYear);
if (!jiuyeInfo[year]) jiuyeInfo[year] = 0; for(let i = 0; i < jiuyeyear.length; i++) {
if (info.zhuanKe) { let 就业人数 = 0;
jiuyeInfo[year] += parseInt(info.zhuanKe); 参保记录.forEach(info => {
} let 参保日期 = moment(info.annual);
if (info.benKe) { if (参保日期.isValid() && 参保日期.year() === jiuyeyear[i]) {
jiuyeInfo[year] += parseInt(info.benKe); if (info.zhuanKe) {
} 就业人数 += parseInt(info.zhuanKe);
if (info.shuoshi) { }
jiuyeInfo[year] += parseInt(info.shuoshi); if (info.benKe) {
} 就业人数 += parseInt(info.benKe);
if (info.boShi) { }
jiuyeInfo[year] += parseInt(info.boShi); if (info.shuoshi) {
} 就业人数 += parseInt(info.shuoshi);
if (info.boshiyishang) { }
jiuyeInfo[year] += parseInt(info.boshiyishang); if (info.boShi) {
} 就业人数 += parseInt(info.boShi);
if (info.qiTa) { }
jiuyeInfo[year] += parseInt(info.qiTa); if (info.boshiyishang) {
} 就业人数 += parseInt(info.boshiyishang);
}) }
for(let key in jiuyeInfo) { if (info.qiTa) {
worthData.jiuye.push({key, value:jiuyeInfo[key].toString()}); 就业人数 += parseInt(info.qiTa);
}
}
});
worthData.jiuye.push({key:jiuyeyear[i], value:就业人数.toString()});
} }
//X轴排序 //X轴排序
worthData.jiuye.sort( (a, b) => { worthData.jiuye.sort( (a, b) => {
return a.key - b.key; return a.key - b.key;
......
...@@ -18,8 +18,8 @@ let transporter = nodemailer.createTransport({ ...@@ -18,8 +18,8 @@ let transporter = nodemailer.createTransport({
} }
}); });
async function send(toMail, name, type, code?) { async function send(toMail, name, type, otherStr?, code?) {
let {title, mailStr} = getModel(name, type, code); let {title, mailStr} = getModel(name, type, otherStr, code);
// 设置邮件选项 // 设置邮件选项
let mailOptions = { let mailOptions = {
from: '羽翼 <1685675085@qq.com>', // 发送者地址 from: '羽翼 <1685675085@qq.com>', // 发送者地址
...@@ -41,7 +41,7 @@ async function send(toMail, name, type, code?) { ...@@ -41,7 +41,7 @@ async function send(toMail, name, type, code?) {
} }
function getModel(name, type, code?) { function getModel(name, type, otherStr?, code?) {
let str = ""; let str = "";
let title = ""; let title = "";
switch (type) { switch (type) {
...@@ -49,6 +49,10 @@ function getModel(name, type, code?) { ...@@ -49,6 +49,10 @@ function getModel(name, type, code?) {
str = "您提交的企业材料审核成功,欢迎入驻羽翼孵化器。"; str = "您提交的企业材料审核成功,欢迎入驻羽翼孵化器。";
title = "审核通过"; title = "审核通过";
break; break;
case MAILTYPE.结束企业服务:
str = otherStr;
title = "企业服务受理结果";
break;
} }
let mailStr = "" let mailStr = ""
...@@ -65,14 +69,14 @@ function getModel(name, type, code?) { ...@@ -65,14 +69,14 @@ function getModel(name, type, code?) {
* @param userId * @param userId
* @param type * @param type
*/ */
export async function systemSendMail(eId, type) { export async function systemSendMail(eId, type, otherStr?) {
let userInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {eId}, ["eId", "enterpriseName", "uscc", "mail"]); let userInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {eId}, ["eId", "enterpriseName", "uscc", "mail"]);
if (!userInfo || !userInfo.eId) throw new BizError(ERRORENUM.企业不存在); if (!userInfo || !userInfo.eId) throw new BizError(ERRORENUM.企业不存在);
if (!userInfo.mail) { if (!userInfo.mail) {
new BizError(ERRORENUM.该用户邮箱为空, eId, eId.enterpriseName); new BizError(ERRORENUM.该用户邮箱为空, eId, eId.enterpriseName);
} else { } else {
let result = await send(userInfo.mail, userInfo.enterpriseName, type); let result = await send(userInfo.mail, userInfo.enterpriseName, type, otherStr);
} }
return successResult(); return successResult();
......
...@@ -111,7 +111,7 @@ export const YuYiBaseDataUpdateConfig = { ...@@ -111,7 +111,7 @@ export const YuYiBaseDataUpdateConfig = {
synopsis:{type:"String"},//简介 synopsis:{type:"String"},//简介
totalArea:{type:"String"},//孵化器总面积 totalArea:{type:"String"},//孵化器总面积
zaifuArea:{type:"String"},//在孵面积 zaifuArea:{type:"String"},//在孵面积
rentRate:{type:"String"},//出租率 // rentRate:{type:"String"},//出租率
// uscc:{type:"String"},//统一信用代码 // uscc:{type:"String"},//统一信用代码
entryInfo:{type:"object"}, //孵化器入驻信息 entryInfo:{type:"object"}, //孵化器入驻信息
......
...@@ -29,9 +29,9 @@ export enum TABLENAME { ...@@ -29,9 +29,9 @@ export enum TABLENAME {
企业资质 ='enterprise_qualification', 企业资质 ='enterprise_qualification',
参保记录 ='enterprise_canbao', 参保记录 ='enterprise_canbao',
创业团队 ='enterprise_team', 创业团队 ='enterprise_team',
知识产权 ='enterprise_ipr', // 知识产权 ='enterprise_ipr',
法人信息表 ='enterprise_legal_person', 法人信息表 ='enterprise_legal_person',
企业专利表 ='enterprise_patent', // 企业专利表 ='enterprise_patent',
园区通知表 ='garden_notice', 园区通知表 ='garden_notice',
园区活动表 ='garden_activity', 园区活动表 ='garden_activity',
企业服务表 ='enterprise_service', 企业服务表 ='enterprise_service',
...@@ -55,6 +55,10 @@ export enum TABLENAME { ...@@ -55,6 +55,10 @@ export enum TABLENAME {
入孵申请审批表 ='approval_history', 入孵申请审批表 ='approval_history',
入驻信息表 = "info_enter", 入驻信息表 = "info_enter",
运营推广信息表 = "info_operation_promotion", 运营推广信息表 = "info_operation_promotion",
商标 = "trade_mark",
作品著作权 = "copy_right",
软件著作权 = "software_copyright",
专利 = "patent",
} }
...@@ -69,9 +73,9 @@ export enum TABLEID { ...@@ -69,9 +73,9 @@ export enum TABLEID {
企业资质 ='qu', 企业资质 ='qu',
参保记录 ='cb', 参保记录 ='cb',
创业团队 ='te', 创业团队 ='te',
知识产权 ='ipr', // 知识产权 ='ipr',
法人信息表 ='ps', 法人信息表 ='ps',
企业专利表 ='pe', // 企业专利表 ='pe',
园区通知表 ='nt', 园区通知表 ='nt',
园区活动表 ='ac', 园区活动表 ='ac',
企业服务表 ='es', 企业服务表 ='es',
......
...@@ -263,15 +263,33 @@ export enum QUARTER { ...@@ -263,15 +263,33 @@ export enum QUARTER {
* 知识产权 全类型 * 知识产权 全类型
*/ */
export enum IPRALLTYPE { export enum IPRALLTYPE {
软件著作权 = 1, 商标信息 = 1,
专利 = 100, 作品著作权,
发明专利 = 101, 软件著作权,
海外专利 = 102, 外观设计专利,
其他 = 200, 实用新型专利,
植物新品种 = 201, 发明专利
集成电路布图 =202 // 软件著作权 = 1,
// 专利 = 100,
// 发明专利 = 101,
// 海外专利 = 102,
// 其他 = 200,
// 植物新品种 = 201,
// 集成电路布图 =202
} }
/**
* 专利表属于知识产权类型中的详细分类
*/
export enum KUNDCODE {
发明公布 = 1,
发明授权,
实用新型,
外观设计
}
export enum IPRTYPE { export enum IPRTYPE {
软件著作权 = 1, 软件著作权 = 1,
专利 = 100, 专利 = 100,
...@@ -377,6 +395,7 @@ export enum RISKTYPE { ...@@ -377,6 +395,7 @@ export enum RISKTYPE {
*/ */
export enum MAILTYPE { export enum MAILTYPE {
通过入孵材料审核 = 1, 通过入孵材料审核 = 1,
结束企业服务,
} }
......
...@@ -33,7 +33,7 @@ export const YuYiBaseDataConfig = { ...@@ -33,7 +33,7 @@ export const YuYiBaseDataConfig = {
synopsis:{key:"简介"}, synopsis:{key:"简介"},
totalArea:{key:"孵化器总面积"}, totalArea:{key:"孵化器总面积"},
zaifuArea:{key:"在孵面积"}, zaifuArea:{key:"在孵面积"},
rentRate:{key:"出租率"}, // rentRate:{key:"出租率"},
// ziyonArea:{key:"自用面积"}, // ziyonArea:{key:"自用面积"},
// parkArea:{key:"园区面积"},//新增 // parkArea:{key:"园区面积"},//新增
// enterpriseNum:{key:"企业数量"}, // enterpriseNum:{key:"企业数量"},
......
...@@ -98,4 +98,38 @@ export async function selectManyTableData(url, tableName, param, column, includ ...@@ -98,4 +98,38 @@ export async function selectManyTableData(url, tableName, param, column, includ
if (result.code != 200) throw new BizError(ERRORENUM.数据联合查询失败, result.code); if (result.code != 200) throw new BizError(ERRORENUM.数据联合查询失败, result.code);
if (!result.data || !result.data.data) throw new BizError(ERRORENUM.数据联合查询失败, JSON.stringify(result.data)); if (!result.data || !result.data.data) throw new BizError(ERRORENUM.数据联合查询失败, JSON.stringify(result.data));
return result.data.data; return result.data.data;
} }
\ No newline at end of file
/**
* 数组分页函数
* @param {Array} data - 原始数组
* @param {Number} page - 当前页码(从1开始)
* @param {Number} pageSize - 每页数据量
* @returns {Object} 包含分页数据和元信息的对象
*/
export async function paginateArray(data, page = 1, pageSize = 10) {
// 校验参数合法性
page = Math.max(1, page) || 1;
pageSize = Math.max(1, pageSize) || 10;
// 计算分页索引
const startIndex = (page - 1) * pageSize;
const endIndex = startIndex + pageSize;
// 切割数据并生成结果
const paginatedData = data.slice(startIndex, endIndex);
return {
data: paginatedData,
meta: {
currentPage: page, //当前页码
pageSize: pageSize, //每页数据量
totalItems: data.length, //总条数
totalPages: Math.ceil(data.length / pageSize), //总页数
hasNextPage: endIndex < data.length, // 是否有下一页
hasPrevPage: startIndex > 0 // 是否有上一页
}
};
}
...@@ -337,8 +337,8 @@ async function outPutTalentList(req, res) { ...@@ -337,8 +337,8 @@ async function outPutTalentList(req, res) {
*/ */
async function enterpriseList(req, res) { async function enterpriseList(req, res) {
const UserInfo = req.userInfo; const UserInfo = req.userInfo;
let {enterpriseName, page, logonStartTime, logonEndTime, building } = req.body let {enterpriseName, page, logonStartTime, logonEndTime, startTime, endTime, building } = req.body
let result = await zaiFuBiz.enterpriseList(enterpriseName, page, logonStartTime, logonEndTime, building); let result = await zaiFuBiz.enterpriseList(enterpriseName, page, logonStartTime, logonEndTime, startTime, endTime, building);
res.success(result); res.success(result);
} }
...@@ -430,8 +430,8 @@ async function enterpriseDetails(req, res) { ...@@ -430,8 +430,8 @@ async function enterpriseDetails(req, res) {
* @param res * @param res
*/ */
async function dwEnterpriseList(req, res) { async function dwEnterpriseList(req, res) {
let {enterpriseName, type, logonStartTime, logonEndTime, building } = req.body let {enterpriseName, type, logonStartTime, logonEndTime, startTime, endTime, building } = req.body
let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, logonStartTime, logonEndTime, building ); let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, logonStartTime, logonEndTime, startTime, endTime, building );
// let {enterpriseName, type, files} = req.body // let {enterpriseName, type, files} = req.body
// let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, files); // let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, files);
......
...@@ -243,76 +243,76 @@ export async function data1210(req, res) { ...@@ -243,76 +243,76 @@ export async function data1210(req, res) {
if (subList[31]) { if (subList[31]) {
for(let i = 0; i < parseInt(subList[31]); i++) { // for(let i = 0; i < parseInt(subList[31]); i++) {
let enterprise_2022iprInfo = { // let enterprise_2022iprInfo = {
iprId:randomId(TABLEID.知识产权), // iprId:randomId(TABLEID.知识产权),
eId, // eId,
year:getMySqlMs("2022-01-01 00:00:00"), // year:getMySqlMs("2022-01-01 00:00:00"),
number:1, // number:1,
iprType:IPRALLTYPE.软件著作权, // iprType:IPRALLTYPE.软件著作权,
selectedValue:null, // selectedValue:null,
iprName:null, // iprName:null,
iprUrl:null, // iprUrl:null,
// softwareCopyrightCount:null, // // softwareCopyrightCount:null,
// inventionPatentCount:null, // // inventionPatentCount:null,
// overseasPatentCount:null, // // overseasPatentCount:null,
// plantVarietyCount:null, // // plantVarietyCount:null,
// icLayoutCount:null, // // icLayoutCount:null,
} // }
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022iprInfo, {}); // await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022iprInfo, {});
} // }
} }
if (subList[32]) { if (subList[32]) {
for(let i = 0; i < parseInt(subList[32]); i++) { // for(let i = 0; i < parseInt(subList[32]); i++) {
let enterprise_2023iprInfo = { // let enterprise_2023iprInfo = {
iprId:randomId(TABLEID.知识产权), // iprId:randomId(TABLEID.知识产权),
eId, // eId,
year:getMySqlMs("2023-01-01 00:00:00"), // year:getMySqlMs("2023-01-01 00:00:00"),
number:1, // number:1,
iprType:IPRALLTYPE.软件著作权, // iprType:IPRALLTYPE.软件著作权,
selectedValue:null, // selectedValue:null,
iprName:null, // iprName:null,
iprUrl:null, // iprUrl:null,
// softwareCopyrightCount:null, // // softwareCopyrightCount:null,
// inventionPatentCount:null, // // inventionPatentCount:null,
// overseasPatentCount:null, // // overseasPatentCount:null,
// plantVarietyCount:null, // // plantVarietyCount:null,
// icLayoutCount:null, // // icLayoutCount:null,
} // }
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2023iprInfo, {}); // await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2023iprInfo, {});
} // }
} }
if (subList[33]) { if (subList[33]) {
for(let i = 0; i < parseInt(subList[33]); i++) { // for(let i = 0; i < parseInt(subList[33]); i++) {
let enterprise_2022patent = { // let enterprise_2022patent = {
iprId:randomId(TABLEID.知识产权), // iprId:randomId(TABLEID.知识产权),
eId, // eId,
year:getMySqlMs("2022-01-01 00:00:00"), // year:getMySqlMs("2022-01-01 00:00:00"),
number:1, // number:1,
iprType:IPRALLTYPE.发明专利, // iprType:IPRALLTYPE.发明专利,
selectedValue:null, // selectedValue:null,
iprName:null, // iprName:null,
iprUrl:null, // iprUrl:null,
} // }
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {}); // await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {});
} // }
} }
if (subList[34]) { if (subList[34]) {
for(let i = 0; i < parseInt(subList[34]); i++) { // for(let i = 0; i < parseInt(subList[34]); i++) {
let enterprise_2022patent = { // let enterprise_2022patent = {
iprId:randomId(TABLEID.知识产权), // iprId:randomId(TABLEID.知识产权),
eId, // eId,
year:getMySqlMs("2023-01-01 00:00:00"), // year:getMySqlMs("2023-01-01 00:00:00"),
number:1, // number:1,
iprType:IPRALLTYPE.发明专利, // iprType:IPRALLTYPE.发明专利,
selectedValue:null, // selectedValue:null,
iprName:null, // iprName:null,
iprUrl:null, // iprUrl:null,
} // }
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {}); // await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {});
} // }
} }
if (subList[35] || subList[36] || subList[37] || subList[38]) { if (subList[35] || subList[36] || subList[37] || subList[38]) {
......
...@@ -28,9 +28,7 @@ const config = { ...@@ -28,9 +28,7 @@ const config = {
"/public/policytype":enumConfig.POLICYTYPE,// 政策文件类型 "/public/policytype":enumConfig.POLICYTYPE,// 政策文件类型
"/public/clientpolicytype":enumConfig.CLIENTPOLICYTYPE,// 政策文件类型-前端用 "/public/clientpolicytype":enumConfig.CLIENTPOLICYTYPE,// 政策文件类型-前端用
"/public/building":enumConfig.BUILDING,// 园区楼号 "/public/building":enumConfig.BUILDING,// 园区楼号
"/public/ipralltype":enumConfig.IPRALLTYPE, //企查查知识产权类型
// "/public/output/basedata":outputEnumConfig.BASEDATA, // "/public/output/basedata":outputEnumConfig.BASEDATA,
// "/public/output/opreatdata":outputEnumConfig.OPERATIONDATA, // "/public/output/opreatdata":outputEnumConfig.OPERATIONDATA,
// "/public/output/financingdata":outputEnumConfig.FINANCINGDATA, // "/public/output/financingdata":outputEnumConfig.FINANCINGDATA,
......
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