Commit 40fd9299 by chenjinjing

no message

parent d03b9972
<config> <config>
<port>13280</port> <port>13280</port>
<mongodb> <mongodb>
<path>127.0.0.1</path> <path>192.168.0.105</path>
<port>27017</port> <port>27017</port>
<w>1</w> <w>1</w>
<!-- <dataBase>baseDB</dataBase> --> <!-- <dataBase>baseDB</dataBase> -->
......
...@@ -359,6 +359,16 @@ export async function delEnterpriseFollow(reqUser, uscc:string) { ...@@ -359,6 +359,16 @@ export async function delEnterpriseFollow(reqUser, uscc:string) {
} }
/**
* 获取经营数据列表
* @param selectStr
* @param industry
* @param year
* @param attribute
* @param type
* @param page
* @returns
*/
export async function enterpriseBusinessList(selectStr:string, industry:number, year:number, attribute:number, type:number, page:number) { export async function enterpriseBusinessList(selectStr:string, industry:number, year:number, attribute:number, type:number, page:number) {
let param:any = {}; let param:any = {};
if (selectStr) { if (selectStr) {
...@@ -383,9 +393,9 @@ export async function enterpriseBusinessList(selectStr:string, industry:number, ...@@ -383,9 +393,9 @@ export async function enterpriseBusinessList(selectStr:string, industry:number,
name:info.name, name:info.name,
year:info.year, year:info.year,
industry:changeEnumManyValue(INDUSTRY, info.industry)[0] || "-", industry:changeEnumManyValue(INDUSTRY, info.industry)[0] || "-",
tax:info.tax, BI:info.BI,
revenue:info.revenue, RD:info.RD,
FAI:info.FAI, TXP:info.TXP,
}; };
dataList.push(item); dataList.push(item);
}); });
...@@ -394,6 +404,89 @@ export async function enterpriseBusinessList(selectStr:string, industry:number, ...@@ -394,6 +404,89 @@ export async function enterpriseBusinessList(selectStr:string, industry:number,
} }
/**
* 导出经营数据(支持动态列配置)todo
* @param param0
* @returns
*/
export async function outPutBusinessData(selectStr:string, industry:number, year:number, exportColumns) {
// 构建查询参数
let param:any = {};
if (selectStr) {
param.name = {"$regex":selectStr};
}
if (industry) {
param.industry = {"$in":[industry]};
}
if (year) {
param.year = year;
}
// 定义默认导出列配置
const defaultColumns = [
{ "key": "企业名称", "value": "name" },
{ "key": "所属行业", "value": "industry" },
{ "key": "年份", "value": "year" },
{ "key": "营业收入(万元)", "value": "BI" },
{ "key": "研发投入(万元)", "value": "RD" },
{ "key": "纳税(万元)", "value": "TXP" },
];
// 使用传入的列配置或默认配置
const columns = exportColumns || defaultColumns;
let selectTitle = ["序号"];
let selectConf = [];
columns.forEach(info => {
selectTitle.push(info.key);
selectConf.push(info.value);
});
// 获取经营数据
let list = await businessData.findBusinessDataByParam(param);
// 准备导出数据
let dataList = [selectTitle];
for (let i = 0; i < list.length; i++) {
let info = list[i];
let rowData = [(i + 1).toString()]; // 序号
for (let j = 0; j < selectConf.length; j++) {
let key = selectConf[j];
let value = "";
// 根据字段名获取值并进行相应处理
switch (key) {
case "name":
value = info.name || "-";
break;
case "industry":
value = changeEnumValue(INDUSTRY, info.privateIndustry) || "-";
break;
case "BI":
value = info.BI || "-";
break;
case "RD":
value = info.RD || "-";
break;
case "TXP":
value = info.TXP || "-";
break;
default:
value = info[key] || "-";
}
rowData.push(value);
}
dataList.push(rowData);
}
return {dataList};
}
export async function enterpriseVisitList(selectStr:string, researchTime:number, researchType:number, appealType:number, state:number, page:number) { export async function enterpriseVisitList(selectStr:string, researchTime:number, researchType:number, appealType:number, state:number, page:number) {
let param:any = {}; let param:any = {};
......
...@@ -18,5 +18,28 @@ export enum ENTERPRISECOLUMNS { ...@@ -18,5 +18,28 @@ export enum ENTERPRISECOLUMNS {
} }
/**
* 经营列表
*/
export enum BUSINESCOLUMNS {
企业名称 = "name",
所属行业 = "industry",
年份 = "year",
"营业收入(万元)" = "BI",
"研发投入(万元)" = "RD",
"纳税(万元)" = "TXP",
}
...@@ -26,6 +26,7 @@ export function setRouter(httpServer) { ...@@ -26,6 +26,7 @@ export function setRouter(httpServer) {
httpServer.post('/zj/admin/enterprise/info/outattention', checkAdminToken, asyncHandler(enterprise_out_follow));//企业信息列表 取消关注 httpServer.post('/zj/admin/enterprise/info/outattention', checkAdminToken, asyncHandler(enterprise_out_follow));//企业信息列表 取消关注
httpServer.post('/zj/admin/enterprise/business/list', checkAdminToken, asyncHandler(enterprise_business_list));//企业经营数据列表 httpServer.post('/zj/admin/enterprise/business/list', checkAdminToken, asyncHandler(enterprise_business_list));//企业经营数据列表
httpServer.post('/zj/admin/enterprise/business/list/output', checkAdminToken, asyncHandler(enterprise_business_output));//企业经营数据-导出
httpServer.post('/zj/admin/service/visit/list', checkAdminToken, asyncHandler(enterprise_visit_list));//领导走访 httpServer.post('/zj/admin/service/visit/list', checkAdminToken, asyncHandler(enterprise_visit_list));//领导走访
httpServer.post('/zj/admin/service/visit/add', checkAdminToken, asyncHandler(enterprise_visit_add));//添加领导走访 httpServer.post('/zj/admin/service/visit/add', checkAdminToken, asyncHandler(enterprise_visit_add));//添加领导走访
...@@ -164,6 +165,22 @@ async function enterprise_business_list(req, res) { ...@@ -164,6 +165,22 @@ async function enterprise_business_list(req, res) {
} }
/**
* 经营数据列表-导出
* @param req
* @param res
*/
async function enterprise_business_output(req, res) {
let reqConf = {selectStr:"String", industry:"Number", year:"Number", attribute:"Number", exportColumns:"[Object]"};
let skipList = ["selectStr", "industry", "year", "exportColumns"];
let { selectStr, industry, year, exportColumns } = eccReqParamater(reqConf, req.body, skipList);
let userInfo = req.userInfo;
let result = await adminBiz.outPutBusinessData(selectStr, industry, year, exportColumns);
res.success(result);
}
async function enterprise_visit_list(req, res) { async function enterprise_visit_list(req, res) {
let reqConf = {selectStr:"String", researchTime:"Number", researchType:"Number", appealType:"Number", state:"Number", page:"Number"}; let reqConf = {selectStr:"String", researchTime:"Number", researchType:"Number", appealType:"Number", state:"Number", page:"Number"};
......
...@@ -42,6 +42,7 @@ const config = { ...@@ -42,6 +42,7 @@ const config = {
/**导出数据列 */ /**导出数据列 */
"/zj/admin/public/outputcolumns/enterprise":outputConfig.ENTERPRISECOLUMNS, "/zj/admin/public/outputcolumns/enterprise":outputConfig.ENTERPRISECOLUMNS,
"/zj/admin/public/outputcolumns/business":outputConfig.BUSINESCOLUMNS,
} }
export function setRouter(httpServer) { export function setRouter(httpServer) {
......
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