Commit 49b94055 by chenjinjing

no message

parent 1d9debb5
...@@ -40,24 +40,43 @@ export async function enterpriseApplyFor(eId:string) { ...@@ -40,24 +40,43 @@ export async function enterpriseApplyFor(eId:string) {
if (!enterpriseUserInfo || !enterpriseUserInfo.eId) { if (!enterpriseUserInfo || !enterpriseUserInfo.eId) {
throw new BizError(ERRORENUM.请先申请入孵); throw new BizError(ERRORENUM.请先申请入孵);
} }
let leaseFilesList = ["leaseId", "startTime", "endTime", "area", "leaseContract", "entryPlan", "businessLicense", "agreement"]; // let leaseFilesList = ["leaseId", "startTime", "endTime", "area", "leaseContract", "entryPlan", "businessLicense", "agreement", "tripartiteAgreement"];
let leaseFilesList = ["leaseId", "startTime", "endTime", "area",
"sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "yaJinZhiFu", "cardCopy"];
let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, leaseFilesList); let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, leaseFilesList);
enterpriseUserInfo.logonAddress = JSON.parse(enterpriseUserInfo.logonAddress); enterpriseUserInfo.logonAddress = JSON.parse(enterpriseUserInfo.logonAddress);
let dataInfo:any = extractData(EnterpriseApplyForConfig, enterpriseUserInfo); let dataInfo:any = extractData(EnterpriseApplyForConfig, enterpriseUserInfo);
dataInfo.logonTime = moment(enterpriseUserInfo.logonTime).format("YYYY-MM-DD"); dataInfo.logonTime = moment(enterpriseUserInfo.logonTime).format("YYYY-MM-DD");
dataInfo.leaseTime = `${moment(leaseInfo.startTime).format("YYYY-MM-DD")}${moment(leaseInfo.endTime).format("YYYY-MM-DD")}`; // dataInfo.leaseTime = `${moment(leaseInfo.startTime).format("YYYY-MM-DD")}至${moment(leaseInfo.endTime).format("YYYY-MM-DD")}`;
dataInfo.area = leaseInfo.area; dataInfo.area = leaseInfo.area;
dataInfo.leaseContract = leaseInfo.leaseContract; dataInfo.sanFangXieYi = leaseInfo.sanFangXieYi;
dataInfo.entryPlan = leaseInfo.entryPlan; dataInfo.fuHuaXieYi = leaseInfo.fuHuaXieYi;
dataInfo.businessLicense = leaseInfo.businessLicense; dataInfo.fangWuZuLing = leaseInfo.fangWuZuLing;
dataInfo.agreement = leaseInfo.agreement; dataInfo.fuHuaXieYiBuChong = leaseInfo.fuHuaXieYiBuChong;
dataInfo.chengXinChengNuoHan = leaseInfo.chengXinChengNuoHan;
dataInfo.leaseContractModelUrl = "/yuyi/files/孵化协议模板.docx"; dataInfo.yingYeZhiZhao = leaseInfo.yingYeZhiZhao;
dataInfo.entryPlanModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx"; dataInfo.ruFuZiLiao = leaseInfo.ruFuZiLiao;
dataInfo.agreementModelUrl = "/yuyi/files/三方协议.docx"; dataInfo.ruZhuJiHua = leaseInfo.ruZhuJiHua;
dataInfo.yaJinZhiFu = leaseInfo.yaJinZhiFu;
dataInfo.cardCopy = leaseInfo.cardCopy;
/**下载用:模板 */
dataInfo.sanFangXieYiModelUrl = "/yuyi/files/三方协议.docx"
dataInfo.fuHuaXieYiModelUrl = "/yuyi/files/孵化协议最新版.docx"
// dataInfo.fangWuZuLingModelUrl = ""
dataInfo.fuHuaXieYiBuChongModelUrl = "/yuyi/files/孵化协议补充协议书.docx"
dataInfo.chengXinChengNuoHanModelUrl = "/yuyi/files/诚信承诺函.docx"
// dataInfo.yingYeZhiZhaoModelUrl = ""
dataInfo.ruFuZiLiaoModelUrl = "/yuyi/files/入孵资料明细.xls"
dataInfo.ruZhuJiHuaModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx"
// dataInfo.yaJinZhiFuModelUrl = ""
// dataInfo.cardCopyModelUrl = ""
// dataInfo.leaseContractModelUrl = "/yuyi/files/孵化协议模板.docx";
// dataInfo.entryPlanModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx";
// dataInfo.tripartiteModelUrl = "/yuyi/files/三方协议.docx";
return {dataInfo}; return {dataInfo};
} }
...@@ -283,6 +302,27 @@ export async function outPutEnterpriseManageList(enterpriseName:string, year:num ...@@ -283,6 +302,27 @@ export async function outPutEnterpriseManageList(enterpriseName:string, year:num
} }
/**
* 经营数据-编辑
* @param mId
* @param BI 营收(万元)
* @param TXP 纳税(万元)
* @param RD 研发投入(万元)
* @returns
*/
export async function updateManage(mId:string, BI:string, TXP:string, RD:string) {
let resInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业经营信息, {mId}, ["mId", "BI", "TXP", "RD", "annual", "quarter"]);
if (!resInfo || !resInfo.mId) {
throw new BizError(ERRORENUM.数据不存在);
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业经营信息, {BI, TXP, RD}, {mId});
return {isSuccess:true};
}
//===融资 //===融资
export async function enterpriseFinancingList(enterpriseName:string, year:number, page:number) { export async function enterpriseFinancingList(enterpriseName:string, year:number, page:number) {
// let selectParam:any = {state:enumConfig.STATE.是}; // let selectParam:any = {state:enumConfig.STATE.是};
...@@ -795,15 +835,21 @@ export async function getiprDetails(eId:string) { ...@@ -795,15 +835,21 @@ export async function getiprDetails(eId:string) {
* @returns * @returns
*/ */
export async function qiyeRenZheng(enterpriseName, page) { export async function qiyeRenZheng(enterpriseName, page) {
let selectParam:any = {}; let selectParam:any = {state:enumConfig.CHANGESTATE.已通过};
if (enterpriseName) { if (enterpriseName) {
selectParam.enterpriseName = {"%like%":enterpriseName}; selectParam.enterpriseName = {"%like%":enterpriseName};
} }
let manyTableInfo:any = {}; let manyTableInfo:any = {};
let manyTableColumn = ["qId", "kxState","kxTime","kxNumber","kxImg", "zjtxState","zjtxTime","zjtxImg", let manyTableColumn = ["qId", "kxState","kxTime","kxNumber","kxImg", "zjtxState","zjtxTime","zjtxImg",
"xjrState", "xjrTime","xjrImg","xjrPyState", "xjrPyTime","xjrPyImg", "xjrPyState", "xjrPyTime","xjrPyImg", "gxjsState", "cxTime", "cxImg", "cxState" ,"gaoXinJiShuTime","gaoXinJiShuImg"];
"gxjsState","gaoXinJiShuTime","gaoXinJiShuImg","listedState", "goPublicTime", "goPublicSector","other"];
manyTableInfo[TABLENAME.企业资质] = {column:manyTableColumn, where:{} }; manyTableInfo[TABLENAME.企业资质] = {column:manyTableColumn, where:{} };
manyTableInfo[TABLENAME.企业孵化信息] = {column:["fId", "eId"], where:{state: { "%between%": [enumConfig.FUHUASTATE.实体孵化, enumConfig.FUHUASTATE.虚拟孵化] }} };
// let manyTableInfo:any = {};
// let manyTableColumn = ["qId", "kxState","kxTime","kxNumber","kxImg", "zjtxState","zjtxTime","zjtxImg",
// "xjrState", "xjrTime","xjrImg","xjrPyState", "xjrPyTime","xjrPyImg",
// "gxjsState","gaoXinJiShuTime","gaoXinJiShuImg","listedState", "goPublicTime", "goPublicSector","other"];
// manyTableInfo[TABLENAME.企业资质] = {column:manyTableColumn, where:{} };
let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, ["enterpriseName", "uscc", "eId"], manyTableInfo, page); let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, ["enterpriseName", "uscc", "eId"], manyTableInfo, page);
let allDataList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, ["enterpriseName", "uscc"], manyTableInfo); let allDataList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, ["enterpriseName", "uscc"], manyTableInfo);
...@@ -821,22 +867,25 @@ export async function qiyeRenZheng(enterpriseName, page) { ...@@ -821,22 +867,25 @@ export async function qiyeRenZheng(enterpriseName, page) {
zjtxTime:"-", zjtxTime:"-",
zjtxState:"否", zjtxState:"否",
zjtxImg:[], zjtxImg:[],
xjrState:"否", // xjrState:"否",
xjrTime:"-", // xjrTime:"-",
xjrImg:[], // xjrImg:[],
xjrPyTime:"-", xjrPyTime:"-",
xjrPyImg:[], xjrPyImg:[],
xjrPyState:"否", xjrPyState:"否",
gxjsState:"否", gxjsState:"否",
goPublicTime:"-", // goPublicTime:"-",
gaoXinJiShuImg:[], gaoXinJiShuImg:[],
gaoXinJiShuTime:"-", gaoXinJiShuTime:"-",
listedState:"否", cxTime:"-",
other:"", cxState:"否",
goPublicSector:"", cxImg:[],
// listedState:"否",
// other:"",
// goPublicSector:"",
}; };
let imgConf = ["kxImg", "zjtxImg", "xjrImg", "xjrPyImg", "gaoXinJiShuImg"]; let imgConf = ["kxImg", "zjtxImg", "xjrPyImg", "gaoXinJiShuImg", "cxImg"];
let updateInfo:any = {}; let updateInfo:any = {};
for (let i = 0; i < enterprise_qualifications.length; i++) { for (let i = 0; i < enterprise_qualifications.length; i++) {
...@@ -850,22 +899,26 @@ export async function qiyeRenZheng(enterpriseName, page) { ...@@ -850,22 +899,26 @@ export async function qiyeRenZheng(enterpriseName, page) {
updateInfo.zjtxState = enumConfig.STATE.; updateInfo.zjtxState = enumConfig.STATE.;
item.zjtxState = enumConfig.STATE.; item.zjtxState = enumConfig.STATE.;
} }
if (item.xjrTime && item.xjrState != enumConfig.STATE.) { // if (item.xjrTime && item.xjrState != enumConfig.STATE.是) {
updateInfo.xjrState = enumConfig.STATE.; // updateInfo.xjrState = enumConfig.STATE.是;
item.xjrState = enumConfig.STATE.; // item.xjrState = enumConfig.STATE.是;
} // }
if (item.xjrPyTime && item.xjrPyState != enumConfig.STATE.) { if (item.xjrPyTime && item.xjrPyState != enumConfig.STATE.) {
updateInfo.xjrPyState = enumConfig.STATE.; updateInfo.xjrPyState = enumConfig.STATE.;
item.xjrPyState = enumConfig.STATE.; item.xjrPyState = enumConfig.STATE.;
} }
if (item.goPublicTime && item.listedState != enumConfig.STATE.) { // if (item.goPublicTime && item.listedState != enumConfig.STATE.是) {
updateInfo.listedState = enumConfig.STATE.; // updateInfo.listedState = enumConfig.STATE.是;
item.listedState = enumConfig.STATE.; // item.listedState = enumConfig.STATE.是;
} // }
if (item.gaoXinJiShuTime && item.gxjsState != enumConfig.STATE.) { if (item.gaoXinJiShuTime && item.gxjsState != enumConfig.STATE.) {
updateInfo.gxjsState = enumConfig.STATE.; updateInfo.gxjsState = enumConfig.STATE.;
item.gxjsState = enumConfig.STATE.; item.gxjsState = enumConfig.STATE.;
} }
if (item.cxTime && item.cxState != enumConfig.STATE.) {
updateInfo.cxState = enumConfig.STATE.;
item.cxState = enumConfig.STATE.;
}
if(Object.keys(updateInfo).length > 0) await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, updateInfo, {qId:item.qId}); if(Object.keys(updateInfo).length > 0) await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, updateInfo, {qId:item.qId});
if (item.kxTime) addItem.kxTime = moment(item.kxTime).format("YYYY"); if (item.kxTime) addItem.kxTime = moment(item.kxTime).format("YYYY");
...@@ -876,8 +929,8 @@ export async function qiyeRenZheng(enterpriseName, page) { ...@@ -876,8 +929,8 @@ export async function qiyeRenZheng(enterpriseName, page) {
if (item.zjtxState) addItem.zjtxState = changeEnumValue(enumConfig.STATE, item.zjtxState); if (item.zjtxState) addItem.zjtxState = changeEnumValue(enumConfig.STATE, item.zjtxState);
// if (item.zjtxImg) addItem.zjtxImg = JSON.parse(item.zjtxImg); // if (item.zjtxImg) addItem.zjtxImg = JSON.parse(item.zjtxImg);
if (item.xjrTime) addItem.xjrTime = moment(item.xjrTime).format("YYYY"); // if (item.xjrTime) addItem.xjrTime = moment(item.xjrTime).format("YYYY");
if (item.xjrState) addItem.xjrState = changeEnumValue(enumConfig.STATE, item.xjrState); // if (item.xjrState) addItem.xjrState = changeEnumValue(enumConfig.STATE, item.xjrState);
// if (item.xjrImg) addItem.xjrImg = JSON.parse(item.xjrImg); // if (item.xjrImg) addItem.xjrImg = JSON.parse(item.xjrImg);
if (item.xjrPyTime) addItem.xjrPyTime = moment(item.xjrPyTime).format("YYYY"); if (item.xjrPyTime) addItem.xjrPyTime = moment(item.xjrPyTime).format("YYYY");
...@@ -891,6 +944,10 @@ export async function qiyeRenZheng(enterpriseName, page) { ...@@ -891,6 +944,10 @@ export async function qiyeRenZheng(enterpriseName, page) {
if (item.gaoXinJiShuTime) addItem.gaoXinJiShuTime = moment(item.gaoXinJiShuTime).format("YYYY"); if (item.gaoXinJiShuTime) addItem.gaoXinJiShuTime = moment(item.gaoXinJiShuTime).format("YYYY");
// if (item.gaoXinJiShuImg) addItem.gaoXinJiShuImg = JSON.parse(item.gaoXinJiShuImg); // if (item.gaoXinJiShuImg) addItem.gaoXinJiShuImg = JSON.parse(item.gaoXinJiShuImg);
if (item.cxTime) addItem.cxTime = moment(item.cxTime).format("YYYY");
if (item.cxState) addItem.cxState = changeEnumValue(enumConfig.STATE, item.cxState);
if (item.cxImg) addItem.cxImg = JSON.parse(item.cxImg);
if (item.goPublicSector && item.goPublicSector != "[]") { if (item.goPublicSector && item.goPublicSector != "[]") {
// if (!addItem.goPublicSector) addItem.goPublicSector = []; // if (!addItem.goPublicSector) addItem.goPublicSector = [];
addItem.goPublicSector = changeEnumValue(enumConfig.LISTINGSITUATION, JSON.parse(item.goPublicSector)); addItem.goPublicSector = changeEnumValue(enumConfig.LISTINGSITUATION, JSON.parse(item.goPublicSector));
......
/**
* 企业自评
*/
import { OPERATIONALDATATYPE, TABLENAME } from "../config/enum/dbEnum";
import { STATE } from "../config/enum/enum";
import { paginateArray, selectData, selectManyTableData } from "../data/operationalData";
/**
* 企业自评结果
*/
export async function enterpriseResults(enterpriseName:string, page:number) {
// 1. 查询企业基本信息
let selectParam:any = {}
if (enterpriseName) selectParam.enterpriseName = {"%like%":enterpriseName};
let manyTableInfo:any = {};
manyTableInfo[TABLENAME.企业基础信息表] = {column:["eId", "enterpriseName"], where:selectParam };
let enterpriseInfo = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.答题记录, {answerStatus:STATE.}, ["garId"], manyTableInfo);
// 获取企业及其答题记录ID
let answerIdList = enterpriseInfo.map(info => info.garId);
// let answerIdList = [];
// enterpriseInfo.forEach( info => {
// answerIdList.push(info.garId);
// });
// 2. 获取答题记录总得分
let answerRecords = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.答题记录, { garId: { "%in%": answerIdList } }, ["garId", "totalScore"] );
// 3. 获取各分类得分
let manyAnswerTableInfo:any = {};
manyAnswerTableInfo[TABLENAME.高新企业创新能力评价答题] = { column:["answerType"], where:{} };
let answerDetails = await selectManyTableData(
OPERATIONALDATATYPE.多表联查,
TABLENAME.答题记录明细,
{ garId: { "%in%": answerIdList } },
["garId", "gaId", "questionScore"],
manyAnswerTableInfo
);
// 4. 处理数据,按企业分组并计算各分类得分
let result = [];
// 使用forEach遍历企业信息
enterpriseInfo.forEach(enterprise => {
// 1. 找出当前企业的答题记录
let currentRecords = [];
answerRecords.forEach(record => {
if (record.garId === enterprise.garId) {
currentRecords.push(record);
}
});
// 2. 找出当前企业的答题明细
let currentDetails = [];
answerDetails.forEach(detail => {
if (detail.garId === enterprise.garId) {
currentDetails.push(detail);
}
});
// 3. 初始化分类得分对象
let categoryScores = {
知识产权: 0,
科技成果: 0,
研发管理: 0,
企业成长: 0
};
// 4. 计算各分类得分
currentDetails.forEach(detail => {
let category = detail.gaoxin_answer.answerType;
if (categoryScores.hasOwnProperty(category)) {
categoryScores[category] += parseInt(detail.questionScore) || 0;
}
});
// 5. 构建结果对象并添加到结果数组
result.push({
garId:enterprise.garId,
企业名称: enterprise.enterprise.enterpriseName,
总得分: currentRecords[0]?.totalScore || 0,
...categoryScores
});
});
let paginatedData = await paginateArray(result, page);
let dataList = paginatedData.data;
let dataCount = paginatedData.meta.totalItems;
// let result = enterpriseInfo.map(enterprise => {
// /** filter方法:从数组中筛选出符合条件(相同garId)的元素 */
// // 1. 筛选当前企业的答题记录
// let records = answerRecords.filter(r => r.garId === enterprise.garId);
// // 2. 筛选当前企业的答题明细
// let details = answerDetails.filter(d => d.garId === enterprise.garId);
// // 初始化分类得分
// let categoryScores = {
// 知识产权: 0,
// 科技成果: 0,
// 研发管理: 0,
// 企业成长: 0
// };
// // 计算各分类得分
// details.forEach(detail => {
// let category = detail.gaoxin_answer.answerType;
// if (categoryScores.hasOwnProperty(category)) {
// categoryScores[category] += parseInt(detail.questionScore) || 0;
// }
// });
// return {
// 企业名称: enterprise.enterprise.enterpriseName,
// 总得分: records[0]?.totalScore || 0,
// ...categoryScores
// };
// });
return {dataList, dataCount};
}
/**
* 获取企业答题详情
* @param garId 答题记录ID
* @param answerType 题目类型(知识产权/科技成果/研发管理/企业成长)
* @returns 返回指定类型的答题详情数组
*/
export async function getAnswerDetails(garId: string, answerType: string) {
// 1. 查询答题记录明细
let manyTableInfo: any = {};
manyTableInfo[TABLENAME.高新企业创新能力评价答题] = {
column: ["subject", "sort", "answerType"],
where: { answerType }
};
let details = await selectManyTableData(
OPERATIONALDATATYPE.多表联查,
TABLENAME.答题记录明细,
{ garId },
["gadId", "gaId", "options", "questionScore"],
manyTableInfo
);
// 2. 查询选项数据(用于获取选项文本)
let optionPromises = details.map(detail =>
selectData(
OPERATIONALDATATYPE.查询多个,
TABLENAME.高新企业创新能力评价选项,
{ gaId: detail.gaId },
["goId", "option", "answer"]
)
);
let optionResults = await Promise.all(optionPromises);
// 3. 处理数据,构建返回结果
let result = [];
if (answerType == "企业成长") {
result = details.map((detail, index) => {
// 获取当前题目的选项
let options = optionResults[index] as Array<{ goId: number; answer: string }> | undefined;
// let options = optionResults[index];
// 解析用户选择的选项ID
let selectedOptionIds = JSON.parse(detail.options || "[]");
// 查找用户选择的选项文本
let selectedOptions = (options as Array<{ goId: number; answer: string }>)
.filter(opt => selectedOptionIds.includes(opt.goId))
.map(opt => opt.answer)
.join(", ");
// let selectedOptions = options.filter(opt =>
// selectedOptionIds.includes(opt.goId)
// ).map(opt => opt.answer).join(", ");
return {
版块: detail.gaoxin_answer.answerType,
序号: detail.gaoxin_answer.sort,
题目名称: detail.gaoxin_answer.subject,
选项: selectedOptions || "-", // 如果没有选择则显示"-"
得分: detail.questionScore || 0
};
});
} else {
result = details.map((detail, index) => {
// 获取当前题目的选项
let options = optionResults[index] as Array<{ goId: number; answer: string }> | undefined;
// let options = optionResults[index];
// 解析用户选择的选项ID
let selectedOptionIds = JSON.parse(detail.options || "[]");
// 查找用户选择的选项文本
let selectedOptions = (options as Array<{ goId: number; answer: string }>)
.filter(opt => selectedOptionIds.includes(opt.goId))
.map(opt => opt.answer)
.join(", ");
// let selectedOptions = options.filter(opt =>
// selectedOptionIds.includes(opt.goId)
// ).map(opt => opt.answer).join(", ");
return {
版块: detail.gaoxin_answer.answerType,
序号: detail.gaoxin_answer.sort,
题目名称: detail.gaoxin_answer.subject,
选项: selectedOptions || "-", // 如果没有选择则显示"-"
得分: detail.questionScore || 0
};
});
}
result.sort( (a, b) => {
return a.序号 - b.序号;
})
return result;
}
/**
* 查询所有企业的租房补贴资格评估列表
* @param enterpriseName 企业名称筛选条件(可选)
* @returns 企业评估结果列表
*/
export async function getHousingSubsidyEligibilityList(enterpriseName:string, page:number) {
// 1. 构建查询条件
let selectParam:any = {}
if (enterpriseName) selectParam.enterpriseName = {"%like%":enterpriseName};
// 2. 多表联查:企业信息 + 最新答题记录
let manyTableInfo: any = {};
manyTableInfo[TABLENAME.企业基础信息表] = {
column: ["eId", "enterpriseName"],
where: selectParam
};
// 获取企业及其最新答题记录(按答题时间降序)
let enterprises = await selectManyTableData(
OPERATIONALDATATYPE.多表联查, TABLENAME.租房补贴答题记录, {answerStatus:STATE.}, ["zarId", "eId", "totalScore"],
manyTableInfo
);
// 3. 如果没有企业数据,直接返回空数组
if (enterprises.length === 0) {
return [];
}
// 4. 获取所有答题记录明细及相关题目信息
let zarIds = enterprises.map(e => e.zarId);
let detailTableInfo: any = {};
detailTableInfo[TABLENAME.租房补贴企业自评] = {
column: ["zaId", "answerType", "subject", "sort"],
where: {},
order: [["sort", "ASC"]]
};
let allDetails = await selectManyTableData(
OPERATIONALDATATYPE.多表联查,
TABLENAME.租房补贴答题记录明细,
{ zarId: {"%in%":zarIds} },
["zadId", "zarId", "zaId", "options"],
detailTableInfo
);
let result = [];
// 5. 按企业分组处理数据
enterprises.forEach( enterprise => {
// 筛选该企业的答题明细
let details = allDetails.filter(d => d.zarId === enterprise.zarId);
// 初始化结果对象
let eligibility: any = {
企业名称: enterprise.enterprise.enterpriseName,
是否有研发费用: "",
是否有缴纳社保: "",
是否有软著等知识产权: "",
是否认定科小或创新型中小企业: "",
是否符合租房补贴申请: enterprise.totalScore === 1 ? "符合" : "不符合",
};
// 处理每个答题明细
details.forEach( detail => {
// 将answerType作为键,转换options为"是"/"否"
eligibility[detail.zufang_answer.answerType] = detail.options === 1 ? "是" : "否";
})
if (details.length >= 4) {
result.push(eligibility);
}
})
let paginatedData = await paginateArray(result, page);
let dataList = paginatedData.data;
let dataCount = paginatedData.meta.totalItems;
return {dataList, dataCount};
}
...@@ -3,17 +3,17 @@ ...@@ -3,17 +3,17 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { OPERATIONALDATATYPE, TABLEID, TABLENAME } from "../config/enum/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/enum/dbEnum";
import { BUILDING, CHANGESTATE, CHANGETYPE, DEGREE, EMIGRATIONTYPE, FUHUASTATE, INCOME, INDUSTRY, OFFLINEPROMOTION, ONLINEPROMOTION, PROMOTIONTYPE, STATE } from "../config/enum/enum"; import { BUILDING, CHANGESTATE, EMIGRATIONTYPE, FUHUASTATE, INDUSTRY, OFFLINEPROMOTION, ONLINEPROMOTION, PROMOTIONTYPE } from "../config/enum/enum";
import { operationalData, selectData, selectManyTableData } from "../data/operationalData"; import { operationalData, selectData, selectManyTableData } from "../data/operationalData";
import { getIntervalYear, getMySqlMs, randomId } from "../tools/system"; import { getIntervalYear, getMySqlMs, randomId } from "../tools/system";
import { changeEnumValue } from "../util/verificationEnum"; import { changeEnumValue } from "../util/verificationEnum";
import { eccFormParam } from "../util/verificationParam"; import { eccFormParam } from "../util/verificationParam";
import { AdminRegisterAddConfig, YuYiBaseDataUpdateConfig } from "../config/eccParam/enterprise"; import { YuYiBaseDataUpdateConfig } from "../config/eccParam/enterprise";
import { ERRORENUM } from "../config/enum/errorEnum"; import { ERRORENUM } from "../config/enum/errorEnum";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { extractData } from "../util/piecemeal"; import { extractData } from "../util/piecemeal";
import { EnterpriseApplyForConfig, YuYiBaseDataConfig } from "../config/splitResult/enterprise"; import { YuYiBaseDataConfig } from "../config/splitResult/enterprise";
/** /**
...@@ -63,9 +63,10 @@ export async function getBaseData() { ...@@ -63,9 +63,10 @@ export async function getBaseData() {
zaifuResList.forEach(info => { zaifuResList.forEach(info => {
info.enterprise_leases.forEach(lease => { info.enterprise_leases.forEach(lease => {
// 确认租赁时间在有效范围内 // 确认租赁时间在有效范围内
if (nowTime >= lease.startTime && nowTime <= lease.endTime) {
baseData.fuhuaData["在孵面积"] += parseFloat(lease.area); baseData.fuhuaData["在孵面积"] += parseFloat(lease.area);
} // if (nowTime >= lease.startTime && nowTime <= lease.endTime) {
// baseData.fuhuaData["在孵面积"] += parseFloat(lease.area);
// }
}); });
}); });
// baseData.fuhuaData["在孵面积占比"] = ((baseData.fuhuaData["在孵面积(㎡)"] / baseData.fuhuaData["总面积(㎡)"])*100).toFixed(2) + "%"; // baseData.fuhuaData["在孵面积占比"] = ((baseData.fuhuaData["在孵面积(㎡)"] / baseData.fuhuaData["总面积(㎡)"])*100).toFixed(2) + "%";
...@@ -76,7 +77,8 @@ export async function getBaseData() { ...@@ -76,7 +77,8 @@ export async function getBaseData() {
/**毕业企业 */ /**毕业企业 */
// let biyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {graduationTime:{"%ne%":null}}, {}); // let biyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {graduationTime:{"%ne%":null}}, {});
let biyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {moveOutType:EMIGRATIONTYPE.毕业迁出}, {}); // let biyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {moveOutType:EMIGRATIONTYPE.毕业迁出}, {});
let biyeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {"%or%":[{moveOutType:EMIGRATIONTYPE.毕业迁出}, {moveOutType:EMIGRATIONTYPE.毕业未迁出}]}, {});
if (biyeList) baseData.fuhuaData["毕业企业"] = biyeList.length; if (biyeList) baseData.fuhuaData["毕业企业"] = biyeList.length;
/**孵化器信息 */ /**孵化器信息 */
...@@ -123,7 +125,7 @@ export async function getBaseData() { ...@@ -123,7 +125,7 @@ export async function getBaseData() {
"4":{"入驻率":"", "入驻企业":入驻企业[BUILDING["4号楼"]].length}}; "4":{"入驻率":"", "入驻企业":入驻企业[BUILDING["4号楼"]].length}};
if (entryList.length) { if (entryList.length) {
entryList.forEach( info => { entryList.forEach( info => {
// let building = changeEnumValue(BUILDING, info.building); // let = changeEnumValue(BUILDING, info.building);
let building = info.building; let building = info.building;
if (!entryInfo[building]) { if (!entryInfo[building]) {
entryInfo[building] = { "入驻率": "", "入驻企业": "" }; entryInfo[building] = { "入驻率": "", "入驻企业": "" };
...@@ -247,7 +249,7 @@ export async function getOperateData(year) { ...@@ -247,7 +249,7 @@ export async function getOperateData(year) {
let biyeList = await selectData( let biyeList = await selectData(
OPERATIONALDATATYPE.查询多个, OPERATIONALDATATYPE.查询多个,
TABLENAME.企业孵化信息, TABLENAME.企业孵化信息,
{ moveOutType: EMIGRATIONTYPE.毕业迁出 }, {}); // 只查毕业迁出的企业 {"%or%":[{ moveOutType:EMIGRATIONTYPE.毕业迁出 }, { moveOutType:EMIGRATIONTYPE.毕业未迁出 }]}, {}); // 只查毕业迁出的企业
let biyeInfo = { ...qushiConf }; // 每月初始化为0 let biyeInfo = { ...qushiConf }; // 每月初始化为0
...@@ -270,7 +272,7 @@ export async function getOperateData(year) { ...@@ -270,7 +272,7 @@ export async function getOperateData(year) {
//将 industry 字符串转换为数组 //将 industry 字符串转换为数组
let manyTableInfo: any = {} let manyTableInfo: any = {}
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {} }; manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {state: { "%between%": [FUHUASTATE.实体孵化, FUHUASTATE.虚拟孵化] }} };
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} }; manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { state: CHANGESTATE.已通过 }, ["industry", "eId"], manyTableInfo); let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { state: CHANGESTATE.已通过 }, ["industry", "eId"], manyTableInfo);
...@@ -383,7 +385,7 @@ export async function getRiskData() { ...@@ -383,7 +385,7 @@ export async function getRiskData() {
fhdbList.forEach(info => { fhdbList.forEach(info => {
let riskLevel = ""; let riskLevel = "";
if (info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.违约退租 || info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.到期退租) { if (info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.违约退租) {
yj.高风险 += 1; yj.高风险 += 1;
riskLevel = "高风险"; riskLevel = "高风险";
riskEnterprises.push([info.enterpriseName, riskLevel]); riskEnterprises.push([info.enterpriseName, riskLevel]);
...@@ -391,6 +393,10 @@ export async function getRiskData() { ...@@ -391,6 +393,10 @@ export async function getRiskData() {
yj.中低风险 += 1; yj.中低风险 += 1;
riskLevel = "中低风险"; riskLevel = "中低风险";
riskEnterprises.push([info.enterpriseName, riskLevel]); riskEnterprises.push([info.enterpriseName, riskLevel]);
} else if (info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.到期退租) {
yj.关注 += 1;
riskLevel = "关注";
riskEnterprises.push([info.enterpriseName, riskLevel]);
} }
}); });
......
...@@ -4,7 +4,7 @@ import { systemConfig } from "../config/serverConfig"; ...@@ -4,7 +4,7 @@ import { systemConfig } from "../config/serverConfig";
import { getQcc } from "../util/request"; import { getQcc } from "../util/request";
import { getMySqlMs, getPinyinInitials, randomId } from "../tools/system"; import { getMySqlMs, getPinyinInitials, randomId } from "../tools/system";
import moment = require("moment"); import moment = require("moment");
import { FINANCINGROUNDS, STATE } from "../config/enum/enum"; import { FINANCINGROUNDS, INDUSTRY, STATE } from "../config/enum/enum";
const md5 = require("md5"); const md5 = require("md5");
...@@ -100,6 +100,27 @@ function getReqParam(uscc, isKeyNo?) { ...@@ -100,6 +100,27 @@ function getReqParam(uscc, isKeyNo?) {
} }
function formatAddress(original) {
// 匹配省/直辖市(支持"北京市"/"上海"等格式)
const cityMatch = original.match(/^(.*?(?:省|市|自治区|特别行政区))/);
const city = cityMatch ? cityMatch[1] : original.split(/[市区县]/)[0] + '市';
// 匹配区级(支持"浦东新区"/"朝阳区"等格式)
const districtMatch = original.match(/(?:省|市)(.*?(?:区|县|市|旗))/);
const district = districtMatch ? districtMatch[1] : '';
// 处理详细地址(自动保留原格式,仅修正明显错误)
let detail = original.replace(city, '').replace(district, '')
.replace(/(\d+)[幢栋](\d+)层/g, (_, num1, num2) => {
const chineseNums = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
return `${chineseNums[parseInt(num1)] || num1}${num2}${num2.length === 1 ? '室' : ''}`;
})
.trim();
return [city, city, district || city, detail || '地址不详'];
}
/** /**
* 同步工商信息数据 * 同步工商信息数据
...@@ -111,12 +132,11 @@ async function 工商信息(uscc, eId) { ...@@ -111,12 +132,11 @@ async function 工商信息(uscc, eId) {
let {header, query} = getReqParam(uscc); let {header, query} = getReqParam(uscc);
let 工商信息:any = await getQcc('https://api.qichacha.com/ECIInfoVerify/GetInfo', query, header);//获取工商信息 let 工商信息:any = await getQcc('https://api.qichacha.com/ECIInfoVerify/GetInfo', query, header);//获取工商信息
if (Object.keys(工商信息).length) {
let khsfsb = getReqParam(uscc); let khsfsb = getReqParam(uscc);
let 客户身份识别:any = await getQcc('https://api.qichacha.com/CustomerDueDiligence/KYC', khsfsb.query, khsfsb.header);//获取工商信息 let 客户身份识别:any = await getQcc('https://api.qichacha.com/CustomerDueDiligence/KYC', khsfsb.query, khsfsb.header);//获取工商信息
let pinyinName = getPinyinInitials(工商信息.Name); let pinyinName = getPinyinInitials(工商信息.Name);
let industryList = []; //Industry
let TermStart = moment(工商信息.TermStart).format("YYYY-MM-DD"); let TermStart = moment(工商信息.TermStart).format("YYYY-MM-DD");
let TermEnd = "无固定期限"; let TermEnd = "无固定期限";
if (工商信息.TermEnd) TermEnd = moment(工商信息.TermEnd).format("YYYY-MM-DD"); if (工商信息.TermEnd) TermEnd = moment(工商信息.TermEnd).format("YYYY-MM-DD");
...@@ -150,6 +170,24 @@ async function 工商信息(uscc, eId) { ...@@ -150,6 +170,24 @@ async function 工商信息(uscc, eId) {
} }
} }
let industryList = []; //Industry
if (工商信息.Industry) {
switch (工商信息.Industry.IndustryCode) {
case "I": industryList.push(INDUSTRY["信息传输、软件和信息技术服务业"]); break;
case "M": industryList.push(INDUSTRY.科学研究和技术服务业); break;
case "C": industryList.push(INDUSTRY.制造业); break;
case "E": industryList.push(INDUSTRY.建筑业); break;
case "L": industryList.push(INDUSTRY.租赁和商务服务业); break;
case "F": industryList.push(INDUSTRY.批发和零售业); break;
}
}
let logonAddress = '[]';
if (工商信息.Address) {
let logonAddressList = formatAddress(工商信息.Address);
logonAddress = JSON.stringify(logonAddressList);
}
let baseInfo = { let baseInfo = {
enterpriseName: 工商信息.Name, enterpriseName: 工商信息.Name,
pinyinName, pinyinName,
...@@ -159,14 +197,12 @@ async function 工商信息(uscc, eId) { ...@@ -159,14 +197,12 @@ async function 工商信息(uscc, eId) {
// gengDuoDianHua: 工商信息., //更多电话 // gengDuoDianHua: 工商信息., //更多电话
// mainBusiness: 工商信息., //主营业务 // mainBusiness: 工商信息., //主营业务
logonTime: getMySqlMs(工商信息.StartDate), //成立日期 logonTime: getMySqlMs(工商信息.StartDate), //成立日期
mail: 工商信息.ContactInfo.Email, //邮箱
// isNaturalPersonHolding: 工商信息., //是否自然人控股 // isNaturalPersonHolding: 工商信息., //是否自然人控股
// industry: 工商信息., //领域 industry: JSON.stringify(industryList), //领域
// moreMail: 工商信息., //更多邮箱 // moreMail: 工商信息., //更多邮箱
// logonAddress: 工商信息.Address, //注册地址 logonAddress: logonAddress, //注册地址
// tongXinDiZhi: 工商信息., //通信地址 // tongXinDiZhi: 工商信息., //通信地址
// liaison: 工商信息., //联系人 // liaison: 工商信息., //联系人
liaisonPhone: 工商信息.ContactInfo.PhoneNumber, //联系电话
dengJiJiGuan: 工商信息.BelongOrg, //登机机关 dengJiJiGuan: 工商信息.BelongOrg, //登机机关
qiYeGuiMo, //企业规模 TagList qiYeGuiMo, //企业规模 TagList
RAS: 工商信息.Status, //登记状态 RAS: 工商信息.Status, //登记状态
...@@ -186,6 +222,14 @@ async function 工商信息(uscc, eId) { ...@@ -186,6 +222,14 @@ async function 工商信息(uscc, eId) {
}; };
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, baseInfo, {uscc, eId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, baseInfo, {uscc, eId});
let liaisondbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc, eId}, ["mail", "liaisonPhone"]);
let liaisonInfo:any = {}
if (!liaisondbInfo.mail) liaisonInfo["mail"] = 工商信息.ContactInfo.Email; //邮箱
if (!liaisondbInfo.liaisonPhone) liaisonInfo["liaisonPhone"] = 工商信息.ContactInfo.PhoneNumber; //联系电话
if (Object.keys(liaisonInfo).length) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, liaisonInfo, {uscc, eId});
}
/** /**
* 股权结构目前小程序没有做这块的更新,所以全部采用小程序的数据 * 股权结构目前小程序没有做这块的更新,所以全部采用小程序的数据
* 逻辑:检测到 股权人+比例 与原来的不一样(只要出现一个不一样),就会删除这个企业下所有的,并且重新写入企查查的这一块数据 * 逻辑:检测到 股权人+比例 与原来的不一样(只要出现一个不一样),就会删除这个企业下所有的,并且重新写入企查查的这一块数据
...@@ -244,6 +288,24 @@ async function 工商信息(uscc, eId) { ...@@ -244,6 +288,24 @@ async function 工商信息(uscc, eId) {
* 3.企查查有,小程序有,不覆盖 * 3.企查查有,小程序有,不覆盖
* 4.企查查以前有现在没有,小程序没有,不删除之前的 * 4.企查查以前有现在没有,小程序没有,不删除之前的
*/ */
let zzInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业资质, {eId}, ["qId"]);
if (!zzInfo || !zzInfo.qId) {
//不存在 直接添加
zzInfo = {
qId : randomId(TABLEID.企业资质),
eId : eId,
// xjrState:STATE.否,
kxState:STATE.,
gxjsState:STATE.,
zjtxState:STATE.,
// listedState:STATE.否,
xjrPyState:STATE.,
cxState:STATE.,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业资质, zzInfo, {})
}
if (工商信息.TagList) { if (工商信息.TagList) {
for (let i = 0; i < 工商信息.TagList.length; i++) { for (let i = 0; i < 工商信息.TagList.length; i++) {
let info = 工商信息.TagList[i]; let info = 工商信息.TagList[i];
...@@ -269,35 +331,44 @@ async function 工商信息(uscc, eId) { ...@@ -269,35 +331,44 @@ async function 工商信息(uscc, eId) {
zzInfo = { zzInfo = {
qId : randomId(TABLEID.企业资质), qId : randomId(TABLEID.企业资质),
eId : eId, eId : eId,
xjrState:STATE., // xjrState:STATE.否,
kxState:STATE., kxState:STATE.,
gxjsState:STATE., gxjsState:STATE.,
zjtxState:STATE., zjtxState:STATE.,
listedState:STATE., // listedState:STATE.否,
xjrPyState:STATE., xjrPyState:STATE.,
cxState:STATE.,
}; };
isAdd = true; isAdd = true;
} }
switch (Name) { switch (Name) {
case "科技型中小企业": case "创新型中小企业":
if (isAdd) { if (isAdd) {
zzInfo.kxState = STATE. zzInfo.cxState = STATE.
} else { } else {
if (!zzInfo.kxState) { if (!zzInfo.cxState) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, {kxState:STATE.}, {eId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, {cxState:STATE.}, {eId});
} }
} }
break; break;
case "科技小巨人企业": case "科技型中小企业":
if (isAdd) { if (isAdd) {
zzInfo.xjrState = STATE. zzInfo.kxState = STATE.
} else { } else {
if (!zzInfo.xjrState) { if (!zzInfo.kxState) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, {xjrState:STATE.}, {eId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, {kxState:STATE.}, {eId});
} }
} }
break; break;
// case "科技小巨人企业":
// if (isAdd) {
// zzInfo.xjrState = STATE.是
// } else {
// if (!zzInfo.xjrState) {
// await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业资质, {xjrState:STATE.是}, {eId});
// }
// }
// break;
case "专精特新中小企业": case "专精特新中小企业":
if (isAdd) { if (isAdd) {
zzInfo.zjtxState = STATE. zzInfo.zjtxState = STATE.
...@@ -373,7 +444,9 @@ async function 工商信息(uscc, eId) { ...@@ -373,7 +444,9 @@ async function 工商信息(uscc, eId) {
if (infoupdateList.length ) await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.变更信息表, infoupdateList, null); if (infoupdateList.length ) await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.变更信息表, infoupdateList, null);
} }
} else {
console.log(`企查查获取不到该企业数据:${uscc}`);
}
} }
async function 商标详情查询(uscc, id) { async function 商标详情查询(uscc, id) {
...@@ -399,7 +472,6 @@ async function 商标详情查询(uscc, id) { ...@@ -399,7 +472,6 @@ async function 商标详情查询(uscc, id) {
* @param eId * @param eId
*/ */
async function 知识产权(uscc, eId) { async function 知识产权(uscc, eId) {
let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId", "enterpriseName"]); let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId", "enterpriseName"]);
let enterpriseName = enterpriseInfo.enterpriseName; let enterpriseName = enterpriseInfo.enterpriseName;
...@@ -408,11 +480,10 @@ async function 知识产权(uscc, eId) { ...@@ -408,11 +480,10 @@ async function 知识产权(uscc, eId) {
let 商标查询:any = await getQcc('https://api.qichacha.com/tm/SearchByApplicant', query, header); let 商标查询:any = await getQcc('https://api.qichacha.com/tm/SearchByApplicant', query, header);
if (Array.isArray(商标查询)) { if (Array.isArray(商标查询)) {
for (let i = 0; i < 商标查询.length; i++) { for (let i = 0; i < 商标查询.length; i++) {
let info = 商标查询[i]; let info = 商标查询[i];
let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.商标, {qccId:info.ID}, ["qccId"]); let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.商标, {qccId:info.ID, eId}, ["qccId"]);
if (!item || !item.qccId) { if (!item || !item.qccId) {
let qcc商标详情 = await 商标详情查询(uscc, info.ID); let qcc商标详情 = await 商标详情查询(uscc, info.ID);
let imageUrl = []; let imageUrl = [];
...@@ -446,7 +517,7 @@ async function 知识产权(uscc, eId) { ...@@ -446,7 +517,7 @@ async function 知识产权(uscc, eId) {
for (let i = 0; i < 作品著作查询.length; i++) { for (let i = 0; i < 作品著作查询.length; i++) {
let info = 作品著作查询[i]; let info = 作品著作查询[i];
let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.作品著作权, {registerNo:info.RegisterNo}, ["registerNo"]); let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.作品著作权, {registerNo:info.RegisterNo, eId}, ["registerNo"]);
if (!item || !item.registerNo) { // 库里不存在就会添加新的 if (!item || !item.registerNo) { // 库里不存在就会添加新的
let addItemInfo:any = { let addItemInfo:any = {
crId:randomId(TABLEID.作品著作权), crId:randomId(TABLEID.作品著作权),
...@@ -475,7 +546,7 @@ async function 知识产权(uscc, eId) { ...@@ -475,7 +546,7 @@ async function 知识产权(uscc, eId) {
for (let i = 0; i < 软件著作查询.length; i++) { for (let i = 0; i < 软件著作查询.length; i++) {
let info = 软件著作查询[i]; let info = 软件著作查询[i];
let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.软件著作权, {registerNo:info.RegisterNo}, ["registerNo"]); let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.软件著作权, {registerNo:info.RegisterNo, eId}, ["registerNo"]);
if (!item || !item.registerNo) { // 库里不存在就会添加新的 if (!item || !item.registerNo) { // 库里不存在就会添加新的
let addItemInfo:any = { let addItemInfo:any = {
scId:randomId(TABLEID.软件著作权), scId:randomId(TABLEID.软件著作权),
...@@ -506,7 +577,7 @@ async function 知识产权(uscc, eId) { ...@@ -506,7 +577,7 @@ async function 知识产权(uscc, eId) {
for (let i = 0; i < 专利查询.length; i++) { for (let i = 0; i < 专利查询.length; i++) {
let info = 专利查询[i]; let info = 专利查询[i];
let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.专利, {applicationNumber:info.ApplicationNumber}, ["applicationNumber"]); let item = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.专利, {applicationNumber:info.ApplicationNumber, eId}, ["applicationNumber"]);
if (!item || !item.applicationNumber) { // 库里不存在就会添加新的 if (!item || !item.applicationNumber) { // 库里不存在就会添加新的
let addItemInfo:any = { let addItemInfo:any = {
patentId:randomId(TABLEID.专利), patentId:randomId(TABLEID.专利),
......
...@@ -76,10 +76,10 @@ import { systemSendMail } from "./mail"; ...@@ -76,10 +76,10 @@ import { systemSendMail } from "./mail";
unitPrice:param.unitPrice || null, unitPrice:param.unitPrice || null,
building: param.building || null, // 楼号 building: param.building || null, // 楼号
roomNumber:param.roomNumber || null, roomNumber:param.roomNumber || null,
// startTime:getMySqlMs(param.fuHuaTimeStart), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化开始时间 startTime:getMySqlMs(param.fuHuaTimeStart), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化开始时间
// endTime:getMySqlMs(param.fuHuaTimeEndTime), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化结束时间 endTime:getMySqlMs(param.fuHuaTimeEndTime), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化结束时间
startTime: getMySqlMs(param.leaseStartTime), // 租赁开始时间 // startTime: getMySqlMs(param.leaseStartTime), // 租赁开始时间
endTime: getMySqlMs(param.leaseEndTime), // 租赁结束时间 // endTime: getMySqlMs(param.leaseEndTime), // 租赁结束时间
rent:param.rent, rent:param.rent,
} }
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, leaseInfo, {}); await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, leaseInfo, {});
...@@ -129,10 +129,8 @@ export async function settleInEnterpriseList(page:number, enterpriseName:string) ...@@ -129,10 +129,8 @@ export async function settleInEnterpriseList(page:number, enterpriseName:string)
logonTime:moment(info.logonTime).format("YYYY-MM-DD"),//注册时间 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")}`, leaseTime:`${moment(info.enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(info.enterprise_leases[0].endTime).format("YYYY-MM-DD")}`,
fuHuaTime:`${moment(info.enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(info.enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`, fuHuaTime:`${moment(info.enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(info.enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`,
// leaseTimeStart:info.enterprise_leases[0].startTime || 0, // leaseStartTime:info.enterprise_leases[0].startTime || 0,
// leaseTimeEnd:info.enterprise_leases[0].endTime || 0, // leaseEndTime:info.enterprise_leases[0].endTime || 0,
leaseStartTime:info.enterprise_leases[0].startTime || 0,
leaseEndTime:info.enterprise_leases[0].endTime || 0,
fuHuaTimeStart:info.enterprise_fuhuas[0].startTime||0, fuHuaTimeStart:info.enterprise_fuhuas[0].startTime||0,
fuHuaTimeEnd:info.enterprise_fuhuas[0].endTime||0, fuHuaTimeEnd:info.enterprise_fuhuas[0].endTime||0,
area:info.enterprise_leases[0].area,//租赁面积 area:info.enterprise_leases[0].area,//租赁面积
...@@ -366,30 +364,67 @@ export async function enterpriseRegisterExamineList(enterpriseName, page) { ...@@ -366,30 +364,67 @@ export async function enterpriseRegisterExamineList(enterpriseName, page) {
let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "randomCode", "state", "register"]; let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "randomCode", "state", "register"];
let leaseConf = ["sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "yaJinZhiFu", "cardCopy"];
let manyTableInfo:any = {} let manyTableInfo:any = {}
manyTableInfo[TABLENAME.租赁信息] = {column:["leaseContract", "entryPlan", "businessLicense", "agreement"], where:{} }; manyTableInfo[TABLENAME.租赁信息] = {column:leaseConf, where:{} };
manyTableInfo[TABLENAME.企业孵化信息] = {column:["state", "startTime", "endTime"], where:{} }; manyTableInfo[TABLENAME.企业孵化信息] = {column:["state", "startTime", "endTime"], where:{} };
// manyTableInfo[TABLENAME.入孵申请审批表] = {column:["approvalId", "changeState", "createTimeMs"], where:{"%literal%":`approval_histories.changeType = ${enumConfig.CHANGETYPE.入孵材料审批}`, "%limit%":1} }; // manyTableInfo[TABLENAME.入孵申请审批表] = {column:["approvalId", "changeState", "createTimeMs"], where:{"%literal%":`approval_histories.changeType = ${enumConfig.CHANGETYPE.入孵材料审批}`, "%limit%":1} };
let resList = await selectManyTableData(OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo, page ); let resList = await selectManyTableData(OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo, page );
let allResList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, ["eId"], manyTableInfo ); let allResList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, ["eId"], manyTableInfo );
let leaseConfSome = ["sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "cardCopy"];
let dataList = []; let dataList = [];
resList.forEach(info => { resList.forEach(info => {
let state = "待审核";
if (leaseConfSome.some(key => !info.enterprise_leases[0][key])) {
state = "未提交";
}
// if (!info.enterprise_leases[0].leaseContract || !info.enterprise_leases[0].entryPlan
// || !info.enterprise_leases[0].businessLicense || !info.enterprise_leases[0].agreement
// || !info.enterprise_leases[0].tripartiteAgreement) {
// state = "未提交";
// }
if (info.state == enumConfig.CHANGESTATE.已驳回) state = "已驳回";
dataList.push({ dataList.push({
eId:info.eId, eId:info.eId,
enterpriseName:info.enterpriseName, enterpriseName:info.enterpriseName,
randomCode:info.randomCode, randomCode:info.randomCode,
/**跳转用 */ /**跳转用 */
leaseContractUrl: info.enterprise_leases[0].leaseContract, sanFangXieYiUrl: info.enterprise_leases[0].sanFangXieYi,
entryPlanUrl: info.enterprise_leases[0].entryPlan, fuHuaXieYiUrl: info.enterprise_leases[0].fuHuaXieYi,
businessLicenseUrl: info.enterprise_leases[0].businessLicense, fangWuZuLingUrl: info.enterprise_leases[0].fangWuZuLing,
agreementUrl: info.enterprise_leases[0].agreement, fuHuaXieYiBuChongUrl: info.enterprise_leases[0].fuHuaXieYiBuChong,
chengXinChengNuoHanUrl: info.enterprise_leases[0].chengXinChengNuoHan,
yingYeZhiZhaoUrl: info.enterprise_leases[0].yingYeZhiZhao,
ruFuZiLiaoUrl: info.enterprise_leases[0].ruFuZiLiao,
ruZhuJiHuaUrl: info.enterprise_leases[0].ruZhuJiHua,
yaJinZhiFuUrl: info.enterprise_leases[0].yaJinZhiFu,
cardCopyUrl: info.enterprise_leases[0].cardCopy,
// leaseContractUrl: info.enterprise_leases[0].leaseContract,
// entryPlanUrl: info.enterprise_leases[0].entryPlan,
// businessLicenseUrl: info.enterprise_leases[0].businessLicense,
// agreementUrl: info.enterprise_leases[0].agreement,
// tripartiteAgreementUrl: info.enterprise_leases[0].tripartiteAgreement,
/**显示用:名称 */ /**显示用:名称 */
leaseContract: getFileNameAndFormat(info.enterprise_leases[0].leaseContract) || "未提交", sanFangXieYi: getFileNameAndFormat(info.enterprise_leases[0].sanFangXieYi) || "未提交",
entryPlan: getFileNameAndFormat(info.enterprise_leases[0].entryPlan) || "未提交", fuHuaXieYi: getFileNameAndFormat(info.enterprise_leases[0].fuHuaXieYi) || "未提交",
businessLicense: getFileNameAndFormat(info.enterprise_leases[0].businessLicense) || "未提交", fangWuZuLing: getFileNameAndFormat(info.enterprise_leases[0].fangWuZuLing) || "未提交",
agreement: getFileNameAndFormat(info.enterprise_leases[0].agreement) || "未提交", fuHuaXieYiBuChong: getFileNameAndFormat(info.enterprise_leases[0].fuHuaXieYiBuChong) || "未提交",
status: info.state == enumConfig.CHANGESTATE.已驳回 ? "已驳回" : "未审核" // 状态映射 chengXinChengNuoHan: getFileNameAndFormat(info.enterprise_leases[0].chengXinChengNuoHan) || "未提交",
yingYeZhiZhao: getFileNameAndFormat(info.enterprise_leases[0].yingYeZhiZhao) || "未提交",
ruFuZiLiao: getFileNameAndFormat(info.enterprise_leases[0].ruFuZiLiao) || "未提交",
ruZhuJiHua: getFileNameAndFormat(info.enterprise_leases[0].ruZhuJiHua) || "未提交",
yaJinZhiFu: getFileNameAndFormat(info.enterprise_leases[0].yaJinZhiFu) || "未提交",
cardCopy: getFileNameAndFormat(info.enterprise_leases[0].cardCopy) || "未提交",
// 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) || "未提交",
// tripartiteAgreement: getFileNameAndFormat(info.enterprise_leases[0].tripartiteAgreement) || "未提交",
status: state // 状态映射
}); });
}); });
...@@ -407,7 +442,8 @@ export async function getRuFu(eId:string) { ...@@ -407,7 +442,8 @@ export async function getRuFu(eId:string) {
if (!enterpriseUserInfo || !enterpriseUserInfo.eId) { if (!enterpriseUserInfo || !enterpriseUserInfo.eId) {
throw new BizError(ERRORENUM.请先申请入孵); throw new BizError(ERRORENUM.请先申请入孵);
} }
let leaseFilesList = ["leaseId", "area", "leaseContract", "entryPlan", "businessLicense", "agreement"]; let leaseFilesList = ["leaseId", "area",
"sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "yaJinZhiFu", "cardCopy"];
let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, leaseFilesList); let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, leaseFilesList);
enterpriseUserInfo.logonAddress = JSON.parse(enterpriseUserInfo.logonAddress); enterpriseUserInfo.logonAddress = JSON.parse(enterpriseUserInfo.logonAddress);
...@@ -421,20 +457,38 @@ export async function getRuFu(eId:string) { ...@@ -421,20 +457,38 @@ export async function getRuFu(eId:string) {
else dataInfo.endTime = ""; else dataInfo.endTime = "";
/**跳转用 */ /**跳转用 */
dataInfo.area = leaseInfo.area; dataInfo.area = leaseInfo.area;
dataInfo.leaseContractUrl = leaseInfo.leaseContract; dataInfo.sanFangXieYiUrl = leaseInfo.sanFangXieYi;
dataInfo.entryPlanUrl = leaseInfo.entryPlan; dataInfo.fuHuaXieYiUrl = leaseInfo.fuHuaXieYi;
dataInfo.businessLicenseUrl = leaseInfo.businessLicense; dataInfo.fangWuZuLingUrl = leaseInfo.fangWuZuLing;
dataInfo.agreementUrl = leaseInfo.agreement; dataInfo.fuHuaXieYiBuChongUrl = leaseInfo.fuHuaXieYiBuChong;
dataInfo.chengXinChengNuoHanUrl = leaseInfo.chengXinChengNuoHan;
dataInfo.yingYeZhiZhaoUrl = leaseInfo.yingYeZhiZhao;
dataInfo.ruFuZiLiaoUrl = leaseInfo.ruFuZiLiao;
dataInfo.ruZhuJiHuaUrl = leaseInfo.ruZhuJiHua;
dataInfo.yaJinZhiFuUrl = leaseInfo.yaJinZhiFu;
dataInfo.cardCopyUrl = leaseInfo.cardCopy;
/**显示用:名称 */ /**显示用:名称 */
dataInfo.leaseContract = getFileNameAndFormat(leaseInfo.leaseContract); dataInfo.sanFangXieYi = getFileNameAndFormat(leaseInfo.sanFangXieYi);
dataInfo.entryPlan = getFileNameAndFormat(leaseInfo.entryPlan); dataInfo.fuHuaXieYi = getFileNameAndFormat(leaseInfo.fuHuaXieYi);
dataInfo.businessLicense = getFileNameAndFormat(leaseInfo.businessLicense); dataInfo.fangWuZuLing = getFileNameAndFormat(leaseInfo.fangWuZuLing);
dataInfo.agreement = getFileNameAndFormat(leaseInfo.agreement); dataInfo.fuHuaXieYiBuChong = getFileNameAndFormat(leaseInfo.fuHuaXieYiBuChong);
dataInfo.chengXinChengNuoHan = getFileNameAndFormat(leaseInfo.chengXinChengNuoHan);
dataInfo.leaseContractModelUrl = "/yuyi/files/房屋租赁合同模板.docx"; dataInfo.yingYeZhiZhao = getFileNameAndFormat(leaseInfo.yingYeZhiZhao);
dataInfo.entryPlanModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx"; dataInfo.ruFuZiLiao = getFileNameAndFormat(leaseInfo.ruFuZiLiao);
dataInfo.businessLicenseUrl = "/yuyi/files/营业执照复印件.docx"; dataInfo.ruZhuJiHua = getFileNameAndFormat(leaseInfo.ruZhuJiHua);
dataInfo.agreementModelUrl = "/yuyi/files/孵化协议模板.docx"; dataInfo.yaJinZhiFu = getFileNameAndFormat(leaseInfo.yaJinZhiFu);
dataInfo.cardCopy = getFileNameAndFormat(leaseInfo.cardCopy);
/**下载用:模板 */
dataInfo.sanFangXieYiModelUrl = "/yuyi/files/三方协议.docx"
dataInfo.fuHuaXieYiModelUrl = "/yuyi/files/孵化协议最新版.docx"
// dataInfo.fangWuZuLingModelUrl = ""
dataInfo.fuHuaXieYiBuChongModelUrl = "/yuyi/files/孵化协议补充协议书.docx"
dataInfo.chengXinChengNuoHanModelUrl = "/yuyi/files/诚信承诺函.docx"
// dataInfo.yingYeZhiZhaoModelUrl = ""
dataInfo.ruFuZiLiaoModelUrl = "/yuyi/files/入孵资料明细.xls"
dataInfo.ruZhuJiHuaModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx"
// dataInfo.yaJinZhiFuModelUrl = ""
// dataInfo.cardCopyModelUrl = ""
return {dataInfo}; return {dataInfo};
} }
...@@ -471,14 +525,16 @@ export async function enterpriseRegisterExaminePass(eId:string) { ...@@ -471,14 +525,16 @@ export async function enterpriseRegisterExaminePass(eId:string) {
if (!eId) throw new BizError(ERRORENUM.参数错误); if (!eId) throw new BizError(ERRORENUM.参数错误);
let manyTableInfo:any = {} let manyTableInfo:any = {}
let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "state"]; let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "state"];
manyTableInfo[TABLENAME.租赁信息] = {column:["leaseContract", "entryPlan", "businessLicense", "agreement"], where:{} }; manyTableInfo[TABLENAME.租赁信息] = {column:["sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "yaJinZhiFu", "cardCopy"], where:{} };
let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表单个, TABLENAME.企业基础信息表, {eId}, filesList, manyTableInfo); let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表单个, TABLENAME.企业基础信息表, {eId}, filesList, manyTableInfo);
if (!resInfo || !resInfo.eId) throw new BizError(ERRORENUM.数据不存在); if (!resInfo || !resInfo.eId) throw new BizError(ERRORENUM.数据不存在);
if (!resInfo.enterprise_leases[0].leaseContract || !resInfo.enterprise_leases[0].entryPlan || !resInfo.enterprise_leases[0].businessLicense || !resInfo.enterprise_leases[0].agreement) { // if (!resInfo.enterprise_leases[0].leaseContract || !resInfo.enterprise_leases[0].entryPlan
throw new BizError(ERRORENUM.请上传所有入孵材料); // || !resInfo.enterprise_leases[0].businessLicense || !resInfo.enterprise_leases[0].agreement
} // || !resInfo.enterprise_leases[0].tripartiteAgreement) {
// throw new BizError(ERRORENUM.请上传所有入孵材料);
// }
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, {state:enumConfig.CHANGESTATE.已通过}, {eId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, {state:enumConfig.CHANGESTATE.已通过}, {eId});
...@@ -533,14 +589,17 @@ export async function enterpriseRegisterExamineOut(eId:string, descType, desc:st ...@@ -533,14 +589,17 @@ export async function enterpriseRegisterExamineOut(eId:string, descType, desc:st
if (!resInfo || !resInfo.eId) throw new BizError(ERRORENUM.数据不存在); if (!resInfo || !resInfo.eId) throw new BizError(ERRORENUM.数据不存在);
let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, []); let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, []);
if (!leaseInfo.leaseContract || !leaseInfo.entryPlan || !leaseInfo.businessLicense || !leaseInfo.agreement) throw new BizError(ERRORENUM.该企业暂未提交入孵材料);
// if (resInfo.state) throw new BizError(ERRORENUM.该企业已通过审核); let leaseConf = ["sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "cardCopy"];
for (let i = 0; i < leaseConf.length; i++) {
let updateLeaseInfo = { if(!leaseInfo[leaseConf[i]]) {
leaseContract:null, throw new BizError(ERRORENUM.该企业暂未提交入孵材料);
entryPlan:null, }
businessLicense:null, }
agreement:null
let updateLeaseInfo:any = {yaJinZhiFu:null};
for (let i = 0; i < leaseConf.length; i++) {
updateLeaseInfo[leaseConf[i]] = null;
} }
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.租赁信息, updateLeaseInfo, {eId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.租赁信息, updateLeaseInfo, {eId});
...@@ -602,6 +661,8 @@ export async function updateRuFu(eId:string, param) { ...@@ -602,6 +661,8 @@ export async function updateRuFu(eId:string, param) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.租赁信息, param, {eId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.租赁信息, param, {eId});
// await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, {state:enumConfig.CHANGESTATE.未审核}, {});
return {isSuccess:true}; return {isSuccess:true};
} }
...@@ -643,8 +704,8 @@ export async function enterpriseRegister(param) { ...@@ -643,8 +704,8 @@ export async function enterpriseRegister(param) {
let leaseInfo = { let leaseInfo = {
eId:addEInfo.eId, eId:addEInfo.eId,
leaseId:randomId(TABLEID.租赁信息), leaseId:randomId(TABLEID.租赁信息),
startTime:getMySqlMs(param.leaseTimeStart), // startTime:getMySqlMs(param.leaseTimeStart),
endTime:getMySqlMs(param.leaseTimeEnd), // endTime:getMySqlMs(param.leaseTimeEnd),
area:param.area area:param.area
} }
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, leaseInfo, {}); await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, leaseInfo, {});
......
...@@ -96,7 +96,15 @@ export async function getRuFuState(uId) { ...@@ -96,7 +96,15 @@ export async function getRuFuState(uId) {
if (enterpriseInfo.state == CHANGESTATE.未审核 && enterpriseInfo.register == CHANGESTATE.已通过) { if (enterpriseInfo.state == CHANGESTATE.未审核 && enterpriseInfo.register == CHANGESTATE.已通过) {
let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId:enterpriseUserInfo.eId}, []); let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId:enterpriseUserInfo.eId}, []);
//如果入孵申请已通过,并且入孵材料还未上传,进入材料上传界面 //如果入孵申请已通过,并且入孵材料还未上传,进入材料上传界面
if (!leaseInfo.leaseContract && !leaseInfo.entryPlan || !leaseInfo.businessLicense || !leaseInfo.agreement) { let leaseConf = ["sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "cardCopy"];
// ruFuState = RUFUSTATE.入孵材料审核中;
// if (leaseConf.some(key => !(key in leaseInfo))) {
// ruFuState = RUFUSTATE.入孵材料填写;
// }
if (!leaseInfo.sanFangXieYi || !leaseInfo.fuHuaXieYi || !leaseInfo.fangWuZuLing || !leaseInfo.fuHuaXieYiBuChong || !leaseInfo.chengXinChengNuoHan ||
!leaseInfo.yingYeZhiZhao || !leaseInfo.ruFuZiLiao || !leaseInfo.ruZhuJiHua || !leaseInfo.cardCopy) {
ruFuState = RUFUSTATE.入孵材料填写; ruFuState = RUFUSTATE.入孵材料填写;
} else { } else {
ruFuState = RUFUSTATE.入孵材料审核中; ruFuState = RUFUSTATE.入孵材料审核中;
...@@ -148,7 +156,7 @@ export async function createRuFu(uId, param) { ...@@ -148,7 +156,7 @@ export async function createRuFu(uId, param) {
}; };
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业基础信息表, addEInfo, {}); await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业基础信息表, addEInfo, {});
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业用户表, {eId:addEInfo.eId}, {uId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业用户表, {eId:addEInfo.eId, uscc:addEInfo.uscc}, {uId});
let fuHuaInfo = { let fuHuaInfo = {
eId:addEInfo.eId, eId:addEInfo.eId,
...@@ -257,7 +265,8 @@ export async function getRuFu(eId:string) { ...@@ -257,7 +265,8 @@ export async function getRuFu(eId:string) {
if (!enterpriseUserInfo || !enterpriseUserInfo.eId) { if (!enterpriseUserInfo || !enterpriseUserInfo.eId) {
throw new BizError(ERRORENUM.请先申请入孵); throw new BizError(ERRORENUM.请先申请入孵);
} }
let leaseFilesList = ["leaseId", "area", "leaseContract", "entryPlan", "businessLicense", "agreement"]; let leaseFilesList = ["leaseId", "area",
"sanFangXieYi", "fuHuaXieYi", "fangWuZuLing", "fuHuaXieYiBuChong", "chengXinChengNuoHan", "yingYeZhiZhao", "ruFuZiLiao", "ruZhuJiHua", "yaJinZhiFu", "cardCopy"];
let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, leaseFilesList); let leaseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, leaseFilesList);
enterpriseUserInfo.logonAddress = JSON.parse(enterpriseUserInfo.logonAddress); enterpriseUserInfo.logonAddress = JSON.parse(enterpriseUserInfo.logonAddress);
...@@ -273,20 +282,39 @@ export async function getRuFu(eId:string) { ...@@ -273,20 +282,39 @@ export async function getRuFu(eId:string) {
dataInfo.area = leaseInfo.area; dataInfo.area = leaseInfo.area;
/**跳转用 */ /**跳转用 */
dataInfo.leaseContractUrl = leaseInfo.leaseContract; dataInfo.area = leaseInfo.area;
dataInfo.entryPlanUrl = leaseInfo.entryPlan; dataInfo.sanFangXieYiUrl = leaseInfo.sanFangXieYi;
dataInfo.businessLicenseUrl = leaseInfo.businessLicense; dataInfo.fuHuaXieYiUrl = leaseInfo.fuHuaXieYi;
dataInfo.agreementUrl = leaseInfo.agreement; dataInfo.fangWuZuLingUrl = leaseInfo.fangWuZuLing;
dataInfo.fuHuaXieYiBuChongUrl = leaseInfo.fuHuaXieYiBuChong;
dataInfo.chengXinChengNuoHanUrl = leaseInfo.chengXinChengNuoHan;
dataInfo.yingYeZhiZhaoUrl = leaseInfo.yingYeZhiZhao;
dataInfo.ruFuZiLiaoUrl = leaseInfo.ruFuZiLiao;
dataInfo.ruZhuJiHuaUrl = leaseInfo.ruZhuJiHua;
dataInfo.yaJinZhiFuUrl = leaseInfo.yaJinZhiFu;
dataInfo.cardCopy = leaseInfo.cardCopy;
/**显示用:名称 */ /**显示用:名称 */
dataInfo.leaseContract = getFileNameAndFormat(leaseInfo.leaseContract); dataInfo.sanFangXieYi = getFileNameAndFormat(leaseInfo.sanFangXieYi);
dataInfo.entryPlan = getFileNameAndFormat(leaseInfo.entryPlan); dataInfo.fuHuaXieYi = getFileNameAndFormat(leaseInfo.fuHuaXieYi);
dataInfo.businessLicense = getFileNameAndFormat(leaseInfo.businessLicense); dataInfo.fangWuZuLing = getFileNameAndFormat(leaseInfo.fangWuZuLing);
dataInfo.agreement = getFileNameAndFormat(leaseInfo.agreement); dataInfo.fuHuaXieYiBuChong = getFileNameAndFormat(leaseInfo.fuHuaXieYiBuChong);
dataInfo.chengXinChengNuoHan = getFileNameAndFormat(leaseInfo.chengXinChengNuoHan);
dataInfo.leaseContractModelUrl = "/yuyi/files/房屋租赁合同模板.docx"; dataInfo.yingYeZhiZhao = getFileNameAndFormat(leaseInfo.yingYeZhiZhao);
dataInfo.entryPlanModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx"; dataInfo.ruFuZiLiao = getFileNameAndFormat(leaseInfo.ruFuZiLiao);
dataInfo.businessLicenseUrl = "/yuyi/files/营业执照复印件.docx"; dataInfo.ruZhuJiHua = getFileNameAndFormat(leaseInfo.ruZhuJiHua);
dataInfo.agreementModelUrl = "/yuyi/files/孵化协议模板.docx"; dataInfo.yaJinZhiFu = getFileNameAndFormat(leaseInfo.yaJinZhiFu);
dataInfo.cardCopy = getFileNameAndFormat(leaseInfo.cardCopy);
/**下载用:模板 */
dataInfo.sanFangXieYiModelUrl = "/yuyi/files/三方协议.docx"
dataInfo.fuHuaXieYiModelUrl = "/yuyi/files/孵化协议最新版.docx"
// dataInfo.fangWuZuLingModelUrl = ""
dataInfo.fuHuaXieYiBuChongModelUrl = "/yuyi/files/孵化协议补充协议书.docx"
dataInfo.chengXinChengNuoHanModelUrl = "/yuyi/files/诚信承诺函.docx"
// dataInfo.yingYeZhiZhaoModelUrl = ""
dataInfo.ruFuZiLiaoModelUrl = "/yuyi/files/入孵资料明细.xls"
dataInfo.ruZhuJiHuaModelUrl = "/yuyi/files/孵化企业入驻计划.xlsx"
// dataInfo.yaJinZhiFuModelUrl = ""
// dataInfo.cardCopyModelUrl = ""
return {dataInfo}; return {dataInfo};
} }
......
...@@ -43,13 +43,16 @@ import { BUILDING } from "../config/enum/enum"; ...@@ -43,13 +43,16 @@ import { BUILDING } from "../config/enum/enum";
/**查询租赁表信息 */ /**查询租赁表信息 */
let leaseWhere:any = {}; 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 (building) {
if (!leaseWhere["%literal%"]) leaseWhere["%literal%"] = `building = ${building}`; leaseWhere = { building }
else leaseWhere["%literal%"] += ` and building = ${building}`;
} }
// 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 zuLingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.租赁信息, leaseWhere, ["eId", "area", "startTime", "endTime", "building", "roomNumber"]);
let zaifuMap = {}; let zaifuMap = {};
if (zuLingList.length) { if (zuLingList.length) {
...@@ -185,10 +188,10 @@ export async function enterpriseMigrateList(enterpriseName:string, page:number) ...@@ -185,10 +188,10 @@ export async function enterpriseMigrateList(enterpriseName:string, page:number)
formattedMoveOutTypeName = changeEnumValue(enumConfig.EMIGRATIONTYPE, parseInt(String(enterprise_fuhuas[0].moveOutType))); formattedMoveOutTypeName = changeEnumValue(enumConfig.EMIGRATIONTYPE, parseInt(String(enterprise_fuhuas[0].moveOutType)));
} }
let leasesTime = '-' // let leasesTime = '-'
if (enterprise_leases[0].startTime){ // if (enterprise_leases[0].startTime){
leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`; // leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}至${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`;
} // }
let fuhuaTime = '-'; let fuhuaTime = '-';
if (enterprise_fuhuas[0].startTime){ if (enterprise_fuhuas[0].startTime){
...@@ -204,7 +207,7 @@ export async function enterpriseMigrateList(enterpriseName:string, page:number) ...@@ -204,7 +207,7 @@ export async function enterpriseMigrateList(enterpriseName:string, page:number)
moveOutTime:formattedMoveOutTime,//新增迁出时间 moveOutTime:formattedMoveOutTime,//新增迁出时间
moveOutType:formattedMoveOutTypeName,//新增迁出类型 moveOutType:formattedMoveOutTypeName,//新增迁出类型
qiYeGuiMo,//企业规模 qiYeGuiMo,//企业规模
leasesTime,//租赁时间 // leasesTime,//租赁时间
fuhuaTime,//孵化时间 fuhuaTime,//孵化时间
area:enterprise_leases[0].area+"㎡",//租赁面积 area:enterprise_leases[0].area+"㎡",//租赁面积
building:enterprise_leases[0].building,//楼号 building:enterprise_leases[0].building,//楼号
...@@ -259,10 +262,10 @@ export async function enterpriseById(eId:string) { ...@@ -259,10 +262,10 @@ export async function enterpriseById(eId:string) {
if (enterprise_fuhuas[0].startTime){ if (enterprise_fuhuas[0].startTime){
fuhuasTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`; fuhuasTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`;
} }
let leasesTime = '-' // let leasesTime = '-'
if (enterprise_leases[0].startTime){ // if (enterprise_leases[0].startTime){
leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`; // leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}至${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`;
} // }
let area = ""; let area = "";
if (enterprise_leases[0].area) area = enterprise_leases[0].area + "㎡"; if (enterprise_leases[0].area) area = enterprise_leases[0].area + "㎡";
...@@ -292,10 +295,10 @@ export async function enterpriseById(eId:string) { ...@@ -292,10 +295,10 @@ export async function enterpriseById(eId:string) {
key:"孵化时间", key:"孵化时间",
value:fuhuasTime value:fuhuasTime
}, },
{ // {
key:"租赁时间", // key:"租赁时间",
value:leasesTime // value:leasesTime
}, // },
{ {
key:"租赁面积", key:"租赁面积",
value:area value:area
...@@ -608,7 +611,7 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo ...@@ -608,7 +611,7 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
{key:"注册地址",value:"logonAddress"}, {key:"注册地址",value:"logonAddress"},
{key:"企业规模",value:"qiYeGuiMo"}, {key:"企业规模",value:"qiYeGuiMo"},
{key:"孵化时间",value:"fuhuaStartTime"},//孵化时间 {key:"孵化时间",value:"fuhuaStartTime"},//孵化时间
{key:"租赁时间",value: "leaseStartTime"}, // {key:"租赁时间",value: "leaseStartTime"},
{key:"租赁面积",value:"area",}, {key:"租赁面积",value:"area",},
{key:"楼号",value:"building"},//楼号 {key:"楼号",value:"building"},//楼号
{key:"室号",value:"roomNumber"}, {key:"室号",value:"roomNumber"},
...@@ -631,13 +634,16 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo ...@@ -631,13 +634,16 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
/**查询租赁表信息 */ /**查询租赁表信息 */
let leaseWhere:any = {}; 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 (building) {
if (!leaseWhere["%literal%"]) leaseWhere["%literal%"] = `building = ${building}`; leaseWhere = {building};
else leaseWhere["%literal%"] += ` and building = ${building}`;
} }
// 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 zuLingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.租赁信息, leaseWhere, ["eId", "area", "startTime", "endTime", "building", "roomNumber"]);
let zaifuMap = {}; let zaifuMap = {};
if (zuLingList.length) { if (zuLingList.length) {
...@@ -671,10 +677,10 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo ...@@ -671,10 +677,10 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
if (!zaifuMap[eId]) continue; if (!zaifuMap[eId]) continue;
} }
let leasesTime = '-'; // let leasesTime = '-';
if (zaifuMap[eId]?.startTime) { // if (zaifuMap[eId]?.startTime) {
leasesTime = `${moment(zaifuMap[eId].startTime).format("YYYY-MM-DD")}${moment(zaifuMap[eId].endTime).format("YYYY-MM-DD")}`; // leasesTime = `${moment(zaifuMap[eId].startTime).format("YYYY-MM-DD")}至${moment(zaifuMap[eId].endTime).format("YYYY-MM-DD")}`;
} // }
let fuhuaTime = '-'; let fuhuaTime = '-';
if (enterprise_fuhuas[0]?.startTime) { if (enterprise_fuhuas[0]?.startTime) {
...@@ -689,7 +695,7 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo ...@@ -689,7 +695,7 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
if (subInfo == "logonAddress") subList.push(changeAdd(JSON.parse(logonAddress)));//注册地址 if (subInfo == "logonAddress") subList.push(changeAdd(JSON.parse(logonAddress)));//注册地址
if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo);//企业规模 if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo);//企业规模
if (subInfo == "fuhuaStartTime") subList.push(fuhuaTime);//孵化时间 if (subInfo == "fuhuaStartTime") subList.push(fuhuaTime);//孵化时间
if (subInfo == "leaseStartTime") subList.push(leasesTime);//租赁时间 // if (subInfo == "leaseStartTime") subList.push(leasesTime);//租赁时间
if (subInfo == "area") subList.push(zaifuMap[eId]?.area ? `${zaifuMap[eId].area}㎡` : '-');//租赁面积 if (subInfo == "area") subList.push(zaifuMap[eId]?.area ? `${zaifuMap[eId].area}㎡` : '-');//租赁面积
if (subInfo == "building") subList.push(zaifuMap[eId]?.building || '-');//楼号 if (subInfo == "building") subList.push(zaifuMap[eId]?.building || '-');//楼号
if (subInfo == "roomNumber") subList.push(zaifuMap[eId]?.roomNumber || '-');//室号 if (subInfo == "roomNumber") subList.push(zaifuMap[eId]?.roomNumber || '-');//室号
...@@ -728,7 +734,7 @@ export async function dwBasicInformation(eId:string) { ...@@ -728,7 +734,7 @@ export async function dwBasicInformation(eId:string) {
{key:"注册地址",value:"logonAddress"}, {key:"注册地址",value:"logonAddress"},
{key:"企业规模",value:"qiYeGuiMo"}, {key:"企业规模",value:"qiYeGuiMo"},
{key:"孵化时间",value:"fuhuaStartTime"},//孵化时间 {key:"孵化时间",value:"fuhuaStartTime"},//孵化时间
{key:"租赁时间",value: "leaseStartTime"}, // {key:"租赁时间",value: "leaseStartTime"},
{key:"租赁面积",value:"area",}, {key:"租赁面积",value:"area",},
{key:"楼号",value:"building"},//楼号 {key:"楼号",value:"building"},//楼号
{key:"室号",value:"roomNumber"}, {key:"室号",value:"roomNumber"},
...@@ -752,10 +758,10 @@ export async function dwBasicInformation(eId:string) { ...@@ -752,10 +758,10 @@ export async function dwBasicInformation(eId:string) {
dataList.push(titleList); dataList.push(titleList);
resInfo.forEach(info => { resInfo.forEach(info => {
let {enterpriseName, uscc, logonTime, logonAddress, qiYeGuiMo, enterprise_leases, enterprise_fuhuas} = info; let {enterpriseName, uscc, logonTime, logonAddress, qiYeGuiMo, enterprise_leases, enterprise_fuhuas} = info;
let leasesTime = '-' // let leasesTime = '-'
if (enterprise_leases[0].startTime){ // if (enterprise_leases[0].startTime){
leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`; // leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}至${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`;
} // }
let fuhuasTime = '-'; let fuhuasTime = '-';
if (enterprise_fuhuas[0].startTime){ if (enterprise_fuhuas[0].startTime){
fuhuasTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`; fuhuasTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`;
...@@ -770,7 +776,7 @@ export async function dwBasicInformation(eId:string) { ...@@ -770,7 +776,7 @@ export async function dwBasicInformation(eId:string) {
if (subInfo == "logonAddress") subList.push(changeAdd(JSON.parse(logonAddress)));//注册地址 if (subInfo == "logonAddress") subList.push(changeAdd(JSON.parse(logonAddress)));//注册地址
if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo);//企业规模 if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo);//企业规模
if (subInfo == "fuhuaStartTime") subList.push(fuhuasTime);//孵化时间 if (subInfo == "fuhuaStartTime") subList.push(fuhuasTime);//孵化时间
if (subInfo == "leaseStartTime") subList.push(leasesTime);//租赁时间 // if (subInfo == "leaseStartTime") subList.push(leasesTime);//租赁时间
if (subInfo == "area") subList.push(area);//租赁面积 if (subInfo == "area") subList.push(area);//租赁面积
if (subInfo == "building") subList.push(enterprise_leases[0].building);//楼号 if (subInfo == "building") subList.push(enterprise_leases[0].building);//楼号
if (subInfo == "roomNumber") subList.push(enterprise_leases[0].roomNumber);//室号 if (subInfo == "roomNumber") subList.push(enterprise_leases[0].roomNumber);//室号
...@@ -1077,10 +1083,10 @@ export async function dwEnterpriseOutTable(enterpriseName: string, type: number, ...@@ -1077,10 +1083,10 @@ export async function dwEnterpriseOutTable(enterpriseName: string, type: number,
formattedMoveOutTypeName = changeEnumValue(enumConfig.EMIGRATIONTYPE, parseInt(String(enterprise_fuhuas[0].moveOutType))); formattedMoveOutTypeName = changeEnumValue(enumConfig.EMIGRATIONTYPE, parseInt(String(enterprise_fuhuas[0].moveOutType)));
} }
let leasesTime = '-' // let leasesTime = '-'
if (enterprise_leases[0].startTime){ // if (enterprise_leases[0].startTime){
leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`; // leasesTime = `${moment(enterprise_leases[0].startTime).format("YYYY-MM-DD")}至${moment(enterprise_leases[0].endTime).format("YYYY-MM-DD")}`;
} // }
let fuhuaTime = '-'; let fuhuaTime = '-';
if (enterprise_fuhuas[0].startTime){ if (enterprise_fuhuas[0].startTime){
fuhuaTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`; fuhuaTime = `${moment(enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")}${moment(enterprise_fuhuas[0].endTime).format("YYYY-MM-DD")}`;
...@@ -1094,7 +1100,7 @@ export async function dwEnterpriseOutTable(enterpriseName: string, type: number, ...@@ -1094,7 +1100,7 @@ export async function dwEnterpriseOutTable(enterpriseName: string, type: number,
if (subInfo == "logonAddress") subList.push(changeAdd(JSON.parse(logonAddress))); //注册地址 if (subInfo == "logonAddress") subList.push(changeAdd(JSON.parse(logonAddress))); //注册地址
if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo); //企业规模 if (subInfo == "qiYeGuiMo") subList.push(qiYeGuiMo); //企业规模
if (subInfo == "startTime") subList.push(fuhuaTime);//孵化时间 if (subInfo == "startTime") subList.push(fuhuaTime);//孵化时间
if (subInfo == "startTime") subList.push(leasesTime); //租赁时间 // if (subInfo == "startTime") subList.push(leasesTime); //租赁时间
if (subInfo == "area") subList.push(enterprise_leases[0].area + "㎡"); //租赁面积 if (subInfo == "area") subList.push(enterprise_leases[0].area + "㎡"); //租赁面积
if (subInfo == "building") subList.push(enterprise_leases[0].building); //楼号 if (subInfo == "building") subList.push(enterprise_leases[0].building); //楼号
if (subInfo == "roomNumber") subList.push(enterprise_leases[0].roomNumber); //室号 if (subInfo == "roomNumber") subList.push(enterprise_leases[0].roomNumber); //室号
......
...@@ -29,10 +29,22 @@ export const PolicyUpdateConfig = { ...@@ -29,10 +29,22 @@ export const PolicyUpdateConfig = {
export const ApplyForUpdateConfig = { export const ApplyForUpdateConfig = {
leaseContract:{type:"String"},// 房屋租赁合同链接 sanFangXieYi:{type:"String"}, //三方协议链接
entryPlan:{type:"String"},// 入驻计划复印件链接 fuHuaXieYi:{type:"String"}, //孵化协议链接
businessLicense:{type:"String"},// 营业执照复印件链接 fangWuZuLing:{type:"String"}, //房屋租赁合同链接
agreement:{type:"String"},// 孵化协议链接 fuHuaXieYiBuChong:{type:"String"}, //孵化协议补充协议书链接
chengXinChengNuoHan:{type:"String"}, //诚信承诺函链接
yingYeZhiZhao:{type:"String"}, //营业执照复印件链接
ruFuZiLiao:{type:"String"}, //入孵资料明细链接
ruZhuJiHua:{type:"String"}, //入驻计划复印件链接
yaJinZhiFu:{type:"String"}, //押金支付凭证链接
cardCopy:{type:"String"}, //身份证复印件地址链接
// leaseContract:{type:"String"},// 房屋租赁合同链接
// entryPlan:{type:"String"},// 入驻计划复印件链接
// businessLicense:{type:"String"},// 营业执照复印件链接
// agreement:{type:"String"},// 孵化协议链接
// tripartiteAgreement:{type:"String"},// 三方协议链接
} }
export const SettleInForUpdateConfig = { export const SettleInForUpdateConfig = {
...@@ -61,8 +73,8 @@ export const RegisterUpdateConfig = { ...@@ -61,8 +73,8 @@ export const RegisterUpdateConfig = {
enterpriseName:{type:"String"},//企业名称 enterpriseName:{type:"String"},//企业名称
logonAddress:{type:"String"},//注册地址 logonAddress:{type:"String"},//注册地址
uscc:{type:"String"},//统一信用代码 uscc:{type:"String"},//统一信用代码
leaseTimeStart:{type:"Number"},//租赁开始时间 // leaseTimeStart:{type:"Number"},//租赁开始时间
leaseTimeEnd:{type:"Number"},//租赁结束时间 // leaseTimeEnd:{type:"Number"},//租赁结束时间
logonTime:{type:"Number"},//注册时间 logonTime:{type:"Number"},//注册时间
area:{type:"Number"},//面积 area:{type:"Number"},//面积
} }
...@@ -90,10 +102,22 @@ export const AdminRegisterAddConfig = { ...@@ -90,10 +102,22 @@ export const AdminRegisterAddConfig = {
export const AdminRegisterUpdateConfig = { export const AdminRegisterUpdateConfig = {
leaseContract:{type:"String",required: true, message: '房屋租赁合同不能为空' },// 房屋租赁合同链接 sanFangXieYi:{type:"String", required:true, message: '三方协议不能为空'}, //三方协议链接
entryPlan:{type:"String",required: true, message: '入驻计划复印件不能为空'},// 入驻计划复印件链接 fuHuaXieYi:{type:"String", required:true, message: '孵化协议不能为空'}, //孵化协议链接
businessLicense:{type:"String",required: true, message: '营业执照复印件不能为空'},// 营业执照复印件链接 fangWuZuLing:{type:"String", required:true, message: '房屋租赁合同不能为空'}, //房屋租赁合同链接
agreement:{type:"String",required: true, message: '孵化协议不能为空'},// 孵化协议链接 fuHuaXieYiBuChong:{type:"String", required:true, message: '孵化协议补充协议书不能为空'}, //孵化协议补充协议书链接
chengXinChengNuoHan:{type:"String", required:true, message: '诚信承诺函不能为空'}, //诚信承诺函链接
yingYeZhiZhao:{type:"String", required:true, message: '营业执照复印件不能为空'}, //营业执照复印件链接
ruFuZiLiao:{type:"String", required:true, message: '入孵资料明细不能为空'}, //入孵资料明细链接
ruZhuJiHua:{type:"String", required:true, message: '入驻计划复印件不能为空'}, //入驻计划复印件链接
cardCopy:{type:"String", required:true, message: '身份证复印件地址不能为空'}, //身份证复印件地址链接
yaJinZhiFu:{type:"String", required:false}, //押金支付凭证链接
// leaseContract:{type:"String",required: true, message: '房屋租赁合同不能为空' },// 房屋租赁合同链接
// entryPlan:{type:"String",required: true, message: '入驻计划复印件不能为空'},// 入驻计划复印件链接
// businessLicense:{type:"String",required: true, message: '营业执照复印件不能为空'},// 营业执照复印件链接
// agreement:{type:"String",required: true, message: '孵化协议不能为空'},// 孵化协议链接
// tripartiteAgreement:{type:"String",required: true, message: '三方协议不能为空'},// 三方协议链接
} }
......
...@@ -59,6 +59,13 @@ export enum TABLENAME { ...@@ -59,6 +59,13 @@ export enum TABLENAME {
作品著作权 = "copy_right", 作品著作权 = "copy_right",
软件著作权 = "software_copyright", 软件著作权 = "software_copyright",
专利 = "patent", 专利 = "patent",
高新企业创新能力评价答题="gaoxin_answer",
高新企业创新能力评价选项="gaoxin_option",
答题记录="gaoxin_answerrecord",
答题记录明细="gaoxin_answerdetail",
租房补贴企业自评="zufang_answer",
租房补贴答题记录="zufang_answerrecord",
租房补贴答题记录明细="zufang_answerdetail",
} }
...@@ -102,6 +109,11 @@ export enum TABLEID { ...@@ -102,6 +109,11 @@ export enum TABLEID {
商标 = "trm", 商标 = "trm",
作品著作权= "cr", 作品著作权= "cr",
软件著作权 = "sc", 软件著作权 = "sc",
专利="patent" 专利="patent",
高新企业创新能力评价答题="ga",
高新企业创新能力评价选项="go",
答题记录="gar",
答题记录明细="gad",
租房补贴企业自评="zaId",
租房补贴答题记录="zarId",
} }
\ No newline at end of file
...@@ -2,15 +2,22 @@ ...@@ -2,15 +2,22 @@
* 行业领域 * 行业领域
*/ */
export enum INDUSTRY{ export enum INDUSTRY{
集成电路 = 1, "信息传输、软件和信息技术服务业" = 1,
生物医药, 科学研究和技术服务业,
人工智能及智能制造, 制造业,
航空航天, 建筑业,
汽车产业, 租赁和商务服务业,
软件和信息服务业, 批发和零售业
低碳环保及新材料,
综合, // 集成电路 = 1,
文化创意 // 生物医药,
// 人工智能及智能制造,
// 航空航天,
// 汽车产业,
// 软件和信息服务业,
// 低碳环保及新材料,
// 综合,
// 文化创意
} }
...@@ -72,6 +79,7 @@ export enum FUHUASTATE { ...@@ -72,6 +79,7 @@ export enum FUHUASTATE {
*/ */
export enum EMIGRATIONTYPE { export enum EMIGRATIONTYPE {
毕业迁出 = 1, 毕业迁出 = 1,
毕业未迁出, //新加状态
到期退租, 到期退租,
违约退租 违约退租
} }
...@@ -112,8 +120,8 @@ export enum SEX { ...@@ -112,8 +120,8 @@ export enum SEX {
* 创始团队 * 创始团队
*/ */
export enum ENTERPRISETEAM { export enum ENTERPRISETEAM {
国际一流人才=2, 海外人才 = 2,
国内一流人才 国内人才
} }
...@@ -304,6 +312,12 @@ export enum QUARTER { ...@@ -304,6 +312,12 @@ export enum QUARTER {
} }
export enum IPRTYPE {
软件著作权 = 1,
专利 = 100,
其他 = 200
}
/** /**
* 知识产权 全类型 * 知识产权 全类型
...@@ -336,10 +350,14 @@ export enum IPRALLTYPE { ...@@ -336,10 +350,14 @@ export enum IPRALLTYPE {
} }
export enum IPRTYPE { /**
软件著作权 = 1, * 租房补贴题目
专利 = 100, */
其他 = 200 export enum ANSWERTYPE {
是否有研发费用 = 1,
是否有缴纳社保,
是否有软著等知识产权,
是否认定科小或创新型中小企业
} }
......
...@@ -8,7 +8,7 @@ export enum ENTERPRISEBASE { ...@@ -8,7 +8,7 @@ export enum ENTERPRISEBASE {
注册地址 = "logonAddress", 注册地址 = "logonAddress",
企业规模 = "qiYeGuiMo", 企业规模 = "qiYeGuiMo",
孵化时间 = "fuHuaTime", 孵化时间 = "fuHuaTime",
租赁时间 = "startTime", // 租赁时间 = "startTime",
租赁面积 = "area", 租赁面积 = "area",
楼号 = "building", 楼号 = "building",
室号 = "roomNumber" 室号 = "roomNumber"
...@@ -62,7 +62,7 @@ export enum ENTERPRISEBASEMOVEOUT { ...@@ -62,7 +62,7 @@ export enum ENTERPRISEBASEMOVEOUT {
注册地址 = "logonAddress", 注册地址 = "logonAddress",
企业规模 = "qiYeGuiMo", 企业规模 = "qiYeGuiMo",
孵化时间 = "fuHuaTime", 孵化时间 = "fuHuaTime",
租赁时间 = "startTime", // 租赁时间 = "startTime",
租赁面积 = "area", 租赁面积 = "area",
楼号 = "building", 楼号 = "building",
室号 = "roomNumber" 室号 = "roomNumber"
......
import { updateItemQCCData } from "./biz/qccInit";
import { initConfig, systemConfig } from "./config/serverConfig"; import { initConfig, systemConfig } from "./config/serverConfig";
import { initApiDataStorage } from "./data/dataInterfaceWithCache"; import { initApiDataStorage } from "./data/dataInterfaceWithCache";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
...@@ -9,6 +10,7 @@ async function lanuch() { ...@@ -9,6 +10,7 @@ async function lanuch() {
console.log('This indicates that the server is started successfully.'); console.log('This indicates that the server is started successfully.');
await initApiDataStorage(); await initApiDataStorage();
} }
......
...@@ -64,6 +64,7 @@ export function setRouter(httpServer) { ...@@ -64,6 +64,7 @@ export function setRouter(httpServer) {
httpServer.post('/admin/library/manage/list', checkUser, asyncHandler(manageList)); httpServer.post('/admin/library/manage/list', checkUser, asyncHandler(manageList));
httpServer.post('/admin/library/dw/manage/list', checkUser, asyncHandler(outPutManageList)); httpServer.post('/admin/library/dw/manage/list', checkUser, asyncHandler(outPutManageList));
httpServer.post('/admin/library/manage/update', checkUser, asyncHandler(updateManage));
httpServer.post('/admin/library/manage/pass', checkUser, asyncHandler(managePass)); httpServer.post('/admin/library/manage/pass', checkUser, asyncHandler(managePass));
httpServer.post('/admin/library/financing/list', checkUser, asyncHandler(financingList)); httpServer.post('/admin/library/financing/list', checkUser, asyncHandler(financingList));
...@@ -523,6 +524,14 @@ async function outPutManageList(req, res) { ...@@ -523,6 +524,14 @@ async function outPutManageList(req, res) {
res.success(result); res.success(result);
} }
async function updateManage(req, res) {
const UserInfo = req.userInfo;
let {mId, BI, TXP, RD } = req.body
let result = await enterpriseInfoBiz.updateManage(mId, BI, TXP, RD);
res.success(result);
}
async function managePass(req, res) { async function managePass(req, res) {
const UserInfo = req.userInfo; const UserInfo = req.userInfo;
......
/**
* 管理后台-企业自评
*/
import * as asyncHandler from 'express-async-handler';
import * as answerBiz from '../biz/answer';
import { checkUser } from '../middleware/user';
export function setRouter(httpServer) {
httpServer.post('/admin/answer/gaoxin/list', checkUser, asyncHandler(enterpriseResults));
httpServer.post('/admin/answer/gaoxin/details', checkUser, asyncHandler(getAnswerDetails));
httpServer.post('/admin/answer/zufang/list', checkUser, asyncHandler(getHousingSubsidy));
}
/**
* 高新-企业自评结果列表
* @param req
* @param res
*/
async function enterpriseResults(req, res) {
const UserInfo = req.userInfo;
let {enterpriseName, page } = req.body
let result = await answerBiz.enterpriseResults(enterpriseName, page);
res.success(result);
}
/**
* 高新-企业自评结果列表
* @param req
* @param res
*/
async function getAnswerDetails(req, res) {
const UserInfo = req.userInfo;
let {garId, answerType } = req.body
let result = await answerBiz.getAnswerDetails(garId, answerType);
res.success(result);
}
/**
* 高新-企业自评结果列表
* @param req
* @param res
*/
async function getHousingSubsidy(req, res) {
const UserInfo = req.userInfo;
let { enterpriseName, page } = req.body
let result = await answerBiz.getHousingSubsidyEligibilityList(enterpriseName, page);
res.success(result);
}
...@@ -6,10 +6,13 @@ import * as asyncHandler from 'express-async-handler'; ...@@ -6,10 +6,13 @@ import * as asyncHandler from 'express-async-handler';
import { checkInterior } from '../middleware/user'; import { checkInterior } from '../middleware/user';
import { getMySqlMs, getPinyinInitials, randomId } from '../tools/system'; import { getMySqlMs, getPinyinInitials, randomId } from '../tools/system';
import { OPERATIONALDATATYPE, TABLEID, TABLENAME } from '../config/enum/dbEnum'; import { OPERATIONALDATATYPE, TABLEID, TABLENAME } from '../config/enum/dbEnum';
import { CHANGESTATE, DEGREE, FUHUASTATE, IPRALLTYPE, ZZMM } from '../config/enum/enum'; import { ANSWERTYPE, CHANGESTATE, DEGREE, FUHUASTATE, IPRALLTYPE, STATE, ZZMM } from '../config/enum/enum';
import { operationalData } from '../data/operationalData'; import { operationalData, selectData } from '../data/operationalData';
import { initApiDataStorage } from '../data/dataInterfaceWithCache'; import { initApiDataStorage } from '../data/dataInterfaceWithCache';
import { updateQCCDataTask } from '../biz/qccInit'; import { updateQCCDataTask } from '../biz/qccInit';
import { changeEnumValue } from '../util/verificationEnum';
import { BizError } from '../util/bizError';
import { ERRORENUM } from '../config/enum/errorEnum';
const xlsx = require('node-xlsx'); const xlsx = require('node-xlsx');
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
...@@ -17,9 +20,787 @@ const fs = require('fs'); ...@@ -17,9 +20,787 @@ const fs = require('fs');
export function setRouter(httpServer) { export function setRouter(httpServer) {
//管理员登录登出 //管理员登录登出
httpServer.post('/admin/data/maintenance/datainit/1210', checkInterior, asyncHandler(data1210)); httpServer.post('/admin/data/maintenance/datainit/1210', checkInterior, asyncHandler(data1210));
httpServer.post('/admin/data/maintenance/datainit/answer', checkInterior, asyncHandler(addAnswer));
httpServer.post('/admin/data/maintenance/datainit/zufanganswer', checkInterior, asyncHandler(addZuFangAnswer));
httpServer.post('/admin/data/maintenance/datainit/qcc', checkInterior, asyncHandler(qccDatat0519)); httpServer.post('/admin/data/maintenance/datainit/qcc', checkInterior, asyncHandler(qccDatat0519));
httpServer.post('/admin/data/maintenance/datainit/0620', checkInterior, asyncHandler(data0620));
httpServer.post('/admin/data/maintenance/datainit/0709', checkInterior, asyncHandler(data0709));
httpServer.post('/admin/data/maintenance/datainit/uscc', checkInterior, asyncHandler(updateUscc));
httpServer.post('/admin/data/maintenance/datainit/enterprise', checkInterior, asyncHandler(dataInitEnterprise));
httpServer.post('/admin/data/maintenance/datainit/loginTime', checkInterior, asyncHandler(dataUpdateLoginTime));
httpServer.post('/admin/data/maintenance/datainit/updatetime', checkInterior, asyncHandler(updateTime));
httpServer.post('/admin/data/maintenance/datainit/addenterprise', checkInterior, asyncHandler(addEnterprise));
}
/**
* 导入遗漏的企业
* @param req
* @param res
*/
export async function addEnterprise(req, res) {
const FIELD_MAPPING = {
/**企业信息 */
'企业名称': 'enterpriseName',
'统一社会信用代码': 'uscc',
'注册日期': 'logonTime',
'注册地址': 'logonAddress',
/**用户信息 */
'联系人': 'userName',
'联系方式': 'phone',
/**法人信息 */
'姓名': 'name',
'身份证': 'idCard',
'户籍': 'domicile',
'学历': 'degree',
'政治面貌': 'politicalStatus',
'手机号码': 'farenphone',
/**孵化信息 */
'入孵日期-开始时间': 'startTime',
'入孵日期-截止时间': 'endTime',
/**租赁信息 */
'楼号': 'building',
'室号': 'roomNumber',
'面积': 'area',
'月租金': 'rent'
};
//2.读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '导入遗漏企业.xlsx' ));
let dataList = sheetMap['Sheet1'];
for (let i = 1; i < dataList.length; i++) {
let info = dataList[i];
let excelData = {
enterpriseName:info[0],
uscc:info[1],
logonTime:info[15],
userName:info[13],
phone:info[14],
name:info[5],
idCard:info[9],
domicile:info[10] || "",
degree:DEGREE[info[7]],
farenphone:info[8],
building:info[2],
roomNumber:info[3],
area:info[4]
}
/**租赁日期 */
let [zlstartStr, zlendStr] = info[16].split('-');
/**入孵日期 */
let [rfstartStr, rfendStr] = info[17].split('-');
// 新增企业信息
let enterpriseDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc:excelData.uscc}, ["eId", "uscc", "enterpriseName"]);
let eId = "";
if (!enterpriseDbInfo.eId) {
eId = randomId(TABLEID.企业基础信息表);
let pinyinName = getPinyinInitials(excelData.enterpriseName)
let enterpriseInfo = { //基础信息表
eId,
enterpriseName:excelData.enterpriseName,
pinyinName,
uscc: excelData.uscc,
// logonTime: excelData.logonTime,
// logonAddress: excelData.logonAddress,
state:CHANGESTATE.已通过,
register:CHANGESTATE.已通过,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业基础信息表, enterpriseInfo, {});
console.log(`新增企业信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
} else {
eId = enterpriseDbInfo.eId;
}
let zulinDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, ["leaseId"]);
if (!zulinDbInfo.leaseId) {
let enterprise_leaseInfo:any = {//租赁信息表
leaseId:randomId(TABLEID.租赁信息),
eId,
area:excelData.area || 0,
building:excelData.building || '',
roomNumber:excelData.roomNumber || '',
startTime:zlstartStr,
endTime:zlendStr
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, enterprise_leaseInfo, {});
console.log(`新增租赁信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let fuhuaDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, {eId}, ["fId"]);
if (!fuhuaDbInfo.fId) {
let enterprise_fuhua:any = {//孵化表
fId:randomId(TABLEID.企业孵化信息),
eId,
state:FUHUASTATE.实体孵化,
startTime:rfstartStr,
endTime:rfendStr
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业孵化信息, enterprise_fuhua, {});
console.log(`新增企业孵化信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let farenDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.法人信息表, {eId}, ["legalId"]);
if (!farenDbInfo.legalId) {
let enterprise_legal_personInfo:any = {//法人信息
legalId:randomId(TABLEID.法人信息表),
eId,
name: excelData.name,
idCard: excelData.idCard,
domicile: excelData.domicile || '',
degree: excelData.degree || null,
// politicalStatus:politicalStatus || null,
phone: excelData.farenphone || null,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.法人信息表, enterprise_legal_personInfo, {});
console.log(`新增法人信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let userDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业用户表, {eId}, ["uId"]);
if (!userDbInfo.uId) {
// 准备添加用户数据
let addUserData = {
uId:randomId(TABLEID.企业用户表),
userName:excelData.userName,
phone:excelData.phone+'',
uscc: excelData.uscc,
pwd:'111111',
eId
};
// 添加到数据库
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业用户表, addUserData, {});
console.log(`新增企业用户信息:eId:${eId},企业名称:${excelData.enterpriseName},联系人:${excelData.userName},手机号:${excelData.phone}`);
}
}
res.success({isSuccess:true});
} }
export async function updateTime(req, res) {
//2.读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '工作簿1.xlsx' ));
let dataList = sheetMap['Sheet1'];
for (let i = 2; i < dataList.length; i++) {
let info = dataList[i];
let enterpriseDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc:info[3]}, ["eId", "uscc", "enterpriseName"]);
if (!enterpriseDbInfo.eId) throw new BizError(ERRORENUM.数据不存在);
// 分割字符串获取开始和结束日期部分
if (info[44]) {
let [zlstartStr, zlendStr] = info[44].split('-');
let lesaeInfo = {
startTime:getMySqlMs(new Date(zlstartStr).valueOf()),
endTime:getMySqlMs(new Date(zlendStr).valueOf()),
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.租赁信息, lesaeInfo, {eId:enterpriseDbInfo.eId});
console.log(`修改租赁时间成功${i},企业名称:${enterpriseDbInfo.enterpriseName},开始:${lesaeInfo.startTime},结束:${lesaeInfo.endTime}`)
}
if (info[46]) {
let [rfstartStr, rfendStr] = info[46].split('-');
let rufuInfo = {
startTime:getMySqlMs(new Date(rfstartStr).valueOf()),
endTime:getMySqlMs(new Date(rfendStr).valueOf()),
}
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业孵化信息, rufuInfo, {eId:enterpriseDbInfo.eId});
console.log(`修改入孵时间成功${i},企业名称:${enterpriseDbInfo.enterpriseName},开始:${rufuInfo.startTime},结束:${rufuInfo.endTime}`)
}
}
res.success({isSuccess:true});
}
export async function updateUscc(req, res) {
//1.获取数据库现有的企业数据
let enterpriseList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业基础信息表, {}, ["eId", "uscc", "enterpriseName"]);
for (let i = 0; i < enterpriseList.length; i++) {
let info = enterpriseList[i];
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业用户表, {uscc:info.uscc}, { eId: info.eId });
console.log(`修改uscc成功,${i}`)
}
res.success({isSuccess:true});
}
export async function dataUpdateLoginTime(req, res) {// 配置字段映射关系 (Excel表头 -> 数据库字段)
const FIELD_MAPPING = {
/**企业信息 */
'企业名称': 'enterpriseName',
'统一社会信用代码': 'uscc',
'注册日期': 'logonTime',
'注册地址': 'logonAddress',
/**用户信息 */
'联系人': 'userName',
'联系方式': 'phone',
/**法人信息 */
'姓名': 'name',
'身份证': 'idCard',
'户籍': 'domicile',
'学历': 'degree',
'政治面貌': 'politicalStatus',
'手机号码': 'farenphone',
/**孵化信息 */
'入孵日期-开始时间': 'startTime',
'入孵日期-截止时间': 'endTime',
/**租赁信息 */
'楼号': 'building',
'室号': 'roomNumber',
'面积': 'area',
'月租金': 'rent'
};
//2.读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '在孵企业导入0619.xlsx' ));
let dataList = sheetMap['Sheet1'];
for (let i = 1; i < dataList.length; i++) {
let info = dataList[i];
let excelData = {
enterpriseName:info[0],
uscc:info[1],
logonTime:getMySqlMs(new Date(info[15]).valueOf()),
userName:info[13],
phone:info[14],
name:info[5],
idCard:info[9],
domicile:info[10] || "",
degree:DEGREE[info[7]],
farenphone:info[8],
building:info[2],
roomNumber:info[3],
area:info[4]
}
// 新增企业信息
let enterpriseDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc:excelData.uscc}, ["eId", "uscc", "enterpriseName"]);
if (enterpriseDbInfo.eId) {
let enterpriseInfo = { //基础信息表
logonTime: excelData.logonTime
};
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业基础信息表, enterpriseInfo, {eId:enterpriseDbInfo.eId});
console.log(`新增企业信息:eId:${enterpriseDbInfo.eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
}
res.success({isSuccess:true});
}
export async function dataInitEnterprise(req, res) {// 配置字段映射关系 (Excel表头 -> 数据库字段)
const FIELD_MAPPING = {
/**企业信息 */
'企业名称': 'enterpriseName',
'统一社会信用代码': 'uscc',
'注册日期': 'logonTime',
'注册地址': 'logonAddress',
/**用户信息 */
'联系人': 'userName',
'联系方式': 'phone',
/**法人信息 */
'姓名': 'name',
'身份证': 'idCard',
'户籍': 'domicile',
'学历': 'degree',
'政治面貌': 'politicalStatus',
'手机号码': 'farenphone',
/**孵化信息 */
'入孵日期-开始时间': 'startTime',
'入孵日期-截止时间': 'endTime',
/**租赁信息 */
'楼号': 'building',
'室号': 'roomNumber',
'面积': 'area',
'月租金': 'rent'
};
//2.读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '在孵企业导入0619.xlsx' ));
let dataList = sheetMap['Sheet1'];
for (let i = 1; i < dataList.length; i++) {
let info = dataList[i];
let excelData = {
enterpriseName:info[0],
uscc:info[1],
logonTime:info[15],
userName:info[13],
phone:info[14],
name:info[5],
idCard:info[9],
domicile:info[10] || "",
degree:DEGREE[info[7]],
farenphone:info[8],
building:info[2],
roomNumber:info[3],
area:info[4]
}
// 新增企业信息
let enterpriseDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc:excelData.uscc}, ["eId", "uscc", "enterpriseName"]);
let eId = "";
if (!enterpriseDbInfo.eId) {
eId = randomId(TABLEID.企业基础信息表);
let pinyinName = getPinyinInitials(excelData.enterpriseName)
let enterpriseInfo = { //基础信息表
eId,
enterpriseName:excelData.enterpriseName,
pinyinName,
uscc: excelData.uscc,
// logonTime: excelData.logonTime,
// logonAddress: excelData.logonAddress,
state:CHANGESTATE.已通过,
register:CHANGESTATE.已通过,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业基础信息表, enterpriseInfo, {});
console.log(`新增企业信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
} else {
eId = enterpriseDbInfo.eId;
}
let zulinDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, ["leaseId"]);
if (!zulinDbInfo.leaseId) {
let enterprise_leaseInfo:any = {//租赁信息表
leaseId:randomId(TABLEID.租赁信息),
eId,
area:excelData.area || 0,
building:excelData.building || '',
roomNumber:excelData.roomNumber || '',
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, enterprise_leaseInfo, {});
console.log(`新增租赁信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let fuhuaDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, {eId}, ["fId"]);
if (!fuhuaDbInfo.fId) {
let enterprise_fuhua:any = {//孵化表
fId:randomId(TABLEID.企业孵化信息),
eId,
state:FUHUASTATE.实体孵化
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业孵化信息, enterprise_fuhua, {});
console.log(`新增企业孵化信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let farenDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.法人信息表, {eId}, ["legalId"]);
if (!farenDbInfo.legalId) {
let enterprise_legal_personInfo:any = {//法人信息
legalId:randomId(TABLEID.法人信息表),
eId,
name: excelData.name,
idCard: excelData.idCard,
domicile: excelData.domicile || '',
degree: excelData.degree || null,
// politicalStatus:politicalStatus || null,
phone: excelData.farenphone || null,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.法人信息表, enterprise_legal_personInfo, {});
console.log(`新增法人信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let userDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业用户表, {eId}, ["uId"]);
if (!userDbInfo.uId) {
// 准备添加用户数据
let addUserData = {
uId:randomId(TABLEID.企业用户表),
userName:excelData.userName,
phone:excelData.phone+'',
uscc: excelData.uscc,
pwd:'111111',
eId
};
// 添加到数据库
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业用户表, addUserData, {});
console.log(`新增企业用户信息:eId:${eId},企业名称:${excelData.enterpriseName},联系人:${excelData.userName},手机号:${excelData.phone}`);
}
}
res.success({isSuccess:true});
}
export async function data0620(req, res) {
// 配置字段映射关系 (Excel表头 -> 数据库字段)
const FIELD_MAPPING = {
/**企业信息 */
'企业名称': 'enterpriseName',
'统一社会信用代码': 'uscc',
'注册日期': 'logonTime',
'注册地址': 'logonAddress',
/**用户信息 */
'联系人': 'userName',
'联系方式': 'phone',
/**法人信息 */
'姓名': 'name',
'身份证': 'idCard',
'户籍': 'domicile',
'学历': 'degree',
'政治面貌': 'politicalStatus',
'手机号码': 'farenphone',
/**孵化信息 */
'入孵日期-开始时间': 'startTime',
'入孵日期-截止时间': 'endTime',
/**租赁信息 */
'楼号': 'building',
'室号': 'roomNumber',
'面积': 'area',
'月租金': 'rent'
};
//1.获取数据库现有的企业数据
let enterpriseList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业基础信息表, {}, ["eId", "uscc", "enterpriseName"]);
//2.读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '在孵企业导入0619.xlsx' ));
let dataList = sheetMap['Sheet1'];
// 3. 数据预处理和验证
if (!dataList || dataList.length === 0) {
return res.status(400).json({ code: 400, message: 'Excel文件中没有数据' });
}
// 提取表头
const headers = dataList[0];
// 4. 创建字段索引映射
const fieldIndices = {};
Object.keys(FIELD_MAPPING).forEach(fieldName => {
const index = headers.indexOf(fieldName);
if (index !== -1) {
fieldIndices[fieldName] = index;
}
});
// 5. 创建数据库映射关系
const dbUsccMap = new Map();
enterpriseList.forEach(enterprise => {
dbUsccMap.set(enterprise.uscc, enterprise);
});
// 6. 匹配和更新数据
const matchedRecords = [];
const unmatchedRecords = [];
const newEnterprises = [];
// 从第二行开始处理数据(跳过表头)
for (let i = 1; i < dataList.length; i++) {
const row = dataList[i];
if (!row || row.length === 0) continue;
// 自动提取所有配置的字段
const excelData:any = {};
Object.entries(FIELD_MAPPING).forEach(([excelField, dbField]) => {
if (fieldIndices[excelField] !== undefined) {
excelData[dbField] = row[fieldIndices[excelField]];
}
});
const uscc = excelData.uscc;
const enterpriseName = excelData.enterpriseName;
const contactPerson = excelData.userName;
const contactPhone = excelData.phone;
if (!uscc) {
unmatchedRecords.push({
enterpriseName: enterpriseName,
reason: '缺少统一社会信用代码'
});
continue;
}
const dbEnterprise = dbUsccMap.get(uscc);
if (dbEnterprise) {
// 检查是否需要更新
let userInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业用户表, { eId: dbEnterprise.eId }, ["userName", "phone"]);
if (userInfo.userName !== contactPerson || userInfo.phone !== contactPhone) {
// 准备更新数据
const updateData = {
userName: contactPerson,
phone: contactPhone
};
// 修改到数据库
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.企业用户表, updateData, { eId: dbEnterprise.eId });
console.log(`修改数据成功:eId:${dbEnterprise.eId},企业名称:${dbEnterprise.enterpriseName},联系人:${contactPerson},手机号:${contactPhone}`);
matchedRecords.push({
uscc: uscc,
enterpriseName: dbEnterprise.enterpriseName,
oldContact: {
person: dbEnterprise.contactPerson,
phone: dbEnterprise.contactPhone
},
newContact: {
person: contactPerson,
phone: contactPhone
}
});
} else {
// 新增企业信息
let enterpriseDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId", "uscc", "enterpriseName"]);
let eId = "";
if (!enterpriseDbInfo.eId) {
eId = randomId(TABLEID.企业基础信息表);
let pinyinName = getPinyinInitials(enterpriseName)
let enterpriseInfo = { //基础信息表
eId,
enterpriseName:enterpriseName,
pinyinName,
uscc: uscc,
// logonTime: excelData.logonTime,
// logonAddress: excelData.logonAddress,
state:CHANGESTATE.已通过,
register:CHANGESTATE.已通过,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业基础信息表, enterpriseInfo, {});
} else {
eId = enterpriseDbInfo.eId;
}
let zulinDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, ["leaseId"]);
if (!zulinDbInfo.leaseId) {
let enterprise_leaseInfo:any = {//租赁信息表
leaseId:randomId(TABLEID.租赁信息),
eId,
area:excelData.area || 0,
building:excelData.building || '',
roomNumber:excelData.roomNumber || '',
rent:excelData.rent || 0
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, enterprise_leaseInfo, {});
}
let fuhuaDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, {eId}, ["fId"]);
if (!fuhuaDbInfo.fId) {
let enterprise_fuhua:any = {//孵化表
fId:randomId(TABLEID.企业孵化信息),
eId,
state:FUHUASTATE.实体孵化
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业孵化信息, enterprise_fuhua, {});
}
let farenDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.法人信息表, {eId}, ["legalId"]);
if (!farenDbInfo.legalId) {
let enterprise_legal_personInfo:any = {//法人信息
legalId:randomId(TABLEID.法人信息表),
eId,
name: excelData.name,
idCard: excelData.idCard,
// domicile: excelData.domicile || '',
// degree: excelData.degree || null,
// politicalStatus:politicalStatus || null,
phone: excelData.farenphone || null,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.法人信息表, enterprise_legal_personInfo, {});
}
let userDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业用户表, {eId}, ["uId"]);
if (!userDbInfo.uId) {
// 准备添加用户数据
let addUserData = {
uId:randomId(TABLEID.企业用户表),
userName:contactPerson,
phone:contactPhone+'',
uscc: uscc,
pwd:'111111',
eId
};
// 添加到数据库
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业用户表, addUserData, {});
}
console.log(`添加数据成功:eId:${eId},企业名称:${enterpriseName},联系人:${contactPerson},手机号:${contactPhone}`);
}
}
}
res.success({isSuccess:true});
}
export async function data0709(req, res) {// 配置字段映射关系 (Excel表头 -> 数据库字段)
const FIELD_MAPPING = {
/**企业信息 */
'企业名称': 'enterpriseName',
'统一社会信用代码': 'uscc',
// '注册日期': 'logonTime',
'注册地址': 'logonAddress',
/**用户信息 */
'联系人': 'userName',
'联系方式': 'phone',
/**法人信息 */
// '姓名': 'name',
// '身份证': 'idCard',
// '户籍': 'domicile',
// '学历': 'degree',
// '政治面貌': 'politicalStatus',
// '手机号码': 'farenphone',
/**孵化信息 */
// '入孵日期-开始时间': 'startTime',
// '入孵日期-截止时间': 'endTime',
/**租赁信息 */
'楼号': 'building',
'室号': 'roomNumber',
// '面积': 'area',
// '月租金': 'rent'
};
//2.读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '在孵企业导入20250709.xlsx' ));
let dataList = sheetMap['Sheet1'];
for (let i = 1; i < dataList.length; i++) {
let info = dataList[i];
let excelData = {
enterpriseName:info[0],
uscc:info[1],
// logonTime:info[15],
userName:info[4],
phone:info[5],
// name:info[5],
// idCard:info[9],
// domicile:info[10] || "",
// degree:DEGREE[info[7]],
// farenphone:info[8],
building:info[2],
roomNumber:info[3],
// area:info[4]
}
// 新增企业信息
let enterpriseDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc:excelData.uscc}, ["eId", "uscc", "enterpriseName"]);
let eId = "";
if (!enterpriseDbInfo.eId) {
eId = randomId(TABLEID.企业基础信息表);
let pinyinName = getPinyinInitials(excelData.enterpriseName)
let enterpriseInfo = { //基础信息表
eId,
enterpriseName:excelData.enterpriseName,
pinyinName,
uscc: excelData.uscc,
state:CHANGESTATE.已通过,
register:CHANGESTATE.已通过,
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业基础信息表, enterpriseInfo, {});
console.log(`新增企业信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
} else {
eId = enterpriseDbInfo.eId;
}
let zulinDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.租赁信息, {eId}, ["leaseId"]);
if (!zulinDbInfo.leaseId) {
let enterprise_leaseInfo:any = {//租赁信息表
leaseId:randomId(TABLEID.租赁信息),
eId,
// area:excelData.area || 0,
building:excelData.building || '',
roomNumber:excelData.roomNumber || '',
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租赁信息, enterprise_leaseInfo, {});
console.log(`新增租赁信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let fuhuaDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业孵化信息, {eId}, ["fId"]);
if (!fuhuaDbInfo.fId) {
let enterprise_fuhua:any = {//孵化表
fId:randomId(TABLEID.企业孵化信息),
eId,
state:FUHUASTATE.实体孵化
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业孵化信息, enterprise_fuhua, {});
console.log(`新增企业孵化信息:eId:${eId},企业名称:${excelData.enterpriseName},uscc:${excelData.uscc}`);
}
let userDbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业用户表, {eId}, ["uId"]);
if (!userDbInfo.uId) {
// 准备添加用户数据
let addUserData = {
uId:randomId(TABLEID.企业用户表),
userName:excelData.userName,
phone:excelData.phone+'',
uscc: excelData.uscc,
pwd:'111111',
eId
};
// 添加到数据库
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.企业用户表, addUserData, {});
console.log(`新增企业用户信息:eId:${eId},企业名称:${excelData.enterpriseName},联系人:${excelData.userName},手机号:${excelData.phone}`);
}
}
res.success({isSuccess:true});
}
export async function data1210(req, res) { export async function data1210(req, res) {
let 入驻信息add = [ let 入驻信息add = [
{ {
...@@ -190,8 +971,6 @@ export async function data1210(req, res) { ...@@ -190,8 +971,6 @@ export async function data1210(req, res) {
enterprise_legal_personInfo.domicile = subList[10]; enterprise_legal_personInfo.domicile = subList[10];
} }
if (subList[40]) { if (subList[40]) {
let zlsjList = subList[40].split("-"); let zlsjList = subList[40].split("-");
enterprise_leaseInfo.startTime = getMySqlMs(new Date(zlsjList[0]).valueOf()); enterprise_leaseInfo.startTime = getMySqlMs(new Date(zlsjList[0]).valueOf());
...@@ -215,6 +994,7 @@ export async function data1210(req, res) { ...@@ -215,6 +994,7 @@ export async function data1210(req, res) {
uId:randomId(TABLEID.企业用户表), uId:randomId(TABLEID.企业用户表),
userName:subList[13], userName:subList[13],
phone:subList[14]+'', phone:subList[14]+'',
uscc:qccInfo.uscc,
pwd:'111111', pwd:'111111',
eId eId
}; };
...@@ -333,6 +1113,87 @@ export async function data1210(req, res) { ...@@ -333,6 +1113,87 @@ export async function data1210(req, res) {
} }
export async function addAnswer(req, res) {
//读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '高新企业创新能力评价题目V2.xlsx' ));
let dataList = sheetMap['Sheet1']; //题目
for (let i= 1; i < dataList.length; i++) {
let subList = dataList[i];
// let dbInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.高新企业创新能力评价答题, {subject:subList[2]}, ["gaId"]);
// if (dbInfo && dbInfo.gaId) break;
let gaId = randomId(TABLEID.高新企业创新能力评价答题);
let isMultipleChoice = STATE.;
if (subList[3] == "是") isMultipleChoice = STATE.;
let answerInfo = {
gaId,
answerType:subList[0],
sort:subList[1],
subject:subList[2],
isMultipleChoice,
questionType:subList[4],
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.高新企业创新能力评价答题, answerInfo, {});
console.log(`写入成功:${subList[2]}`)
}
let dataList2 = sheetMap['Sheet2']; //答案
for (let i= 1; i < dataList2.length; i++) {
let subList = dataList2[i];
let answerInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.高新企业创新能力评价答题, {sort:subList[0]}, ["gaId"]);
let goId = randomId(TABLEID.高新企业创新能力评价选项);
let notes = "";
if (subList[4]) notes = subList[4];
let answer = "";
if (subList[2]) answer = subList[2];
let optionInfo = {
goId,
gaId:answerInfo.gaId,
sort:subList[1],
answer,
option:subList[3],
notes,
score:parseInt(subList[5]),
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.高新企业创新能力评价选项, optionInfo, {});
console.log(`写入成功:${subList[2]}`)
}
res.success({isSuccess:true});
}
export async function addZuFangAnswer(req, res) {
//读取文件
let {sheetMap} = getExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '高新企业创新能力评价题目V2.xlsx' ));
let dataList = sheetMap['Sheet3']; //题目
for (let i= 1; i < dataList.length; i++) {
let subList = dataList[i];
let zaId = randomId(TABLEID.租房补贴企业自评);
let answerInfo = {
zaId,
answerType:subList[0],
sort:subList[1],
subject:subList[2],
}
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.租房补贴企业自评, answerInfo, {});
console.log(`写入成功:${subList[2]}`)
}
res.success({isSuccess:true});
}
export async function qccDatat0519(req, res) { export async function qccDatat0519(req, res) {
console.log("开始清洗企查查数据"); console.log("开始清洗企查查数据");
// qccData(); // qccData();
...@@ -360,7 +1221,3 @@ function getExcel(filePath) { ...@@ -360,7 +1221,3 @@ function getExcel(filePath) {
return {sheetMap, sheetList} return {sheetMap, sheetList}
} }
export async function asyncqccdata(req, res) {
}
\ No newline at end of file
...@@ -7,6 +7,7 @@ import * as enterpriseInfoRouters from './admin'; ...@@ -7,6 +7,7 @@ import * as enterpriseInfoRouters from './admin';
import * as fuhuaRouters from './fuhua'; import * as fuhuaRouters from './fuhua';
import * as dbInitRouters from './dbinit'; import * as dbInitRouters from './dbinit';
import * as userRuFuRouters from './userRuFu'; import * as userRuFuRouters from './userRuFu';
import * as answerRouters from './answer';
export function setRouter(httpServer){ export function setRouter(httpServer){
/**下拉框等公用 路由 */ /**下拉框等公用 路由 */
publicRouters.setRouter(httpServer); publicRouters.setRouter(httpServer);
...@@ -18,4 +19,5 @@ export function setRouter(httpServer){ ...@@ -18,4 +19,5 @@ export function setRouter(httpServer){
dbInitRouters.setRouter(httpServer); dbInitRouters.setRouter(httpServer);
userRuFuRouters.setRouter(httpServer); userRuFuRouters.setRouter(httpServer);
answerRouters.setRouter(httpServer);
} }
\ No newline at end of file
...@@ -164,6 +164,22 @@ export function getIntervalYear(startTime, endTime) { ...@@ -164,6 +164,22 @@ export function getIntervalYear(startTime, endTime) {
} }
/**
* 去除地址包含相同上海市上海市问题
* @param address
*/
export function getAddresList(address) {
let logonAddress = [];
if (address) {
let logonAddressList = JSON.parse(address || '[]')
for (let i = 0; i < logonAddressList.length; i++) {
if (logonAddressList[i] != logonAddressList[i+1]) logonAddress.push(logonAddressList[i]);
}
}
return logonAddress;
}
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