Commit cd9c50ab by chenjinjing

no message

parent ff053674
<config>
<port>9098</port>
<sign>xxx90909082fsdahfjosadjfpoiwausjorip2hjklrhn1ioud0u124rx0qwejfokasjfolksaujfoas</sign>
<dbServer>http://192.168.0.72:9096</dbServer>
<imgUrl>http://192.168.0.72:9098</imgUrl>
<imgFileUrl>http://192.168.0.72:9097</imgFileUrl>
<dbServer>http://192.168.0.71:9096</dbServer>
<imgUrl>http://192.168.0.71:9098</imgUrl>
<imgFileUrl>http://192.168.0.71:9097</imgFileUrl>
<fileUrl>/yuyi/files/1/</fileUrl>
<qcc>
<key>2b14555ce89346e8b96684e2e2a1c7c2</key>
......
......@@ -6,7 +6,7 @@
import { ApplyForUpdateConfig, GardenNoticeUpdateConfig, PolicyUpdateConfig, RegisterUpdateConfig, SettleInForUpdateConfig } from "../config/eccParam/enterprise";
import { OPERATIONALDATATYPE, TABLEID, TABLENAME } from "../config/enum/dbEnum";
import * as enumConfig from "../config/enum/enum";
import { operationalData, selectData, selectManyTableData } from "../data/operationalData";
import { operationalData, paginateArray, selectData, selectManyTableData } from "../data/operationalData";
import { BizError } from "../util/bizError";
import { eccFormParam } from "../util/verificationParam";
import { ERRORENUM } from "../config/enum/errorEnum";
......@@ -558,64 +558,109 @@ export async function outPutEnterpriseTalentList(enterpriseName:string, type:num
* @returns
*/
export async function iprList(enterpriseName, page) {
let selectParam:any = {};
if (enterpriseName) {
selectParam.enterpriseName = {"%like%":enterpriseName};
let 商标 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.商标, {}, ["tmId", "eId", "qccId", "regNo", "name", "categoryId", "category", "person", "imageUrl", "flowStatusDesc", "RegDate"]);
let 作品著作权 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.作品著作权, {}, ["crId", "eId", "owner", "category", "name", "registerNo", "registerDate", "publishDate", "finishDate"]);
let 软件著作权 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.软件著作权, {}, ["scId", "eId", "category", "publishDate", "versionNo", "registerNo", "registerAperDate", "name", "shortName", "owner", "finishDevelopDate"]);
let 专利 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专利, {}, ["patentId", "eId", "category", "kindcode", "applicationNumber", "applicationDate", "publicationNumber", "publicationDate", "legalStatusDesc", "title", "agency", "kindCodeDesc", "IPCDesc", "inventorStringList", "assigneestringList"]);
let 知识产权Map:any = {};
if (商标.length) {
商标.forEach( info => {
if (!知识产权Map[info.eId]) 知识产权Map[info.eId] = {};
if (!知识产权Map[info.eId][enumConfig.IPRALLTYPE.商标信息]) 知识产权Map[info.eId][enumConfig.IPRALLTYPE.商标信息] = [];
知识产权Map[info.eId][enumConfig.IPRALLTYPE.商标信息].push(info)
})
}
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.知识产权] = {column:["eId","number","iprType"], where:{}};
let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, [], manyTableInfo, page);
let allDataList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, ["enterpriseName", "uscc"], manyTableInfo);
let dataList = [];
resInfo.forEach(info => {
let {eId,uscc, enterpriseName, enterprise_iprs} = info;
let addItem = {
eId,
uscc,
enterpriseName,
count:0,
softwareCopyrightCount: 0,//软件著作权
inventionPatentCount: 0,
overseasPatentCount: 0,
plantVarietyCount: 0,
icLayoutCount: 0
};
for (let i = 0; i < enterprise_iprs.length; i++) {
let item = enterprise_iprs[i];
if (item.number) {
addItem.count += item.number;
}
if (作品著作权.length) {
作品著作权.forEach( info => {
if (!知识产权Map[info.eId]) 知识产权Map[info.eId] = {};
if (!知识产权Map[info.eId][enumConfig.IPRALLTYPE.作品著作权]) 知识产权Map[info.eId][enumConfig.IPRALLTYPE.作品著作权] = [];
知识产权Map[info.eId][enumConfig.IPRALLTYPE.作品著作权].push(info)
})
}
if (软件著作权.length) {
软件著作权.forEach( info => {
if (!知识产权Map[info.eId]) 知识产权Map[info.eId] = {};
if (!知识产权Map[info.eId][enumConfig.IPRALLTYPE.软件著作权]) 知识产权Map[info.eId][enumConfig.IPRALLTYPE.软件著作权] = [];
知识产权Map[info.eId][enumConfig.IPRALLTYPE.软件著作权].push(info)
})
}
if (item.iprType === enumConfig.IPRALLTYPE.软件著作权) {
addItem.softwareCopyrightCount += item.number;
}else if (item.iprType === enumConfig.IPRALLTYPE.发明专利){
addItem.inventionPatentCount += item.number;
} else if (item.iprType === enumConfig.IPRALLTYPE.海外专利){
addItem.overseasPatentCount += item.number;
} else if (item.iprType === enumConfig.IPRALLTYPE.植物新品种){
addItem.plantVarietyCount += item.number;
} else if (item.iprType === enumConfig.IPRALLTYPE.集成电路布图){
addItem.icLayoutCount += item.number;
if (专利.length) {
//1.发明公布,2.发明授权,3.实用新型,4.外观设计
专利.forEach( info => {
if (!知识产权Map[info.eId]) 知识产权Map[info.eId] = {};
if (!知识产权Map[info.eId][enumConfig.IPRALLTYPE.发明专利]) 知识产权Map[info.eId][enumConfig.IPRALLTYPE.发明专利] = [];
if (!知识产权Map[info.eId][enumConfig.IPRALLTYPE.实用新型专利]) 知识产权Map[info.eId][enumConfig.IPRALLTYPE.实用新型专利] = [];
if (!知识产权Map[info.eId][enumConfig.IPRALLTYPE.外观设计专利]) 知识产权Map[info.eId][enumConfig.IPRALLTYPE.外观设计专利] = [];
let {kindcode} = info;
if (kindcode == enumConfig.KUNDCODE.发明公布) {
知识产权Map[info.eId][enumConfig.IPRALLTYPE.发明专利].push(info);
} else if (kindcode == enumConfig.KUNDCODE.发明授权) {
知识产权Map[info.eId][enumConfig.IPRALLTYPE.发明专利].push(info);
} else if (kindcode == enumConfig.KUNDCODE.实用新型) {
知识产权Map[info.eId][enumConfig.IPRALLTYPE.实用新型专利].push(info);
} else if (kindcode == enumConfig.KUNDCODE.外观设计) {
知识产权Map[info.eId][enumConfig.IPRALLTYPE.外观设计专利].push(info);
}
}
})
}
// 确保 count 是所有专利类型的总和
addItem.count = addItem.softwareCopyrightCount
+ addItem.inventionPatentCount + addItem.overseasPatentCount
+ addItem.plantVarietyCount + addItem.icLayoutCount;
let eIdConf = [];
for (let key in 知识产权Map) {
eIdConf.push(key)
}
for (let key in addItem) {
if (key !== 'eId' && addItem[key] == undefined) {
addItem[key] = "-";
}
let selectParam:any = {};
if (enterpriseName) {
selectParam.enterpriseName = {"%like%":enterpriseName};
}
if (eIdConf.length) {
selectParam.eId = {"%in%":eIdConf};
}
let resInfo = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业基础信息表, selectParam, []);
let resData = [];
resInfo.forEach(info => {
let 知识产权数量 = {
商标信息 : 0,
作品著作权 : 0,
软件著作权 : 0,
外观设计专利 : 0,
实用新型专利 : 0,
发明专利 : 0,
}
if (知识产权Map[info.eId][enumConfig.IPRALLTYPE.商标信息]) 知识产权数量.商标信息 = 知识产权Map[info.eId][enumConfig.IPRALLTYPE.商标信息].length;
if (知识产权Map[info.eId][enumConfig.IPRALLTYPE.作品著作权]) 知识产权数量.作品著作权 = 知识产权Map[info.eId][enumConfig.IPRALLTYPE.作品著作权].length;
if (知识产权Map[info.eId][enumConfig.IPRALLTYPE.软件著作权]) 知识产权数量.软件著作权 = 知识产权Map[info.eId][enumConfig.IPRALLTYPE.软件著作权].length;
if (知识产权Map[info.eId][enumConfig.IPRALLTYPE.外观设计专利]) 知识产权数量.外观设计专利 = 知识产权Map[info.eId][enumConfig.IPRALLTYPE.外观设计专利].length;
if (知识产权Map[info.eId][enumConfig.IPRALLTYPE.实用新型专利]) 知识产权数量.实用新型专利 = 知识产权Map[info.eId][enumConfig.IPRALLTYPE.实用新型专利].length;
if (知识产权Map[info.eId][enumConfig.IPRALLTYPE.发明专利]) 知识产权数量.发明专利 = 知识产权Map[info.eId][enumConfig.IPRALLTYPE.发明专利].length;
let count = 知识产权数量.商标信息 + 知识产权数量.作品著作权 + 知识产权数量.软件著作权 + 知识产权数量.外观设计专利 + 知识产权数量.实用新型专利 + 知识产权数量.发明专利;
let addInfo = {
eId:info.eId,
enterpriseName:info.enterpriseName,
count, //知识产权总数
shangbiao:知识产权数量.商标信息,//商标信息
zuopingzhuzuo:知识产权数量.作品著作权,//作品著作权
ruanjianzhuzuo:知识产权数量.软件著作权,//软件著作权
waiguansheji:知识产权数量.外观设计专利,//外观设计专利
shiyongxinxing:知识产权数量.实用新型专利,//实用新型专利
faming:知识产权数量.发明专利,//发明专利
}
dataList.push(addItem);
});
return {dataList, dataCount:allDataList.length};
resData.push(addInfo)
})
let paginatedData = await paginateArray(resData, page);
let dataList = paginatedData.data;
let dataCount = paginatedData.meta.totalItems;
return {dataList, dataCount};
}
/**
......@@ -623,57 +668,107 @@ export async function iprList(enterpriseName, page) {
* @param eId
* @returns
*/
export async function getiprDetails(eId: string) {
let selectParam:any = {eId };
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.知识产权] = {column:["eId","iprName","year","iprUrl", "iprType"], where:{}};
let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, ["enterpriseName", "uscc"], manyTableInfo);
export async function getiprDetails(eId:string) {
let 商标 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.商标, {eId}, ["tmId", "eId", "qccId", "regNo", "name", "categoryId", "category", "person", "imageUrl", "flowStatusDesc", "RegDate"]);
let 作品著作权 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.作品著作权, {eId}, ["crId", "eId", "owner", "category", "name", "registerNo", "registerDate", "publishDate", "finishDate", "iprUrl"]);
let 软件著作权 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.软件著作权, {eId}, ["scId", "eId", "category", "publishDate", "versionNo", "registerNo", "registerAperDate", "name", "shortName", "owner", "finishDevelopDate", "iprUrl"]);
let 专利 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专利, {eId}, ["patentId", "eId", "category", "kindcode", "applicationNumber", "applicationDate", "publicationNumber", "publicationDate", "legalStatusDesc", "title", "agency", "kindCodeDesc", "IPCDesc", "inventorStringList", "assigneestringList", "iprUrl"]);
let 知识产权Map:any = {};
if (商标.length) {
商标.forEach( info => {
if (!知识产权Map[enumConfig.IPRALLTYPE.商标信息]) 知识产权Map[enumConfig.IPRALLTYPE.商标信息] = [];
知识产权Map[enumConfig.IPRALLTYPE.商标信息].push(info)
})
}
// 检查 resInfo 是否为空或 undefined
if (!resInfo || resInfo.length === 0) {
return {}; // 或者返回其他合适的默认值
if (作品著作权.length) {
作品著作权.forEach( info => {
if (!知识产权Map[enumConfig.IPRALLTYPE.作品著作权]) 知识产权Map[enumConfig.IPRALLTYPE.作品著作权] = [];
知识产权Map[enumConfig.IPRALLTYPE.作品著作权].push(info)
})
}
let iprTypeInfo = {};
if (软件著作权.length) {
软件著作权.forEach( info => {
if (!知识产权Map[enumConfig.IPRALLTYPE.软件著作权]) 知识产权Map[enumConfig.IPRALLTYPE.软件著作权] = [];
知识产权Map[enumConfig.IPRALLTYPE.软件著作权].push(info)
})
}
let fileConfig = {};
fileConfig[enumConfig.IPRALLTYPE.软件著作权] = "softwareCopyright";
fileConfig[enumConfig.IPRALLTYPE.发明专利] = "inventionPatent";
fileConfig[enumConfig.IPRALLTYPE.海外专利] = "overseasPatent";
fileConfig[enumConfig.IPRALLTYPE.植物新品种] = "plantVariety";
fileConfig[enumConfig.IPRALLTYPE.集成电路布图] = "icLayout";
resInfo[0].enterprise_iprs.forEach(info => {
let {iprName, year, iprUrl, iprType} = info;
let typeStr = fileConfig[iprType];
let yearStr = moment(year).format("YYYY");
if(!iprTypeInfo[typeStr]) iprTypeInfo[typeStr] = [];
let iprUrlStr = [];
//遍历iprUrl
if (iprUrl) {
let iprUrlArr = JSON.parse(iprUrl);
for (let i = 0; i < iprUrlArr.length; i++) {
iprUrlStr.push(`${systemConfig.imgFileUrl}${iprUrlArr[i]}`);
if (专利.length) {
//1.发明公布,2.发明授权,3.实用新型,4.外观设计
专利.forEach( info => {
if (!知识产权Map[enumConfig.IPRALLTYPE.发明专利]) 知识产权Map[enumConfig.IPRALLTYPE.发明专利] = [];
if (!知识产权Map[enumConfig.IPRALLTYPE.实用新型专利]) 知识产权Map[enumConfig.IPRALLTYPE.实用新型专利] = [];
if (!知识产权Map[enumConfig.IPRALLTYPE.外观设计专利]) 知识产权Map[enumConfig.IPRALLTYPE.外观设计专利] = [];
let {kindcode} = info;
if (kindcode == enumConfig.KUNDCODE.发明公布) {
知识产权Map[enumConfig.IPRALLTYPE.发明专利].push(info);
} else if (kindcode == enumConfig.KUNDCODE.发明授权) {
知识产权Map[enumConfig.IPRALLTYPE.发明专利].push(info);
} else if (kindcode == enumConfig.KUNDCODE.实用新型) {
知识产权Map[enumConfig.IPRALLTYPE.实用新型专利].push(info);
} else if (kindcode == enumConfig.KUNDCODE.外观设计) {
知识产权Map[enumConfig.IPRALLTYPE.外观设计专利].push(info);
}
})
}
let iprTypeInfo = {};
let iprConf = [];
for (let key in 知识产权Map) {
let dataList:any = [];
let iprType = parseInt(key);
if (iprType == enumConfig.IPRALLTYPE.商标信息) {
iprConf = ["tmId", "name", "RegDate", "imageUrl"]
}
iprTypeInfo[typeStr].push([
{
key:"著作名称",
value: iprName
},
{
key:"认定时间",
value: `${yearStr}年`,
},
{
key:"证明材料",
// value:iprUrl ? JSON.parse(iprUrl) : []
value:iprUrlStr
if (iprType == enumConfig.IPRALLTYPE.作品著作权) {
iprConf = ["crId", "name", "registerDate", "iprUrl"]
}
if (iprType == enumConfig.IPRALLTYPE.软件著作权) {
iprConf = ["scId", "name", "registerAperDate", "iprUrl"]
}
if (iprType == enumConfig.IPRALLTYPE.外观设计专利) {
iprConf = ["patentId", "title", "publicationDate", "iprUrl"]
}
if (iprType == enumConfig.IPRALLTYPE.实用新型专利) {
iprConf = ["patentId", "title", "publicationDate", "iprUrl"]
}
if (iprType == enumConfig.IPRALLTYPE.发明专利) {
iprConf = ["patentId", "title", "publicationDate", "iprUrl"]
}
知识产权Map[key].forEach( info => {
let iprUrl = [];
let iprUrlList = JSON.parse(info[iprConf[3]]);
for (let i = 0; i < iprUrlList.length; i++) {
let url = `${systemConfig.imgFileUrl}${iprUrlList[i]}`;
iprUrl.push(url);
}
])
});
dataList.push({
iprId:info[iprConf[0]],
iprName:info[iprConf[1]],
iprTime:info[iprConf[2]],
iprUrl,
timeNumber:new Date(info[iprConf[2]]).valueOf()
})
})
//倒序
dataList.sort(function(a, b) {
return b.timeNumber - a.timeNumber;
});
iprTypeInfo[key] = dataList;
}
return iprTypeInfo;
}
......
......@@ -433,7 +433,7 @@ async function 工商信息(uscc) {
// isNaturalPersonHolding: 工商信息., //是否自然人控股
// industry: 工商信息., //领域
// moreMail: 工商信息., //更多邮箱
logonAddress: 工商信息.Address, //注册地址
// logonAddress: 工商信息.Address, //注册地址
// tongXinDiZhi: 工商信息., //通信地址
// liaison: 工商信息., //联系人
// liaisonPhone: 工商信息., //联系电话
......
......@@ -14,6 +14,7 @@ import moment = require("moment");
import { changeAdd, extractData } from "../util/piecemeal";
import { EnterpriseApplyForConfig } from "../config/splitResult/enterprise";
import { changeEnumValue } from "../util/verificationEnum";
import { systemSendMail } from "./mail";
......@@ -80,7 +81,7 @@ export async function enterpriseServiceOption(esId:string, fangKui:string) {
*/
export async function enterpriseServiceEnd(esId:string, outcome:number, desc:string) {
let selectParam:any = {esId};
let filesList = ["esId"];
let filesList = ["esId", "eId"];
let resInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业服务表, selectParam, filesList);
if ( !resInfo || !resInfo.esId) {
throw new BizError(ERRORENUM.数据不存在);
......@@ -89,7 +90,13 @@ export async function enterpriseServiceEnd(esId:string, outcome:number, desc:str
let updateInfo = {outcome, followUpStatus:enumConfig.FOLLOWUPSTATUS.已完成, desc, resolveTime:getMySqlMs()};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业服务表,updateInfo, {esId});
return {
isSuccess:true
};
}
\ No newline at end of file
//发送邮件
let mailStr = "";
mailStr +=`<p>您的服务处理结果为:${changeEnumValue(enumConfig.OUTCOME, outcome)}</p>`;
mailStr +=`<p>${desc}</p>`;
await systemSendMail(resInfo.eId, enumConfig.MAILTYPE.结束企业服务, mailStr );
return { isSuccess:true };
}
......@@ -32,7 +32,7 @@ export async function getBaseData() {
"在孵企业":0,
"迁出企业":0,
"毕业企业":0,
"出租率": "", // 添加出租率字段
// "出租率": "", // 添加出租率字段
// "园区面积":0,//新增
// "产业规模": 0,
// "总资产投入金额": 0,
......@@ -42,7 +42,7 @@ export async function getBaseData() {
fuhuaPinfen:0, //孵化器评分 没有该字段
fuhuaInfo:{ //孵化器信息
},
entryInfo: {}, // 孵化器入驻信息
entryInfo: [], // 孵化器入驻信息
promotionInfo: {} // 运营推广信息
};
......@@ -93,7 +93,7 @@ export async function getBaseData() {
// baseData.fuhuaData["总资产投入金额"] = yuyiList.totalAssetInvestmentAmount;
// baseData.fuhuaData["引入机构数量"] = yuyiList.numberOfInstitutionsIntroduced;
// baseData.fuhuaData["引入机构投资"] = yuyiList.introduceInstitutionalInvestment;
baseData.fuhuaData["出租率"] = yuyiList.rentRate;//出租率
// baseData.fuhuaData["出租率"] = yuyiList.rentRate;//出租率
baseData.fuhuaInfo = {
"运营名称":yuyiList.operateName,
......@@ -116,38 +116,55 @@ export async function getBaseData() {
* 孵化器入驻信息
*/
let entryList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.入驻信息表, {}, [`info_enterId`, `building`, `occupancyRate`, `enteredEnterprises`]);
baseData.entryInfo = {"1":{"入驻率":"", "入驻企业":""}, "3":{"入驻率":"", "入驻企业":""}, "4":{"入驻率":"", "入驻企业":""}};
let entryInfo = {"1":{"入驻率":"", "入驻企业":""}, "3":{"入驻率":"", "入驻企业":""}, "4":{"入驻率":"", "入驻企业":""}};
if (entryList.length) {
entryList.forEach( info => {
// let building = changeEnumValue(BUILDING, info.building);
let building = info.building;
if (!baseData.entryInfo[building]) {
baseData.entryInfo[building] = { "入驻率": "", "入驻企业": "" };
if (!entryInfo[building]) {
entryInfo[building] = { "入驻率": "", "入驻企业": "" };
}
baseData.entryInfo[building].入驻率 = info.occupancyRate;
baseData.entryInfo[building].入驻企业 = info.enteredEnterprises;
entryInfo[building].入驻率 = info.occupancyRate;
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"]);
baseData.promotionInfo = {"线上推广": {}, "线下推广": {}};
let promotionInfo = {"线上推广": {}, "线下推广": {}};
if (promotionList.length) {
promotionList.forEach( info => {
let appStr = "";
if (info.promotionType == PROMOTIONTYPE.线上推广) {
appStr = changeEnumValue(ONLINEPROMOTION, info.promotionApp);
baseData.promotionInfo["线上推广"][appStr] = info.promotionNum;
promotionInfo["线上推广"][appStr] = info.promotionNum;
} else if (info.promotionType == PROMOTIONTYPE.线下推广) {
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};
}
......@@ -269,20 +286,31 @@ export async function getOperateData(year) {
}
export function getYearList() {
// 获取当前年份
const currentTime = moment();
const sixMonthsAgo = currentTime.clone().subtract(6, 'year');
/**
* 根据传入的年份生成当前年份与目标年份之间的所有年份列表
* @param targetYear 传入的年份
* @returns
*/
export function getYearList(targetYear) {
const currentYear = new Date().getFullYear();
// 初始化一个空数组来存储年份
const years = [];
// 使用一个循环来添加当前年份到6年后的每一个年份到数组中
for (let i = 0; i <= 6; i++) {
years.push(currentYear - i);
// 生成目标年份与当前年份之间的年份列表
const startYear = Math.min(targetYear, currentYear);
const endYear = Math.max(targetYear, currentYear);
let years = [];
for (let year = startYear; year <= endYear; year++) {
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) => {
return a - b;
})
......@@ -350,16 +378,22 @@ export async function getWorthDate() {
/**纳税趋势 */
let nashuiList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, {});
let nashuiData = {};
nashuiList.forEach( info => {
let year = moment(info.annual).format("YYYY");
if (!nashuiData[year]) nashuiData[year] = 0;
nashuiData[year] += parseFloat(info.TXP);
})
for (let key in nashuiData) {
worthData.TXP.push({key, value:nashuiData[key].toString()});
let minNaShuiYear = Math.min( ...nashuiList.map(item => new Date(item.investmentDate).getFullYear()) );
if (!nashuiList.length) minNaShuiYear = new Date().getFullYear();
let nashuiYear = getYearList(minNaShuiYear);
for(let i = 0; i < nashuiYear.length; i++) {
let nashui = 0;
nashuiList.forEach( info => {
let parsedStartTime = moment(info.annual);
if (parsedStartTime.isValid() && parsedStartTime.year() === nashuiYear[i]) {
nashui += parseFloat(info.TXP);
}
})
worthData.TXP.push({key:nashuiYear[i], value:nashui.toString()});
}
//X轴排序
worthData.TXP.sort( (a, b) => {
return a.key - b.key;
......@@ -368,7 +402,9 @@ export async function getWorthDate() {
/**融资额趋势分析 */
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++) {
let 融资金额 = 0;
融资情况.forEach(info => {
......@@ -381,33 +417,38 @@ export async function getWorthDate() {
}
/**就业人数趋势 */
let jiuyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, {});
let jiuyeInfo = {};
jiuyeList.forEach( info => {
let year = moment(info.annual).format("YYYY");
if (!jiuyeInfo[year]) jiuyeInfo[year] = 0;
if (info.zhuanKe) {
jiuyeInfo[year] += parseInt(info.zhuanKe);
}
if (info.benKe) {
jiuyeInfo[year] += parseInt(info.benKe);
}
if (info.shuoshi) {
jiuyeInfo[year] += parseInt(info.shuoshi);
}
if (info.boShi) {
jiuyeInfo[year] += parseInt(info.boShi);
}
if (info.boshiyishang) {
jiuyeInfo[year] += parseInt(info.boshiyishang);
}
if (info.qiTa) {
jiuyeInfo[year] += parseInt(info.qiTa);
}
})
for(let key in jiuyeInfo) {
worthData.jiuye.push({key, value:jiuyeInfo[key].toString()});
let 参保记录 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, {});
let minJiuyeYear = Math.min( ...参保记录.map(item => new Date(item.investmentDate).getFullYear()) );
if (!参保记录.length) minJiuyeYear = new Date().getFullYear();
let jiuyeyear = getYearList(minJiuyeYear);
for(let i = 0; i < jiuyeyear.length; i++) {
let 就业人数 = 0;
参保记录.forEach(info => {
let 参保日期 = moment(info.annual);
if (参保日期.isValid() && 参保日期.year() === jiuyeyear[i]) {
if (info.zhuanKe) {
就业人数 += parseInt(info.zhuanKe);
}
if (info.benKe) {
就业人数 += parseInt(info.benKe);
}
if (info.shuoshi) {
就业人数 += parseInt(info.shuoshi);
}
if (info.boShi) {
就业人数 += parseInt(info.boShi);
}
if (info.boshiyishang) {
就业人数 += parseInt(info.boshiyishang);
}
if (info.qiTa) {
就业人数 += parseInt(info.qiTa);
}
}
});
worthData.jiuye.push({key:jiuyeyear[i], value:就业人数.toString()});
}
//X轴排序
worthData.jiuye.sort( (a, b) => {
return a.key - b.key;
......
......@@ -18,8 +18,8 @@ let transporter = nodemailer.createTransport({
}
});
async function send(toMail, name, type, code?) {
let {title, mailStr} = getModel(name, type, code);
async function send(toMail, name, type, otherStr?, code?) {
let {title, mailStr} = getModel(name, type, otherStr, code);
// 设置邮件选项
let mailOptions = {
from: '羽翼 <1685675085@qq.com>', // 发送者地址
......@@ -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 title = "";
switch (type) {
......@@ -49,6 +49,10 @@ function getModel(name, type, code?) {
str = "您提交的企业材料审核成功,欢迎入驻羽翼孵化器。";
title = "审核通过";
break;
case MAILTYPE.结束企业服务:
str = otherStr;
title = "企业服务受理结果";
break;
}
let mailStr = ""
......@@ -65,14 +69,14 @@ function getModel(name, type, code?) {
* @param userId
* @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"]);
if (!userInfo || !userInfo.eId) throw new BizError(ERRORENUM.企业不存在);
if (!userInfo.mail) {
new BizError(ERRORENUM.该用户邮箱为空, eId, eId.enterpriseName);
} else {
let result = await send(userInfo.mail, userInfo.enterpriseName, type);
let result = await send(userInfo.mail, userInfo.enterpriseName, type, otherStr);
}
return successResult();
......
......@@ -4,7 +4,7 @@
import moment = require("moment");
import { OPERATIONALDATATYPE, TABLENAME } from "../config/enum/dbEnum";
import { operationalData, selectData, selectManyTableData } from "../data/operationalData";
import { operationalData, paginateArray, selectData, selectManyTableData } from "../data/operationalData";
import { changeAdd } from "../util/piecemeal";
import { changeEnumManyValue, changeEnumValue } from "../util/verificationEnum";
import * as enumConfig from "../config/enum/enum";
......@@ -25,7 +25,7 @@ import { BUILDING } from "../config/enum/enum";
* @param building 园区楼号
* @returns
*/
export async function enterpriseList(enterpriseName:string, page:number, logonStartTime:string, logonEndTime:string, building: number ) {
export async function enterpriseList(enterpriseName:string, page:number, logonStartTime:Number, logonEndTime:Number, startTime:Number, endTime:Number, building: number ) {
let selectParam: any = {state: enumConfig.CHANGESTATE.已通过};
if (enterpriseName) {
selectParam.enterpriseName = { "%like%": enterpriseName };
......@@ -36,21 +36,29 @@ import { BUILDING } from "../config/enum/enum";
// 主表字段过滤参数保持不变
let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "logonAddress", "qiYeGuiMo"];
// 子表配置:租赁信息
let leaseWhere:any = {};
if (building) leaseWhere.building = building;
// if (startTime && endTime) {
// leaseWhere["%literal%"] = `(enterprise_lease.startTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}'
// or enterprise_lease.endTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
// }
let manyTableInfo: any = {};
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime", "building", "roomNumber"], where: leaseWhere };
let rufuSelectParam = { state: { "%between%": [enumConfig.FUHUASTATE.实体孵化, enumConfig.FUHUASTATE.虚拟孵化] } };
manyTableInfo[TABLENAME.企业孵化信息] = { column:["moveOutTime", "moveOutType", "startTime", "endTime"], where: rufuSelectParam};
let resInfo = await selectManyTableData( OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo, page );
let resCount = await selectManyTableData( OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo );
let dataList = [];
let resInfo = await selectManyTableData( OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo );
/**查询租赁表信息 */
let leaseWhere:any = {};
if (startTime && endTime) {
leaseWhere["%literal%"] = `(startTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}' or endTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
}
if (building) {
if (!leaseWhere["%literal%"]) leaseWhere["%literal%"] = `building = ${building}`;
else leaseWhere["%literal%"] += ` and building = ${building}`;
}
let zuLingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.租赁信息, leaseWhere, ["eId", "area", "startTime", "endTime", "building", "roomNumber"]);
let zaifuMap = {};
if (zuLingList.length) {
zuLingList.forEach(info => {
zaifuMap[info.eId] = info;
})
}
let zaifuList = [];
for (let info of resInfo) {
let {
eId,
......@@ -59,17 +67,16 @@ import { BUILDING } from "../config/enum/enum";
logonTime,
logonAddress,
qiYeGuiMo,
enterprise_leases,
enterprise_fuhuas,
} = info;
// let rufuSelectParam = { eId, state: { "%between%": [enumConfig.FUHUASTATE.实体孵化, enumConfig.FUHUASTATE.虚拟孵化] } };
// let rufuInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, rufuSelectParam, ["moveOutTime", "moveOutType", "startTime", "endTime"]);
// if (!Object.keys(rufuInfo).length) continue;
if (Object.keys(zaifuMap).length) {
if (!zaifuMap[eId]) continue;
}
let leasesTime = '-';
if (enterprise_leases[0]?.startTime) {
leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`;
if (zaifuMap[eId]?.startTime) {
leasesTime = `${moment(zaifuMap[eId].startTime).format("YYYY-MM-DD")}${moment(zaifuMap[eId].endTime).format("YYYY-MM-DD")}`;
}
let fuhuaTime = '-';
......@@ -77,7 +84,7 @@ import { BUILDING } from "../config/enum/enum";
fuhuaTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`;
}
dataList.push({
zaifuList.push({
eId,
enterpriseName, // 企业名称
uscc, // 统一信用代码
......@@ -86,24 +93,18 @@ import { BUILDING } from "../config/enum/enum";
qiYeGuiMo, // 企业规模
fuhuaTime, // 孵化时间
leasesTime, // 租赁时间
area: enterprise_leases[0]?.area ? `${enterprise_leases[0].area}㎡` : '-',
building: enterprise_leases[0]?.building || '-',
area: zaifuMap[eId]?.area ? `${zaifuMap[eId].area}㎡` : '-',
building: zaifuMap[eId]?.building || '-',
// building:changeEnumValue(enumConfig.BUILDING, enterprise_leases[0].building),
roomNumber: enterprise_leases[0]?.roomNumber || '-'
roomNumber: zaifuMap[eId]?.roomNumber || '-'
});
}
// let dataCount = 0;
// for (let info of resCount) {
// let { eId } = info;
// let rufuSelectParam = { eId, state: { "%between%": [enumConfig.FUHUASTATE.实体孵化, enumConfig.FUHUASTATE.虚拟孵化] } };
// let rufuInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, rufuSelectParam, ["moveOutTime", "moveOutType", "startTime", "endTime"]);
// if (!Object.keys(rufuInfo).length) continue;
// dataCount += 1;
// }
let paginatedData = await paginateArray(zaifuList, page);
let dataList = paginatedData.data;
let dataCount = paginatedData.meta.totalItems;
return { dataList, dataCount:resCount.length };
return {dataList, dataCount};
}
......@@ -597,7 +598,7 @@ export async function enterpriseServiceById(eId:string) {
/**
* 加了注册时间,租赁时间,园区楼号筛选的
*/
export async function dwEnterpriseTable(enterpriseName:string, type:number, logonStartTime:string, logonEndTime:string, building: number ) {
export async function dwEnterpriseTable(enterpriseName:string, type:number, logonStartTime:number, logonEndTime:number, startTime:number, endTime:number, building: number ) {
let files = [{key:"企业名称",value:"enterpriseName"},
{key:"统一信用代码",value:"uscc"},
{key:"注册时间",value:"logonTime"},
......@@ -609,30 +610,39 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
{key:"楼号",value:"building"},//楼号
{key:"室号",value:"roomNumber"},
];
let selectParam: any = {state: enumConfig.CHANGESTATE.已通过};
// 主表字段过滤参数保持不变
let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "logonAddress", "qiYeGuiMo"];
// 子表配置:租赁信息
let leaseWhere:any = {};
if (type == 1) {
if (enterpriseName) {
selectParam.enterpriseName = { "%like%": enterpriseName };
}
if (logonStartTime && logonEndTime) {
selectParam.logonTime = {"%between%":[getMySqlMs(logonStartTime), getMySqlMs(logonEndTime)]}
}
if (building) leaseWhere.building = building;
if (enterpriseName) {
selectParam.enterpriseName = { "%like%": enterpriseName };
}
if (logonStartTime && logonEndTime) {
selectParam.logonTime = {"%between%":[getMySqlMs(logonStartTime), getMySqlMs(logonEndTime)]}
}
// if (startTime && endTime) {
// leaseWhere["%literal%"] = `(enterprise_lease.startTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}'
// or enterprise_lease.endTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
// }
// 主表字段过滤参数保持不变
let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "logonAddress", "qiYeGuiMo"];
let manyTableInfo: any = {};
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime", "building", "roomNumber"], where: leaseWhere };
let rufuSelectParam = { state: { "%between%": [enumConfig.FUHUASTATE.实体孵化, enumConfig.FUHUASTATE.虚拟孵化] } };
manyTableInfo[TABLENAME.企业孵化信息] = { column:["moveOutTime", "moveOutType", "startTime", "endTime"], where: rufuSelectParam};
let resInfo = await selectManyTableData( OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo );
/**查询租赁表信息 */
let leaseWhere:any = {};
if (startTime && endTime) {
leaseWhere["%literal%"] = `(startTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}' or endTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
}
if (building) {
if (!leaseWhere["%literal%"]) leaseWhere["%literal%"] = `building = ${building}`;
else leaseWhere["%literal%"] += ` and building = ${building}`;
}
let zuLingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.租赁信息, leaseWhere, ["eId", "area", "startTime", "endTime", "building", "roomNumber"]);
let zaifuMap = {};
if (zuLingList.length) {
zuLingList.forEach(info => {
zaifuMap[info.eId] = info;
})
}
let dataList = [];
let titleList = []
......@@ -651,23 +661,23 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
logonTime,
logonAddress,
qiYeGuiMo,
enterprise_leases,
enterprise_fuhuas
enterprise_fuhuas,
} = info;
let rufuSelectParam = { eId, state: { "%between%": [enumConfig.FUHUASTATE.实体孵化, enumConfig.FUHUASTATE.虚拟孵化] } };
let rufuInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, rufuSelectParam, ["moveOutTime", "moveOutType", "startTime", "endTime"]);
if (!Object.keys(rufuInfo).length) continue;
if (Object.keys(zaifuMap).length) {
if (!zaifuMap[eId]) continue;
}
let leasesTime = '-';
if (enterprise_leases[0]?.startTime) {
leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`;
if (zaifuMap[eId]?.startTime) {
leasesTime = `${moment(zaifuMap[eId].startTime).format("YYYY-MM-DD")}${moment(zaifuMap[eId].endTime).format("YYYY-MM-DD")}`;
}
let fuhuaTime = '-';
if (enterprise_fuhuas[0]?.startTime) {
fuhuaTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`;
}
let subList = [];
valueList.forEach(subInfo => {
if (subInfo == "enterpriseName") subList.push(enterpriseName);//企业名称
......@@ -677,12 +687,12 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo);//企业规模
if (subInfo == "fuhuaStartTime") subList.push(fuhuaTime);//孵化时间
if (subInfo == "leaseStartTime") subList.push(leasesTime);//租赁时间
if (subInfo == "area") subList.push(enterprise_leases[0]?.area ? `${enterprise_leases[0].area}㎡` : '-');//租赁面积
if (subInfo == "building") subList.push(enterprise_leases[0]?.building || '-');//楼号
if (subInfo == "roomNumber") subList.push(enterprise_leases[0]?.roomNumber || '-');//室号
if (subInfo == "area") subList.push(zaifuMap[eId]?.area ? `${zaifuMap[eId].area}㎡` : '-');//租赁面积
if (subInfo == "building") subList.push(zaifuMap[eId]?.building || '-');//楼号
if (subInfo == "roomNumber") subList.push(zaifuMap[eId]?.roomNumber || '-');//室号
});
dataList.push(subList);
dataList.push(subList);
}
return {dataList};
......
......@@ -111,7 +111,7 @@ export const YuYiBaseDataUpdateConfig = {
synopsis:{type:"String"},//简介
totalArea:{type:"String"},//孵化器总面积
zaifuArea:{type:"String"},//在孵面积
rentRate:{type:"String"},//出租率
// rentRate:{type:"String"},//出租率
// uscc:{type:"String"},//统一信用代码
entryInfo:{type:"object"}, //孵化器入驻信息
......
......@@ -29,9 +29,9 @@ export enum TABLENAME {
企业资质 ='enterprise_qualification',
参保记录 ='enterprise_canbao',
创业团队 ='enterprise_team',
知识产权 ='enterprise_ipr',
// 知识产权 ='enterprise_ipr',
法人信息表 ='enterprise_legal_person',
企业专利表 ='enterprise_patent',
// 企业专利表 ='enterprise_patent',
园区通知表 ='garden_notice',
园区活动表 ='garden_activity',
企业服务表 ='enterprise_service',
......@@ -55,6 +55,10 @@ export enum TABLENAME {
入孵申请审批表 ='approval_history',
入驻信息表 = "info_enter",
运营推广信息表 = "info_operation_promotion",
商标 = "trade_mark",
作品著作权 = "copy_right",
软件著作权 = "software_copyright",
专利 = "patent",
}
......@@ -69,9 +73,9 @@ export enum TABLEID {
企业资质 ='qu',
参保记录 ='cb',
创业团队 ='te',
知识产权 ='ipr',
// 知识产权 ='ipr',
法人信息表 ='ps',
企业专利表 ='pe',
// 企业专利表 ='pe',
园区通知表 ='nt',
园区活动表 ='ac',
企业服务表 ='es',
......
......@@ -263,15 +263,33 @@ export enum QUARTER {
* 知识产权 全类型
*/
export enum IPRALLTYPE {
软件著作权 = 1,
专利 = 100,
发明专利 = 101,
海外专利 = 102,
其他 = 200,
植物新品种 = 201,
集成电路布图 =202
商标信息 = 1,
作品著作权,
软件著作权,
外观设计专利,
实用新型专利,
发明专利
// 软件著作权 = 1,
// 专利 = 100,
// 发明专利 = 101,
// 海外专利 = 102,
// 其他 = 200,
// 植物新品种 = 201,
// 集成电路布图 =202
}
/**
* 专利表属于知识产权类型中的详细分类
*/
export enum KUNDCODE {
发明公布 = 1,
发明授权,
实用新型,
外观设计
}
export enum IPRTYPE {
软件著作权 = 1,
专利 = 100,
......@@ -377,6 +395,7 @@ export enum RISKTYPE {
*/
export enum MAILTYPE {
通过入孵材料审核 = 1,
结束企业服务,
}
......
......@@ -33,7 +33,7 @@ export const YuYiBaseDataConfig = {
synopsis:{key:"简介"},
totalArea:{key:"孵化器总面积"},
zaifuArea:{key:"在孵面积"},
rentRate:{key:"出租率"},
// rentRate:{key:"出租率"},
// ziyonArea:{key:"自用面积"},
// parkArea:{key:"园区面积"},//新增
// enterpriseNum:{key:"企业数量"},
......
......@@ -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.data || !result.data.data) throw new BizError(ERRORENUM.数据联合查询失败, JSON.stringify(result.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) {
*/
async function enterpriseList(req, res) {
const UserInfo = req.userInfo;
let {enterpriseName, page, logonStartTime, logonEndTime, building } = req.body
let result = await zaiFuBiz.enterpriseList(enterpriseName, page, logonStartTime, logonEndTime, building);
let {enterpriseName, page, logonStartTime, logonEndTime, startTime, endTime, building } = req.body
let result = await zaiFuBiz.enterpriseList(enterpriseName, page, logonStartTime, logonEndTime, startTime, endTime, building);
res.success(result);
}
......@@ -430,8 +430,8 @@ async function enterpriseDetails(req, res) {
* @param res
*/
async function dwEnterpriseList(req, res) {
let {enterpriseName, type, logonStartTime, logonEndTime, building } = req.body
let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, logonStartTime, logonEndTime, building );
let {enterpriseName, type, logonStartTime, logonEndTime, startTime, endTime, building } = req.body
let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, logonStartTime, logonEndTime, startTime, endTime, building );
// let {enterpriseName, type, files} = req.body
// let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, files);
......
......@@ -243,76 +243,76 @@ export async function data1210(req, res) {
if (subList[31]) {
for(let i = 0; i < parseInt(subList[31]); i++) {
let enterprise_2022iprInfo = {
iprId:randomId(TABLEID.知识产权),
eId,
year:getMySqlMs("2022-01-01 00:00:00"),
number:1,
iprType:IPRALLTYPE.软件著作权,
selectedValue:null,
iprName:null,
iprUrl:null,
// softwareCopyrightCount:null,
// inventionPatentCount:null,
// overseasPatentCount:null,
// plantVarietyCount:null,
// icLayoutCount:null,
// for(let i = 0; i < parseInt(subList[31]); i++) {
// let enterprise_2022iprInfo = {
// iprId:randomId(TABLEID.知识产权),
// eId,
// year:getMySqlMs("2022-01-01 00:00:00"),
// number:1,
// iprType:IPRALLTYPE.软件著作权,
// selectedValue:null,
// iprName:null,
// iprUrl:null,
// // softwareCopyrightCount:null,
// // inventionPatentCount:null,
// // overseasPatentCount:null,
// // plantVarietyCount:null,
// // icLayoutCount:null,
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022iprInfo, {});
}
// }
// await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022iprInfo, {});
// }
}
if (subList[32]) {
for(let i = 0; i < parseInt(subList[32]); i++) {
let enterprise_2023iprInfo = {
iprId:randomId(TABLEID.知识产权),
eId,
year:getMySqlMs("2023-01-01 00:00:00"),
number:1,
iprType:IPRALLTYPE.软件著作权,
selectedValue:null,
iprName:null,
iprUrl:null,
// softwareCopyrightCount:null,
// inventionPatentCount:null,
// overseasPatentCount:null,
// plantVarietyCount:null,
// icLayoutCount:null,
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2023iprInfo, {});
}
// for(let i = 0; i < parseInt(subList[32]); i++) {
// let enterprise_2023iprInfo = {
// iprId:randomId(TABLEID.知识产权),
// eId,
// year:getMySqlMs("2023-01-01 00:00:00"),
// number:1,
// iprType:IPRALLTYPE.软件著作权,
// selectedValue:null,
// iprName:null,
// iprUrl:null,
// // softwareCopyrightCount:null,
// // inventionPatentCount:null,
// // overseasPatentCount:null,
// // plantVarietyCount:null,
// // icLayoutCount:null,
// }
// await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2023iprInfo, {});
// }
}
if (subList[33]) {
for(let i = 0; i < parseInt(subList[33]); i++) {
let enterprise_2022patent = {
iprId:randomId(TABLEID.知识产权),
eId,
year:getMySqlMs("2022-01-01 00:00:00"),
number:1,
iprType:IPRALLTYPE.发明专利,
selectedValue:null,
iprName:null,
iprUrl:null,
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {});
}
// for(let i = 0; i < parseInt(subList[33]); i++) {
// let enterprise_2022patent = {
// iprId:randomId(TABLEID.知识产权),
// eId,
// year:getMySqlMs("2022-01-01 00:00:00"),
// number:1,
// iprType:IPRALLTYPE.发明专利,
// selectedValue:null,
// iprName:null,
// iprUrl:null,
// }
// await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {});
// }
}
if (subList[34]) {
for(let i = 0; i < parseInt(subList[34]); i++) {
let enterprise_2022patent = {
iprId:randomId(TABLEID.知识产权),
eId,
year:getMySqlMs("2023-01-01 00:00:00"),
number:1,
iprType:IPRALLTYPE.发明专利,
selectedValue:null,
iprName:null,
iprUrl:null,
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {});
}
// for(let i = 0; i < parseInt(subList[34]); i++) {
// let enterprise_2022patent = {
// iprId:randomId(TABLEID.知识产权),
// eId,
// year:getMySqlMs("2023-01-01 00:00:00"),
// number:1,
// iprType:IPRALLTYPE.发明专利,
// selectedValue:null,
// iprName:null,
// iprUrl:null,
// }
// await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.知识产权, enterprise_2022patent, {});
// }
}
if (subList[35] || subList[36] || subList[37] || subList[38]) {
......
......@@ -28,9 +28,7 @@ const config = {
"/public/policytype":enumConfig.POLICYTYPE,// 政策文件类型
"/public/clientpolicytype":enumConfig.CLIENTPOLICYTYPE,// 政策文件类型-前端用
"/public/building":enumConfig.BUILDING,// 园区楼号
"/public/ipralltype":enumConfig.IPRALLTYPE, //企查查知识产权类型
// "/public/output/basedata":outputEnumConfig.BASEDATA,
// "/public/output/opreatdata":outputEnumConfig.OPERATIONDATA,
// "/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