Commit b7e5690e by lixinming

3.0

parent ecb99a77
...@@ -25,4 +25,3 @@ ...@@ -25,4 +25,3 @@
<initPointOut>1729288</initPointOut> <initPointOut>1729288</initPointOut>
</sms> </sms>
</config> </config>
\ No newline at end of file
...@@ -316,16 +316,16 @@ export async function outPutEnterpriseMoveOutList(name:string, fuHuaQiUscc:strin ...@@ -316,16 +316,16 @@ export async function outPutEnterpriseMoveOutList(name:string, fuHuaQiUscc:strin
* 获取企业经营数据列表 * 获取企业经营数据列表
* @param name 企业名称 * @param name 企业名称
* @param year 年份 * @param year 年份
* @param quarters 季度 * @param quarter 季度
* @param page 页面 * @param page 页面
*/ */
export async function getBusinessDataList(name:string, year:number, quarters:number, page:number) { export async function getBusinessDataList(name:string, year:number, quarter:number, page:number) {
let selectParam:any = {}; let selectParam:any = {};
if (name) selectParam.name = {"$regex":`${name}`}; if (name) selectParam.name = {"$regex":`${name}`};
if (year) { if (year) {
selectParam.year = year; selectParam.year = year;
if (quarters) selectParam.quarters = quarters; if (quarter) selectParam.quarter = quarter;
} }
let dataBaseList = await findBusinessDataByParamsToPage(selectParam, (page-1)*10); let dataBaseList = await findBusinessDataByParamsToPage(selectParam, (page-1)*10);
...@@ -344,9 +344,9 @@ export async function getBusinessDataList(name:string, year:number, quarters:num ...@@ -344,9 +344,9 @@ export async function getBusinessDataList(name:string, year:number, quarters:num
* 导出企业经营数据列表 * 导出企业经营数据列表
* @param name 企业名称 * @param name 企业名称
* @param year 年份 * @param year 年份
* @param quarters 季度 * @param quarter 季度
*/ */
export async function outPutBusinessDataList(name:string, year:number, quarters:number, type:number) { export async function outPutBusinessDataList(name:string, year:number, quarter:number, type:number) {
let fileName = "全部"; let fileName = "全部";
/**拼接查询条件 */ /**拼接查询条件 */
...@@ -357,7 +357,7 @@ export async function outPutBusinessDataList(name:string, year:number, quarters: ...@@ -357,7 +357,7 @@ export async function outPutBusinessDataList(name:string, year:number, quarters:
} }
if (year) { if (year) {
selectParam.year = year; selectParam.year = year;
if (quarters) selectParam.quarters = quarters; if (quarter) selectParam.quarter = quarter;
} }
fileName = "当前数据"; fileName = "当前数据";
...@@ -365,7 +365,7 @@ export async function outPutBusinessDataList(name:string, year:number, quarters: ...@@ -365,7 +365,7 @@ export async function outPutBusinessDataList(name:string, year:number, quarters:
let dataBaseList = await findBusinessDataByParams(selectParam); let dataBaseList = await findBusinessDataByParams(selectParam);
let keyList = [ "name", "year", "quarters", "BI", "RD", "TXP"]; let keyList = [ "name", "year", "quarter", "BI", "RD", "TXP"];
let titleList = ["企业名称"," 季度"," 年度"," 营业收入"," 研发投入"," 纳税"]; let titleList = ["企业名称"," 季度"," 年度"," 营业收入"," 研发投入"," 纳税"];
let dataList = [titleList]; let dataList = [titleList];
......
...@@ -98,7 +98,7 @@ function countUnitData(data:number) { ...@@ -98,7 +98,7 @@ function countUnitData(data:number) {
/** /**
* 补录经营数据 * 补录经营数据
* @param uscc 统一信用代码 * @param uscc 统一信用代码
* @param quarters 补录季度 * @param quarter 补录季度
* @param type 补录类型 * @param type 补录类型
* @param value 值 * @param value 值
*/ */
...@@ -110,7 +110,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) { ...@@ -110,7 +110,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
let resultData = [0,0,0,0]; let resultData = [0,0,0,0];
let lastYearData = await findBusinessDataByUsccAndYear(uscc, lastYear); let lastYearData = await findBusinessDataByUsccAndYear(uscc, lastYear);
lastYearData.forEach(info => { lastYearData.forEach(info => {
let addIndex = info.quarters - 1; let addIndex = info.quarter - 1;
if (type == BUSINESSDATATYPE.研发投入) resultData[addIndex] += info.RD; if (type == BUSINESSDATATYPE.研发投入) resultData[addIndex] += info.RD;
if (type == BUSINESSDATATYPE.纳税) resultData[addIndex] += info.TXP; if (type == BUSINESSDATATYPE.纳税) resultData[addIndex] += info.TXP;
if (type == BUSINESSDATATYPE.营业收入) resultData[addIndex] += info.BI; if (type == BUSINESSDATATYPE.营业收入) resultData[addIndex] += info.BI;
...@@ -119,7 +119,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) { ...@@ -119,7 +119,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
/**获取上一年度补录 */ /**获取上一年度补录 */
let lastYearReplenishData = await findRepleishDataByTypeAndYear(uscc, type, lastYear); let lastYearReplenishData = await findRepleishDataByTypeAndYear(uscc, type, lastYear);
lastYearReplenishData.forEach(info => { lastYearReplenishData.forEach(info => {
let addIndex = info.quarters - 1; let addIndex = info.quarter - 1;
resultData[addIndex] += info.value; resultData[addIndex] += info.value;
}); });
...@@ -132,9 +132,9 @@ export async function replenishBusinessData(uscc:string, type:number, data) { ...@@ -132,9 +132,9 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
}); });
for (let key in checkMap) { for (let key in checkMap) {
let quarters = parseInt(key); let quarter = parseInt(key);
let value = checkMap[key]; let value = checkMap[key];
await replenishData(uscc, lastYear, quarters, type, value); await replenishData(uscc, lastYear, quarter, type, value);
} }
...@@ -153,7 +153,7 @@ export async function lastYearBusinessData(uscc:string, type:number) { ...@@ -153,7 +153,7 @@ export async function lastYearBusinessData(uscc:string, type:number) {
let lastYearData = await findBusinessDataByUsccAndYear(uscc, lastYear); let lastYearData = await findBusinessDataByUsccAndYear(uscc, lastYear);
let resultData = [0,0,0,0]; let resultData = [0,0,0,0];
lastYearData.forEach(info => { lastYearData.forEach(info => {
let addIndex = info.quarters - 1; let addIndex = info.quarter - 1;
if (type == BUSINESSDATATYPE.研发投入) resultData[addIndex] += info.RD; if (type == BUSINESSDATATYPE.研发投入) resultData[addIndex] += info.RD;
if (type == BUSINESSDATATYPE.纳税) resultData[addIndex] += info.TXP; if (type == BUSINESSDATATYPE.纳税) resultData[addIndex] += info.TXP;
if (type == BUSINESSDATATYPE.营业收入) resultData[addIndex] += info.BI; if (type == BUSINESSDATATYPE.营业收入) resultData[addIndex] += info.BI;
...@@ -162,7 +162,7 @@ export async function lastYearBusinessData(uscc:string, type:number) { ...@@ -162,7 +162,7 @@ export async function lastYearBusinessData(uscc:string, type:number) {
/**获取上一年度补录 */ /**获取上一年度补录 */
let lastYearReplenishData = await findRepleishDataByTypeAndYear(uscc, type, lastYear); let lastYearReplenishData = await findRepleishDataByTypeAndYear(uscc, type, lastYear);
lastYearReplenishData.forEach(info => { lastYearReplenishData.forEach(info => {
let addIndex = info.quarters - 1; let addIndex = info.quarter - 1;
resultData[addIndex] += info.value; resultData[addIndex] += info.value;
}); });
......
...@@ -75,6 +75,18 @@ function getDeclarationChName(quarter:number) { ...@@ -75,6 +75,18 @@ function getDeclarationChName(quarter:number) {
export async function todoList(uscc:string) { export async function todoList(uscc:string) {
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
/**算剩余时间 */
let thisQuarters = moment().quarter();//当月季度
let distanceEnd = `${getDeclarationChName(thisQuarters)}季度填报未开始`;//默认提示
if (isInTime()) {//在填报月份内
let endTime = moment().endOf('M').valueOf();
endTime = Math.ceil((endTime - new Date().valueOf())/(24*3600*1000));
distanceEnd = `距离本次填报结束还有${endTime}天`;
} else {
//todo 这里要放开
// return {dataList:[], distanceEnd};
}
let businessDataInfo = await findNotSubmitBusinessDataByTimeAndUscc(uscc, declarationYear, declarationQuarter); let businessDataInfo = await findNotSubmitBusinessDataByTimeAndUscc(uscc, declarationYear, declarationQuarter);
let teamsDataInfo = await findNotSubmitTeamByUsccAndTime(uscc, declarationYear, declarationQuarter); let teamsDataInfo = await findNotSubmitTeamByUsccAndTime(uscc, declarationYear, declarationQuarter);
...@@ -84,23 +96,16 @@ export async function todoList(uscc:string) { ...@@ -84,23 +96,16 @@ export async function todoList(uscc:string) {
{ {
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.经营状况), type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.经营状况),
title, title,
subTitle:businessDataInfo? `${title}经营状况填报` : '' subTitle:businessDataInfo && businessDataInfo.isUpdate? `${title}经营状况填报` : ''
}, },
{ {
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息), type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息),
title, title,
subTitle:teamsDataInfo? `${title}团队信息填报` : '' subTitle:teamsDataInfo && teamsDataInfo.isUpdate? `${title}团队信息填报` : ''
} }
]; ];
/**算剩余时间 */
let thisQuarters = moment().quarter();//当月季度
let distanceEnd = `第${getDeclarationChName(thisQuarters)}季度填报未开始`;//默认提示
if (isInTime()) {//在填报月份内
let endTime = moment().endOf('M').valueOf();
endTime = Math.ceil((endTime - new Date().valueOf())/(24*3600*1000));
distanceEnd = `距离本次填报结束还有${endTime}天`;
}
return {dataList, distanceEnd}; return {dataList, distanceEnd};
} }
...@@ -126,14 +131,14 @@ export async function completedList(uscc:string, year:number, quarter:number) { ...@@ -126,14 +131,14 @@ export async function completedList(uscc:string, year:number, quarter:number) {
let title = getDeclarationChName(quarter); let title = getDeclarationChName(quarter);
if (businessDataInfo.isSubmit) { if (businessDataInfo && businessDataInfo.isSubmit) {
dataList.push({ dataList.push({
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.经营状况), type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.经营状况),
title, title,
subTitle:`${title}经营状况填报` subTitle:`${title}经营状况填报`
}); });
} }
if (teamsDataInfo.isSubmit) { if (teamsDataInfo && teamsDataInfo.isSubmit) {
dataList.push( dataList.push(
{ {
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息), type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息),
...@@ -155,16 +160,19 @@ export async function completedList(uscc:string, year:number, quarter:number) { ...@@ -155,16 +160,19 @@ export async function completedList(uscc:string, year:number, quarter:number) {
* @param TXP 纳税 * @param TXP 纳税
*/ */
export async function addBusinessData(uscc:string, BI:number, RD:number, TXP:number) { export async function addBusinessData(uscc:string, BI:number, RD:number, TXP:number) {
if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`); //todo 测试注释 后续要放开
//if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
let businessDataInfo = await findBusinessDataByTimeAndUscc(uscc, declarationYear, declarationQuarter); let businessDataInfo = await findBusinessDataByTimeAndUscc(uscc, declarationYear, declarationQuarter);
if (businessDataInfo.isSubmit || businessDataInfo.fhqIsSubmit) throw new BizError(ERRORENUM.请勿重复提交填报数据, `${uscc}重复的提交了经营数据`); if (businessDataInfo.isSubmit || businessDataInfo.fhqIsSubmit) throw new BizError(ERRORENUM.请勿重复提交填报数据, `${uscc}已经提交了后点击创建企业经营数据`);
if (businessDataInfo.isUpdate ) throw new BizError(ERRORENUM.不能重复创建填报, `${uscc}不能重复创建填报 经营数据`);
businessDataInfo.BI = BI; businessDataInfo.BI = BI;
businessDataInfo.RD = RD; businessDataInfo.RD = RD;
businessDataInfo.TXP = TXP; businessDataInfo.TXP = TXP;
businessDataInfo.isUpdate = true;
await businessDataInfo.save(); await businessDataInfo.save();
...@@ -180,12 +188,13 @@ export async function addBusinessData(uscc:string, BI:number, RD:number, TXP:num ...@@ -180,12 +188,13 @@ export async function addBusinessData(uscc:string, BI:number, RD:number, TXP:num
* @param TXP 纳税 * @param TXP 纳税
*/ */
export async function updateBusinessData(uscc:string, BI:number, RD:number, TXP:number) { export async function updateBusinessData(uscc:string, BI:number, RD:number, TXP:number) {
if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`); //todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
let businessDataInfo = await findBusinessDataByTimeAndUscc(uscc, declarationYear, declarationQuarter); let businessDataInfo = await findBusinessDataByTimeAndUscc(uscc, declarationYear, declarationQuarter);
if (!businessDataInfo.isSubmit && !businessDataInfo.fhqIsSubmit) throw new BizError(ERRORENUM.未提交填报数据不能修改, `${uscc}修改前库里并没有创建数据`); if (!businessDataInfo.isUpdate) throw new BizError(ERRORENUM.请先创建填报数据, `${uscc}修改经营数据前库里并没有创建数据`);
businessDataInfo.BI = BI; businessDataInfo.BI = BI;
businessDataInfo.RD = RD; businessDataInfo.RD = RD;
...@@ -204,7 +213,8 @@ export async function updateBusinessData(uscc:string, BI:number, RD:number, TXP: ...@@ -204,7 +213,8 @@ export async function updateBusinessData(uscc:string, BI:number, RD:number, TXP:
* @param uscc 企业统一信用代码 * @param uscc 企业统一信用代码
*/ */
export async function businessInfo(uscc:string) { export async function businessInfo(uscc:string) {
if (!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}进行了违规操作`, '在非填报时间调用了回显接口'); //todo 测试注释 后续要放开
// if (!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}进行了违规操作`, '在非填报时间调用了回显接口');
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
...@@ -227,13 +237,15 @@ export async function businessInfo(uscc:string) { ...@@ -227,13 +237,15 @@ export async function businessInfo(uscc:string) {
* @param form 表单 * @param form 表单
*/ */
export async function addTeamInfo(uscc:string, form) { export async function addTeamInfo(uscc:string, form) {
if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`); //todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
eccFormParam("企业申报团队信息数据", EnterpriseAddTeamDataConfig, form); eccFormParam("企业申报团队信息数据", EnterpriseAddTeamDataConfig, form);
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
let teamInfo = await findTeamByUsccAndTime(uscc, declarationYear, declarationQuarter); let teamInfo = await findTeamByUsccAndTime(uscc, declarationYear, declarationQuarter);
if (teamInfo.isSubmit || teamInfo.fhqIsSubmit) throw new BizError(ERRORENUM.请勿重复提交填报数据, `${uscc}重复创建企业申报团队信息`); if (teamInfo.isSubmit || teamInfo.fhqIsSubmit) throw new BizError(ERRORENUM.请勿重复提交填报数据, `${uscc}已经提交了后点击企业申报团队数据`);
if (teamInfo.isUpdate ) throw new BizError(ERRORENUM.不能重复创建填报, `${uscc}不能重复创建填报 团队数据`);
teamInfo.doctor = form.doctor || 0; teamInfo.doctor = form.doctor || 0;
teamInfo.master = form.master || 0; teamInfo.master = form.master || 0;
...@@ -243,6 +255,7 @@ export async function addTeamInfo(uscc:string, form) { ...@@ -243,6 +255,7 @@ export async function addTeamInfo(uscc:string, form) {
teamInfo.studyAbroad = form.studyAbroad || 0; teamInfo.studyAbroad = form.studyAbroad || 0;
teamInfo.graduates = form.graduates || 0; teamInfo.graduates = form.graduates || 0;
teamInfo.createMs = new Date().valueOf(); teamInfo.createMs = new Date().valueOf();
teamInfo.isUpdate = true;
await teamInfo.save(); await teamInfo.save();
...@@ -257,7 +270,8 @@ export async function addTeamInfo(uscc:string, form) { ...@@ -257,7 +270,8 @@ export async function addTeamInfo(uscc:string, form) {
* @param uscc 企业统一信用代码 * @param uscc 企业统一信用代码
*/ */
export async function getTeamInfo(uscc:string) { export async function getTeamInfo(uscc:string) {
if (!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}进行了违规操作`, '在非填报时间调用了回显接口'); //todo 测试注释 后续要放开
// if (!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}进行了违规操作`, '在非填报时间调用了回显接口');
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
...@@ -271,18 +285,42 @@ export async function getTeamInfo(uscc:string) { ...@@ -271,18 +285,42 @@ export async function getTeamInfo(uscc:string) {
/** /**
* 点击查看获取团队数据
* @param uscc 企业统一信用代码
*/
export async function showTeamInfo(uscc:string) {
let {declarationQuarter, declarationYear} = getDeclarationTime();
let teamInfo = await findTeamByUsccAndTime(uscc, declarationYear, declarationQuarter);
if (!teamInfo || !teamInfo.year) {
teamInfo = {
doctor:0, master:0, undergraduate:0, juniorCollege:0,
other:0, studyAbroad:0, graduates:0,
}
}
let result = extractData(EnterpriseTeamConfig, teamInfo, false);
return result;
}
/**
* 企业修改团队信息数据 * 企业修改团队信息数据
* @param uscc 企业统一信用代码 * @param uscc 企业统一信用代码
* @param form 团队信息表单 * @param form 团队信息表单
*/ */
export async function updateTeamInfo(uscc:string, form) { export async function updateTeamInfo(uscc:string, form) {
if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`); //todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
eccFormParam("企业修改团队信息数据", EnterpriseAddTeamDataConfig, form); eccFormParam("企业修改团队信息数据", EnterpriseAddTeamDataConfig, form);
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
let teamInfo = await findTeamByUsccAndTime(uscc, declarationYear, declarationQuarter); let teamInfo = await findTeamByUsccAndTime(uscc, declarationYear, declarationQuarter);
if (!teamInfo.isSubmit && !teamInfo.fhqIsSubmit) throw new BizError(ERRORENUM.未提交填报数据不能修改, `${uscc}修改前库里并没有创建数据`); if (!teamInfo.isUpdate) throw new BizError(ERRORENUM.请先创建填报数据, `${uscc}修改团队信息数据前库里并没有创建数据`);
teamInfo.doctor = form.doctor || 0; teamInfo.doctor = form.doctor || 0;
teamInfo.master = form.master || 0; teamInfo.master = form.master || 0;
...@@ -305,7 +343,8 @@ export async function updateTeamInfo(uscc:string, form) { ...@@ -305,7 +343,8 @@ export async function updateTeamInfo(uscc:string, form) {
*/ */
export async function submit(uscc:string, type:number) { export async function submit(uscc:string, type:number) {
eccEnumValue("企业提交数据申报", "type", ENTERPRISEDECLARATIONTYPE, type); eccEnumValue("企业提交数据申报", "type", ENTERPRISEDECLARATIONTYPE, type);
if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`); //todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let {declarationQuarter, declarationYear} = getDeclarationTime(); let {declarationQuarter, declarationYear} = getDeclarationTime();
...@@ -336,27 +375,28 @@ export async function dataDeclarationTask() { ...@@ -336,27 +375,28 @@ export async function dataDeclarationTask() {
if (teamDataCount >0 && businessDataCount > 0) return; if (teamDataCount >0 && businessDataCount > 0) return;
let enterpriseList = await findEnterpriseList({state:{"$n":FUHUASTATE.迁出} }); let enterpriseList = await findEnterpriseList({state:{"$ne":FUHUASTATE.迁出} });
let businessList = []; let businessList = [];
let teamList = []; let teamList = [];
enterpriseList.forEach(info => { enterpriseList.forEach(info => {
let {fuHuaQiUscc, uscc, name} = info; let {fuHuaQiUscc, uscc, name} = info;
let isSubmit = false; let isSubmit = false;
let fhqIsSubmit = false; let fhqIsSubmit = false;
let isUpdate = false;
let businessInfo = { let businessInfo = {
year:declarationYear, year:declarationYear,
fuHuaQiUscc, uscc, name, fuHuaQiUscc, uscc, name,
quarters:declarationQuarter, quarter:declarationQuarter,
BI:0, RD:0, TXP:0, createTime:0, BI:0, RD:0, TXP:0, createTime:0,
isSubmit, fhqIsSubmit isSubmit, fhqIsSubmit, isUpdate
}; };
businessList.push(businessInfo); businessList.push(businessInfo);
let teamInfo = { let teamInfo = {
fuHuaQiUscc, uscc, name, fuHuaQiUscc, uscc, name,
year:declarationYear, quarters:declarationQuarter, year:declarationYear, quarter:declarationQuarter,
doctor:0, master:0, undergraduate:0, juniorCollege:0, other:0, studyAbroad:0, graduates:0, doctor:0, master:0, undergraduate:0, juniorCollege:0, other:0, studyAbroad:0, graduates:0,
createMs:0, createMs:0,
isSubmit, fhqIsSubmit isSubmit, fhqIsSubmit, isUpdate
}; };
teamList.push(teamInfo); teamList.push(teamInfo);
}); });
......
...@@ -4,11 +4,10 @@ ...@@ -4,11 +4,10 @@
*/ */
import { EnterpriseQualificationUpdateConfig, EnterpriseUpdateBaseDataConfig, InitialTeamUpdateConfig } from "../../config/eccFormParamConfig"; import { EnterpriseQualificationUpdateConfig, EnterpriseUpdateBaseDataConfig, InitialTeamUpdateConfig } from "../../config/eccFormParamConfig";
import { ENTERPRISETEAM, INDUSTRY, LISTINGSITUATION } from "../../config/enum"; import { ENTERPRISETEAM, INDUSTRY, LISTINGSITUATION, STATEENUM } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { EnterpriseBaseConfig, EnterpriseInitialTeamConfig } from "../../config/splitResultConfig"; import { EnterpriseBaseConfig, EnterpriseInitialTeamConfig } from "../../config/splitResultConfig";
import * as enterpriseData from "../../data/enterprise/enterprise"; import * as enterpriseData from "../../data/enterprise/enterprise";
import { selectFinancingInfo } from "../../data/enterprise/financingInfo";
import { addMoneyEnterpriseInitialTeam, deleteMoneyEnterpriseInitialTeam, findEnterpriseInitialTeam, updateMoneyEnterpriseInitialTeam } from "../../data/enterprise/initialTeam"; import { addMoneyEnterpriseInitialTeam, deleteMoneyEnterpriseInitialTeam, findEnterpriseInitialTeam, updateMoneyEnterpriseInitialTeam } from "../../data/enterprise/initialTeam";
import { findEnterpriseNewTeamData } from "../../data/enterprise/team"; import { findEnterpriseNewTeamData } from "../../data/enterprise/team";
import { getInitialTeamMemberId } from "../../tools/system"; import { getInitialTeamMemberId } from "../../tools/system";
...@@ -53,7 +52,8 @@ export async function getHomePageHeaderData(uscc:string) { ...@@ -53,7 +52,8 @@ export async function getHomePageHeaderData(uscc:string) {
//团队总数 //团队总数
let memberCount = teamInfo.doctor + teamInfo.master+ teamInfo.undergraduate+ teamInfo.juniorCollege+ teamInfo.other; let memberCount = teamInfo.doctor + teamInfo.master+ teamInfo.undergraduate+ teamInfo.juniorCollege+ teamInfo.other;
let initialTeam = enterpriseInfo.initialTeam.length == 0;//创始团队缺失 true=缺失 let initialTeam = enterpriseInfo.haveFirstClassTalent == STATEENUM.未选 || !enterpriseInfo.haveFirstClassTalent;//创始团队缺失 true=缺失
let qualification = !enterpriseInfo.tipsQualification; //企业资质缺失 true=缺失 需要标红 let qualification = !enterpriseInfo.tipsQualification; //企业资质缺失 true=缺失 需要标红
let intellectualProperty = !enterpriseInfo.tipsIntellectualProperty;//知识产权缺失 true=缺失 需要标红 let intellectualProperty = !enterpriseInfo.tipsIntellectualProperty;//知识产权缺失 true=缺失 需要标红
...@@ -84,9 +84,11 @@ export async function getHomePageHeaderData(uscc:string) { ...@@ -84,9 +84,11 @@ export async function getHomePageHeaderData(uscc:string) {
* @param teams 创始团队信息 * @param teams 创始团队信息
* @returns isSuccess * @returns isSuccess
*/ */
export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolean, teams) { export async function updateInitialTeamInfo(uscc:string, firstClassTalent:number, teams) {
eccEnumValue("修改创始团队信息", "firstClassTalent", STATEENUM, firstClassTalent);
if (firstClassTalent==STATEENUM.未选) throw new BizError(ERRORENUM.请先选择是否拥有, '修改创始团队信息 没有选是和否');
/**校验参数 */ /**校验参数 */
if ( (firstClassTalent && !Array.isArray(teams)) || (firstClassTalent && !teams.length) ) { if ( (firstClassTalent==STATEENUM. && !Array.isArray(teams)) || (firstClassTalent==STATEENUM. && !teams.length) ) {
throw new BizError(ERRORENUM.参数错误, "修改创始团队信息", "缺少参数 teams"); throw new BizError(ERRORENUM.参数错误, "修改创始团队信息", "缺少参数 teams");
} }
if (!firstClassTalent) teams = []; if (!firstClassTalent) teams = [];
...@@ -99,7 +101,7 @@ export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolea ...@@ -99,7 +101,7 @@ export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolea
//是否拥有国际人才这个字段在 企业表中 需要单独做更改 //是否拥有国际人才这个字段在 企业表中 需要单独做更改
let enterpriseInfo = await enterpriseData.findEnterpriseByUscc(uscc); let enterpriseInfo = await enterpriseData.findEnterpriseByUscc(uscc);
enterpriseInfo.firstClassTalent = firstClassTalent; enterpriseInfo.haveFirstClassTalent = firstClassTalent;
await enterpriseInfo.save(); await enterpriseInfo.save();
let enterpriseInitialTeamList = await findEnterpriseInitialTeam(uscc); let enterpriseInitialTeamList = await findEnterpriseInitialTeam(uscc);
...@@ -154,7 +156,7 @@ export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolea ...@@ -154,7 +156,7 @@ export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolea
*/ */
export async function selectInitialTeamInfo(uscc:string) { export async function selectInitialTeamInfo(uscc:string) {
let enterpriseInfo = await enterpriseData.findEnterpriseByUscc(uscc); let enterpriseInfo = await enterpriseData.findEnterpriseByUscc(uscc);
let firstClassTalent = enterpriseInfo.firstClassTalent; let firstClassTalent = enterpriseInfo.haveFirstClassTalent || STATEENUM.未选;
let initialTeamList = await findEnterpriseInitialTeam(uscc); let initialTeamList = await findEnterpriseInitialTeam(uscc);
......
...@@ -5,22 +5,20 @@ ...@@ -5,22 +5,20 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { findBusinessDataByParams } from "../../../data/enterprise/businessdata"; import { findBusinessDataByParams, findBusinessDataByTimeAndUscc } from "../../../data/enterprise/businessdata";
import { ENTERPRISEDECLARATIONTYPE } from "../../../config/enum";
import { findTeamDataByParams, findTeamDataByUsccAndTime } from "../../../data/enterprise/team";
import { eccEnumValue } from "../../../util/verificationEnum";
import { eccFormParam } from "../../../util/verificationParam";
import { FuHuaQiReplenishEnterpriseBusinessDataConfig, FuHuaQiReplenishEnterpriseTeamDataConfig } from "../../../config/eccFormParamConfig";
import { BizError } from "../../../util/bizError";
import { ERRORENUM } from "../../../config/errorEnum";
function getCycle(cycleNumber:number) {
if (!cycleNumber) return "-";
let nameList = ["一", "二", "三", "四"];
/** return `第${nameList[cycleNumber-1]}季度`;
* 获取当前时间的 填报年度 和 填报季度
* 即:获取上一个季度
* @returns declarationYear:数据填报年 declarationQuarter:数据填报季度
*/
function getDeclarationTime() {
let thisYear = new Date().getFullYear();
let thisQuarter = moment().quarter();//当月填报季度
if ( (thisQuarter - 1) < 1 ) {
thisYear = moment().subtract(1, 'years').year();
thisQuarter = 4;
} else thisQuarter = thisQuarter - 1;
return {declarationYear:thisYear, declarationQuarter:thisQuarter};
} }
/** /**
...@@ -28,17 +26,43 @@ function getDeclarationTime() { ...@@ -28,17 +26,43 @@ function getDeclarationTime() {
* @param uscc 孵化器统一信用代码 * @param uscc 孵化器统一信用代码
*/ */
export async function unauditedList(uscc:string) { export async function unauditedList(uscc:string) {
let {declarationYear, declarationQuarter} = getDeclarationTime(); let query = {fhqIsSubmit:false, fuHuaQiUscc:uscc};
let query = {fhqIsSubmit:false, fuHuaQiUscc:uscc, year:declarationYear, quarter:declarationQuarter};
let businessDataList = await findBusinessDataByParams(query); let businessDataList = await findBusinessDataByParams(query);
let dataList = []; let dataList = [];
businessDataList.forEach(info => { businessDataList.forEach(info => {
// extractData(); let { name, quarter, isSubmit, year, isUpdate } = info;
dataList.push({
name,
uscc:info.uscc,
typeStr:"经营状况",
type:ENTERPRISEDECLARATIONTYPE.经营状况,
cycle:getCycle(quarter),
quarter,
year,
enterpriseSubmit:isSubmit ? "是" : "否",
isUpdate:isUpdate
});
}); });
let teamDataList = await findTeamDataByParams(query);
teamDataList.forEach(info => {
let { name, quarter, isSubmit, year, isUpdate } = info;
dataList.push({
name,
uscc:info.uscc,
typeStr:"团队信息",
type:ENTERPRISEDECLARATIONTYPE.团队信息,
cycle:getCycle(quarter),
quarter,
year,
enterpriseSubmit:isSubmit ? "是" : "否",
isUpdate:isUpdate
});
});
return { dataList };
} }
...@@ -47,8 +71,95 @@ export async function unauditedList(uscc:string) { ...@@ -47,8 +71,95 @@ export async function unauditedList(uscc:string) {
* 已审核列表 * 已审核列表
* @param uscc 孵化器统一信用代码 * @param uscc 孵化器统一信用代码
* @param year 年度 * @param year 年度
* @param quarters 季度 * @param quarter 季度
*/
export async function auditCompletedList(uscc:string, year:number, quarter:number) {
let query = {fhqIsSubmit:true, fuHuaQiUscc:uscc, year:year, quarter:quarter};
let businessDataList = await findBusinessDataByParams(query);
let dataList = [];
businessDataList.forEach(info => {
let { name, quarter } = info;
dataList.push({
name,
typeStr:"经营状况",
cycle:getCycle(quarter),
});
});
let teamDataList = await findTeamDataByParams(query);
teamDataList.forEach(info => {
let { name, quarter } = info;
dataList.push({
name,
typeStr:"团队信息",
cycle:getCycle(quarter),
});
});
return { dataList };
}
/**
* 孵化器补充企业数据
* @param fuHuaQiUscc 孵化器统一信用代码
* @param uscc 企业统一信用代码
* @param type 类型
* @param form 数据表单
*/
export async function fuHuaQiReplenishEnterpriseDataDeclaration(fuHuaQiUscc:string, uscc:string, type:number, year:number, quarter:number, form ) {
eccEnumValue("孵化器补充企业数据", "type", ENTERPRISEDECLARATIONTYPE, type);
if (type == ENTERPRISEDECLARATIONTYPE.团队信息) {
eccFormParam("孵化器补充企业数据-团队信息", FuHuaQiReplenishEnterpriseTeamDataConfig, form);
let teamInfo = await findTeamDataByUsccAndTime(uscc, year, quarter);
if (teamInfo.fuHuaQiUscc != fuHuaQiUscc) {}
for (let key in FuHuaQiReplenishEnterpriseTeamDataConfig) {
teamInfo[key] = form[key];
}
await teamInfo.save();
} else {
eccFormParam("孵化器补充企业数据-经营状况", FuHuaQiReplenishEnterpriseBusinessDataConfig, form);
let businessInfo = await findBusinessDataByTimeAndUscc(uscc, year, quarter);
if (businessInfo.fuHuaQiUscc != fuHuaQiUscc) {}
for (let key in FuHuaQiReplenishEnterpriseBusinessDataConfig) {
businessInfo[key] = form[key];
}
await businessInfo.save();
}
return { isSuccess:true };
}
/**
* 通过校验
* @param fuHuaQiUscc
* @param uscc
* @param type
* @param year
* @param quarter
* @returns
*/ */
export async function auditCompletedList(uscc:string, year:number, quarters:number) { export async function fuHuaQiPass(fuHuaQiUscc:string, uscc:string, type:number, year:number, quarter:number ) {
eccEnumValue("孵化器补充企业数据", "type", ENTERPRISEDECLARATIONTYPE, type);
let dataInfo:any = {};
if (type == ENTERPRISEDECLARATIONTYPE.团队信息) {
dataInfo = await findTeamDataByUsccAndTime(uscc, year, quarter);
} else {
dataInfo = await findBusinessDataByTimeAndUscc(uscc, year, quarter);
}
if (dataInfo.fhqIsSubmit) throw new BizError(ERRORENUM.重复通过填报数据, `${fuHuaQiUscc} 企业审核 重复通过`);
dataInfo.fhqIsSubmit = true;
await dataInfo.save();
return { isSuccess:true };
} }
\ No newline at end of file
...@@ -242,7 +242,7 @@ async function getOpenId(code:string) { ...@@ -242,7 +242,7 @@ async function getOpenId(code:string) {
if (weixinRes.errcode == ERRORCODEENUM.频繁操作请稍后再试) throw new BizError(ERRORENUM.频繁操作请稍后再试, code); if (weixinRes.errcode == ERRORCODEENUM.频繁操作请稍后再试) throw new BizError(ERRORENUM.频繁操作请稍后再试, code);
if (weixinRes.errcode == ERRORCODEENUM.高风险等级用户) throw new BizError(ERRORENUM.高风险等级用户, code); if (weixinRes.errcode == ERRORCODEENUM.高风险等级用户) throw new BizError(ERRORENUM.高风险等级用户, code);
if (weixinRes.errcode == -1) throw new BizError(ERRORENUM.系统繁忙, code); if (weixinRes.errcode == -1) throw new BizError(ERRORENUM.系统繁忙, code);
if (!weixinRes.openid) throw new BizError(ERRORENUM.绑定失败, code); if (!weixinRes.openid) throw new BizError(ERRORENUM.绑定失败, code, JSON.stringify(weixinRes));
return weixinRes.openid; return weixinRes.openid;
} }
......
...@@ -404,4 +404,32 @@ export const EnterpriseQualificationUpdateConfig = { ...@@ -404,4 +404,32 @@ export const EnterpriseQualificationUpdateConfig = {
xjrMs:{type:"Number"},//小巨人 xjrMs:{type:"Number"},//小巨人
beOnTheMarket:{type:"[Number]", notMustHave:true},//上市情况 beOnTheMarket:{type:"[Number]", notMustHave:true},//上市情况
isBeOnTheMarket:{type:"Boolean"} isBeOnTheMarket:{type:"Boolean"}
}
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 孵化器补充企业团队信息
* 备注: 所有参数为必填
*/
export const FuHuaQiReplenishEnterpriseTeamDataConfig = {
doctor:{type:"Number" },//博士
master:{type:"Number" },//硕士
undergraduate:{type:"Number" },//本科
juniorCollege:{type:"Number" },//专科
other:{type:"Number" },//其他
studyAbroad:{type:"Number"},//留学人数
graduates:{type:"Number"},//应届毕业生
}
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 孵化器补充经营数据
* 备注: 所有参数为必填
*/
export const FuHuaQiReplenishEnterpriseBusinessDataConfig = {
BI:{type:"Number"},//营业收入
RD:{type:"Number"},//研发投入
TXP:{type:"Number"},//纳税
} }
\ No newline at end of file
...@@ -369,4 +369,14 @@ export enum BUSINESSDATATYPE { ...@@ -369,4 +369,14 @@ export enum BUSINESSDATATYPE {
营业收入 = 1, 营业收入 = 1,
研发投入, 研发投入,
纳税 纳税
}
/**
* 状态
*/
export enum STATEENUM {
未选 = 1,
,
} }
\ No newline at end of file
...@@ -53,7 +53,11 @@ export enum ERRORENUM { ...@@ -53,7 +53,11 @@ export enum ERRORENUM {
不在填报范围之内, 不在填报范围之内,
只能删除本企业信息, 只能删除本企业信息,
不能补录已有数据, 不能补录已有数据,
请正确填报数据 请正确填报数据,
不能重复创建填报,
请先创建填报数据,
重复通过填报数据,
请先选择是否拥有,
} }
export enum ERRORCODEENUM { export enum ERRORCODEENUM {
......
...@@ -371,7 +371,7 @@ export const EnterpriseTeamConfig = { ...@@ -371,7 +371,7 @@ export const EnterpriseTeamConfig = {
export const EnterpriseBusinessDataConfig = { export const EnterpriseBusinessDataConfig = {
name:{key:"企业名称"}, name:{key:"企业名称"},
year:{key:"年份"}, year:{key:"年份"},
quarters:{key:"季度"}, quarter:{key:"季度"},
BI:{key:"营业收入"}, BI:{key:"营业收入"},
RD:{key:"研发投入"}, RD:{key:"研发投入"},
TXP:{key:"纳税"}, TXP:{key:"纳税"},
......
...@@ -8,13 +8,14 @@ import { baseDB } from '../../db/mongo/dbInit'; ...@@ -8,13 +8,14 @@ import { baseDB } from '../../db/mongo/dbInit';
const businessSchema = new Schema({ const businessSchema = new Schema({
year:{type:Number, index:true},//年度 year:{type:Number, index:true},//年度
fuHuaQiUscc:{type:String, index:true}, fuHuaQiUscc:{type:String, index:true},
quarters:{type:Number, index:true},//季度 quarter:{type:Number, index:true},//季度
uscc:{type:String, index:true}, uscc:{type:String, index:true},
name:{type:String, index:true},//企业名称 name:{type:String, index:true},//企业名称
BI:{type:Number, default:0},//营业收入 BI:{type:Number, default:0},//营业收入
RD:{type:Number, default:0},//研发投入 RD:{type:Number, default:0},//研发投入
TXP:{type:Number, default:0},//纳税 TXP:{type:Number, default:0},//纳税
createTime:Number,//填写时间 createTime:Number,//填写时间
isUpdate:{type:Boolean, default:false},//是否修改
isSubmit:{type:Boolean, default:false},//是否提交 isSubmit:{type:Boolean, default:false},//是否提交
fhqIsSubmit:{type:Boolean, default:false},//孵化器点了审核通过这里就要改成ture 就不能显示了 fhqIsSubmit:{type:Boolean, default:false},//孵化器点了审核通过这里就要改成ture 就不能显示了
}); });
...@@ -51,12 +52,12 @@ export async function findBusinessDataByUsccAndYear(uscc:string, year:number) { ...@@ -51,12 +52,12 @@ export async function findBusinessDataByUsccAndYear(uscc:string, year:number) {
} }
export async function findBusinessDataByTimeAndUscc(uscc:string, year:number, quarters:number) { export async function findBusinessDataByTimeAndUscc(uscc:string, year:number, quarter:number) {
return await businessDataModel.selectOnceData({uscc, year, quarters}); return await businessDataModel.selectOnceData({uscc, year, quarter});
} }
export async function findNotSubmitBusinessDataByTimeAndUscc(uscc:string, year:number, quarters:number) { export async function findNotSubmitBusinessDataByTimeAndUscc(uscc:string, year:number, quarter:number) {
return await businessDataModel.selectOnceData({uscc, year, quarters, isSubmit:false, fhqIsSubmit:false}); return await businessDataModel.selectOnceData({uscc, year, quarter, isSubmit:false, fhqIsSubmit:false});
} }
...@@ -84,9 +85,9 @@ export async function addManyBusinessData(addList) { ...@@ -84,9 +85,9 @@ export async function addManyBusinessData(addList) {
/** /**
* 查询特定时间的企业经营数据总和 * 查询特定时间的企业经营数据总和
* @param year 年度 * @param year 年度
* @param quarters 季度 * @param quarter 季度
* @returns * @returns
*/ */
export async function findBusinessDataCountByTime(year:number, quarters:number) { export async function findBusinessDataCountByTime(year:number, quarter:number) {
return await businessDataModel.find({year, quarters}).count(); return await businessDataModel.find({year, quarter}).count();
} }
\ No newline at end of file
...@@ -83,7 +83,8 @@ const enterpriseSchema = new Schema({ ...@@ -83,7 +83,8 @@ const enterpriseSchema = new Schema({
initialTeam:{type:[initialTeamSchema], default:[]},//创始团队 initialTeam:{type:[initialTeamSchema], default:[]},//创始团队
qualification:{type:qualificationSchema},//企业资质 qualification:{type:qualificationSchema},//企业资质
intellectualProperty:{type:intellectualPropertySchema},//知识产权 intellectualProperty:{type:intellectualPropertySchema},//知识产权
firstClassTalent:{type:Boolean, default:false},//是否拥有国际一流人才 默认没有 firstClassTalent:{type:Boolean, default:false},//是否拥有国际一流人才 默认没有 舍弃
haveFirstClassTalent:{type:Number, default:1},//是否拥有国际一流人才
tipsQualification:{type:Boolean, default:false},//标识-企业资质 tipsQualification:{type:Boolean, default:false},//标识-企业资质
tipsIntellectualProperty:{type:Boolean, default:false},//标识-知识产权 tipsIntellectualProperty:{type:Boolean, default:false},//标识-知识产权
tipsFinancingInfo:{type:Boolean, default:false},//标识-企业融资 tipsFinancingInfo:{type:Boolean, default:false},//标识-企业融资
......
...@@ -7,7 +7,7 @@ import { baseDB } from '../../db/mongo/dbInit'; ...@@ -7,7 +7,7 @@ import { baseDB } from '../../db/mongo/dbInit';
const replenishSchema = new Schema({ const replenishSchema = new Schema({
year:{type:Number, index:true},//年度 year:{type:Number, index:true},//年度
quarters:{type:Number, index:true},//季度 quarter:{type:Number, index:true},//季度
uscc:{type:String, index:true}, uscc:{type:String, index:true},
type:Number, type:Number,
value:Number, value:Number,
...@@ -40,12 +40,12 @@ export async function save(throwError=false) { ...@@ -40,12 +40,12 @@ export async function save(throwError=false) {
* 补充经营数据 * 补充经营数据
* @param uscc 企业统一信用代码 * @param uscc 企业统一信用代码
* @param year 年度 * @param year 年度
* @param quarters 季度 * @param quarter 季度
* @param type 类型 * @param type 类型
* @param value 值 * @param value 值
*/ */
export async function replenishData(uscc:string, year:number, quarters:number, type:number, value:number) { export async function replenishData(uscc:string, year:number, quarter:number, type:number, value:number) {
let addInfo = {uscc, year, quarters, type, value, timeMs:new Date().valueOf() }; let addInfo = {uscc, year, quarter, type, value, timeMs:new Date().valueOf() };
await replenishDataModel.create(addInfo); await replenishDataModel.create(addInfo);
} }
......
...@@ -11,8 +11,8 @@ const teamSchema = new Schema({ ...@@ -11,8 +11,8 @@ const teamSchema = new Schema({
uscc:{type:String, index:true}, uscc:{type:String, index:true},
fuHuaQiUscc:{type:String, index:true}, fuHuaQiUscc:{type:String, index:true},
name:String,//企业名称 name:String,//企业名称
year:{tupe:Number, index:true}, year:{type:Number, index:true},
quarters:{tupe:Number, index:true}, quarter:{type:Number, index:true},
doctor:{type:Number, default:0},//博士 doctor:{type:Number, default:0},//博士
master:{type:Number, default:0},//硕士 master:{type:Number, default:0},//硕士
undergraduate:{type:Number, default:0},//本科 undergraduate:{type:Number, default:0},//本科
...@@ -21,6 +21,7 @@ const teamSchema = new Schema({ ...@@ -21,6 +21,7 @@ const teamSchema = new Schema({
studyAbroad:{type:Number, default:0},//留学人数 studyAbroad:{type:Number, default:0},//留学人数
graduates:{type:Number, default:0},//应届毕业生 graduates:{type:Number, default:0},//应届毕业生
createMs:Number,//填报时间 createMs:Number,//填报时间
isUpdate:{type:Boolean, default:false},//是否修改
isSubmit:{type:Boolean, default:false},//是否提交 isSubmit:{type:Boolean, default:false},//是否提交
fhqIsSubmit:{type:Boolean, default:false},//孵化器点了审核通过这里就要改成ture 就不能显示了 fhqIsSubmit:{type:Boolean, default:false},//孵化器点了审核通过这里就要改成ture 就不能显示了
}); });
...@@ -50,27 +51,34 @@ export async function save(throwError=false) { ...@@ -50,27 +51,34 @@ export async function save(throwError=false) {
* 查询特定时间的企业团队信息数据 * 查询特定时间的企业团队信息数据
* @param uscc 企业统一信用代码 * @param uscc 企业统一信用代码
* @param year 年度 * @param year 年度
* @param quarters 季度 * @param quarter 季度
* @returns * @returns
*/ */
export async function findTeamByUsccAndTime(uscc:string, year:number, quarters:number) { export async function findTeamByUsccAndTime(uscc:string, year:number, quarter:number) {
return await teamModel.selectOnceData({uscc, year, quarters}); return await teamModel.selectOnceData({uscc, year, quarter});
} }
/** /**
* 查询特定时间的企业团队信息数据总和 * 查询特定时间的企业团队信息数据总和
* @param year 年度 * @param year 年度
* @param quarters 季度 * @param quarter 季度
* @returns * @returns
*/ */
export async function findTeamDataCountByTime(year:number, quarters:number) { export async function findTeamDataCountByTime(year:number, quarter:number) {
return await teamModel.find({year, quarters}).count(); return await teamModel.find({year, quarter}).count();
} }
export async function findNotSubmitTeamByUsccAndTime(uscc:string, year:number, quarters:number) { export async function findNotSubmitTeamByUsccAndTime(uscc:string, year:number, quarter:number) {
return await teamModel.selectOnceData({uscc, year, quarters, isSubmit:false, fhqIsSubmit:false}); return await teamModel.selectOnceData({uscc, year, quarter, isSubmit:false, fhqIsSubmit:false});
} }
export async function findTeamDataByParams(param) {
return await teamModel.find(param);
}
export async function findTeamDataByUsccAndTime(uscc:string, year:number, quarter:number) {
return await teamModel.find({uscc, year, quarter}).count();
}
/** /**
* 获取企业最新的团队数据 * 获取企业最新的团队数据
......
...@@ -12,7 +12,7 @@ import { baseDB } from '../../db/mongo/dbInit'; ...@@ -12,7 +12,7 @@ import { baseDB } from '../../db/mongo/dbInit';
const fuHuaQiTaskSchema = new Schema({ const fuHuaQiTaskSchema = new Schema({
key:{type:Number, index:true},//任务标识 格式为:YYYYMM key:{type:Number, index:true},//任务标识 格式为:YYYYMM
type: {type:Number,index: true},//任务类型 type: {type:Number,index:true},//任务类型
taskId:String,//任务id taskId:String,//任务id
fuHuaQiUscc:String,//任务所属孵化器id fuHuaQiUscc:String,//任务所属孵化器id
submitTime:Number,//提交时间 submitTime:Number,//提交时间
......
...@@ -9,7 +9,6 @@ var baseDB; ...@@ -9,7 +9,6 @@ var baseDB;
export async function initDB() { export async function initDB() {
//如果配置了mongoServerConstVal 才会连接mongo //如果配置了mongoServerConstVal 才会连接mongo
if (systemConfig.mongodbStr) { if (systemConfig.mongodbStr) {
console.log(systemConfig.mongodbStr, ' 连接成功')
baseDB = await createDbConnect(systemConfig.mongodbStr).catch(err => { baseDB = await createDbConnect(systemConfig.mongodbStr).catch(err => {
throw err throw err
}); });
......
...@@ -27,7 +27,6 @@ export async function initTable() { ...@@ -27,7 +27,6 @@ export async function initTable() {
scoreLogModel.initModel(); scoreLogModel.initModel();
codeModel.initModel(); codeModel.initModel();
smsPointOutModel.initModel(); smsPointOutModel.initModel();
businessdataModel.initModel(); businessdataModel.initModel();
financingInfoModel.initModel(); financingInfoModel.initModel();
......
...@@ -4,7 +4,6 @@ import { initConfig, systemConfig} from "./config/serverConfig"; ...@@ -4,7 +4,6 @@ import { initConfig, systemConfig} from "./config/serverConfig";
import { initDB } from "./db/mongo/dbInit"; import { initDB } from "./db/mongo/dbInit";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { initBasicData } from "./tools/dataInit"; import { initBasicData } from "./tools/dataInit";
import { get } from "./util/request";
async function lanuch() { async function lanuch() {
/**初始化配置解析 */ /**初始化配置解析 */
......
...@@ -156,11 +156,11 @@ async function outPutMoveOutList(req, res) { ...@@ -156,11 +156,11 @@ async function outPutMoveOutList(req, res) {
* @param res * @param res
*/ */
async function businessDataList(req, res) { async function businessDataList(req, res) {
let reqConf = {name:'String', year: 'Number', quarters: 'Number', page: 'Number'}; let reqConf = {name:'String', year: 'Number', quarter: 'Number', page: 'Number'};
const NotMustHaveKeys = ["name", "year", "quarters" ]; const NotMustHaveKeys = ["name", "year", "quarter" ];
let { name, year, quarters, page } = eccReqParamater(reqConf, req.body, NotMustHaveKeys); let { name, year, quarter, page } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let restult = await enterpriseAdminBiz.getBusinessDataList(name, year, quarters, page); let restult = await enterpriseAdminBiz.getBusinessDataList(name, year, quarter, page);
res.success(restult); res.success(restult);
} }
...@@ -172,11 +172,11 @@ async function businessDataList(req, res) { ...@@ -172,11 +172,11 @@ async function businessDataList(req, res) {
* @param res * @param res
*/ */
async function outPutBusinessData(req, res) { async function outPutBusinessData(req, res) {
let reqConf = {name:'String', year: 'Number', quarters: 'Number', type: 'Number'}; let reqConf = {name:'String', year: 'Number', quarter: 'Number', type: 'Number'};
const NotMustHaveKeys = ["name", "year", "quarters" ]; const NotMustHaveKeys = ["name", "year", "quarter" ];
let { name, year, quarters, type } = eccReqParamater(reqConf, req.body, NotMustHaveKeys); let { name, year, quarter, type } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let {dataList, fileName} = await enterpriseAdminBiz.outPutBusinessDataList(name, year, quarters, type); let {dataList, fileName} = await enterpriseAdminBiz.outPutBusinessDataList(name, year, quarter, type);
res.success({data:dataList, name:`${fileName}企业经营.xlsx`}); res.success({data:dataList, name:`${fileName}企业经营.xlsx`});
} }
......
...@@ -6,6 +6,7 @@ import * as asyncHandler from 'express-async-handler'; ...@@ -6,6 +6,7 @@ import * as asyncHandler from 'express-async-handler';
import { checkEnterpriseToken } from '../../middleware/user'; import { checkEnterpriseToken } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import * as enterpriseBiz from '../../biz/mobileEnterprise/enterprise'; import * as enterpriseBiz from '../../biz/mobileEnterprise/enterprise';
import * as dataDeclarationBiz from '../../biz/mobileEnterprise/dataDeclaration';
export function setRouter(httpServer) { export function setRouter(httpServer) {
...@@ -25,6 +26,8 @@ export function setRouter(httpServer) { ...@@ -25,6 +26,8 @@ export function setRouter(httpServer) {
httpServer.post('/enterprise/qualification/info', checkEnterpriseToken, asyncHandler(qualificationInfo)); httpServer.post('/enterprise/qualification/info', checkEnterpriseToken, asyncHandler(qualificationInfo));
/**资讯 */ /**资讯 */
httpServer.post('/enterprise/information/list', checkEnterpriseToken, asyncHandler(informationList)); httpServer.post('/enterprise/information/list', checkEnterpriseToken, asyncHandler(informationList));
/**团队信息 */
httpServer.post('/enterprise/team/info', checkEnterpriseToken, asyncHandler(showTeamInfomation));
} }
...@@ -48,7 +51,7 @@ async function homePageHeaderInfo(req, res) { ...@@ -48,7 +51,7 @@ async function homePageHeaderInfo(req, res) {
async function updateTeamsState(req, res) { async function updateTeamsState(req, res) {
const Uscc = req.headers.uscc; const Uscc = req.headers.uscc;
let reqConf = {firstClassTalent:'Boolean', teams:'[Object]'}; let reqConf = {firstClassTalent:'Number', teams:'[Object]'};
let {firstClassTalent, teams} = eccReqParamater(reqConf, req.body, ["teams"]); let {firstClassTalent, teams} = eccReqParamater(reqConf, req.body, ["teams"]);
let result = await enterpriseBiz.updateInitialTeamInfo(Uscc, firstClassTalent, teams); let result = await enterpriseBiz.updateInitialTeamInfo(Uscc, firstClassTalent, teams);
...@@ -158,6 +161,20 @@ async function baseInfo(req, res) { ...@@ -158,6 +161,20 @@ async function baseInfo(req, res) {
} }
/**
* 点击查看团队信息数据
* @param req
* @param res
*/
async function showTeamInfomation(req, res) {
const Uscc = req.headers.uscc;
let result = await dataDeclarationBiz.showTeamInfo(Uscc );
res.success(result);
}
async function informationList(req, res) { async function informationList(req, res) {
const Uscc = req.headers.uscc; const Uscc = req.headers.uscc;
......
...@@ -20,6 +20,7 @@ export function setRouter(httpServer) { ...@@ -20,6 +20,7 @@ export function setRouter(httpServer) {
httpServer.post('/enterprise/datadeclaration/team/add', checkEnterpriseToken, asyncHandler(addTeamData)); httpServer.post('/enterprise/datadeclaration/team/add', checkEnterpriseToken, asyncHandler(addTeamData));
httpServer.post('/enterprise/datadeclaration/team/info', checkEnterpriseToken, asyncHandler(teamInfo)); httpServer.post('/enterprise/datadeclaration/team/info', checkEnterpriseToken, asyncHandler(teamInfo));
httpServer.post('/enterprise/datadeclaration/team/update', checkEnterpriseToken, asyncHandler(updateTeamData)); httpServer.post('/enterprise/datadeclaration/team/update', checkEnterpriseToken, asyncHandler(updateTeamData));
} }
...@@ -41,11 +42,11 @@ async function unsubmitted(req, res) { ...@@ -41,11 +42,11 @@ async function unsubmitted(req, res) {
* @param res * @param res
*/ */
async function completed(req, res) { async function completed(req, res) {
let reqConf = {year:'Number', quarters:'Number'}; let reqConf = {year:'Number', quarter:'Number'};
let {year, quarters} = eccReqParamater(reqConf, req.body); let {year, quarter} = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc; const Uscc = req.headers.uscc;
let result = await dataDeclarationBiz.completedList(Uscc, year, quarters); let result = await dataDeclarationBiz.completedList(Uscc, year, quarter);
res.success(result); res.success(result);
} }
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import * as enterpriseBiz from '../../biz/mobileFuHuaQi/enterprise/enterprise'; import * as enterpriseBiz from '../../biz/mobileFuHuaQi/enterprise/enterprise';
import * as toExamineBiz from '../../biz/mobileFuHuaQi/enterprise/toExamine';
import { checkFuHuaQiToken } from '../../middleware/user'; import { checkFuHuaQiToken } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { FUHUASTATE } from '../../config/enum'; import { FUHUASTATE } from '../../config/enum';
...@@ -29,6 +30,12 @@ export function setRouter(httpServer) { ...@@ -29,6 +30,12 @@ export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/myenterprise/update/moveout', checkFuHuaQiToken, asyncHandler(updateMoveOut)); httpServer.post('/fuhuaqi/myenterprise/update/moveout', checkFuHuaQiToken, asyncHandler(updateMoveOut));
/**我的企业信息 回显 */ /**我的企业信息 回显 */
// httpServer.post('/fuhuaqi/myenterprise//moveout', checkFuHuaQiToken, asyncHandler(updateMoveOut)); // httpServer.post('/fuhuaqi/myenterprise//moveout', checkFuHuaQiToken, asyncHandler(updateMoveOut));
/**审核企业填报数据 */
httpServer.post('/fuhuaqi/enterprise/examine/unaudited', checkFuHuaQiToken, asyncHandler(unaudited));
httpServer.post('/fuhuaqi/enterprise/examine/auditcompleted', checkFuHuaQiToken, asyncHandler(auditCompleted));
httpServer.post('/fuhuaqi/enterprise/examine/replenish', checkFuHuaQiToken, asyncHandler(replenish));
httpServer.post('/fuhuaqi/enterprise/examine/pass', checkFuHuaQiToken, asyncHandler(passExamine));
} }
...@@ -275,4 +282,63 @@ async function replenishInPut(req, res) { ...@@ -275,4 +282,63 @@ async function replenishInPut(req, res) {
let result = await enterpriseBiz.replenishMyEnterpriseInPutInfo(Uscc, form); let result = await enterpriseBiz.replenishMyEnterpriseInPutInfo(Uscc, form);
res.success(result); res.success(result);
} }
\ No newline at end of file
/**
* 待审核企业数据
* 3.0
* @param req
* @param res
*/
async function unaudited(req, res) {
const Uscc = req.headers.uscc;
let result = await toExamineBiz.unauditedList(Uscc);
res.success(result);
}
/**
* 已审核企业数据
* 3.0
* @param req
* @param res
*/
async function auditCompleted(req, res) {
let reqConf = { year:"Number", quarter:"Number" };
let { year, quarter } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await toExamineBiz.auditCompletedList(Uscc, year, quarter);
res.success(result);
}
/**
* 孵化器修改企业填报的数据
* 3.0
* @param req
* @param res
*/
async function replenish(req, res) {
let reqConf = { year:"Number", quarter:"Number", uscc:"String", type:"Number", form:"Object"};
let { year, quarter, uscc, type, form} = eccReqParamater(reqConf, req.body);
const fuHuaQiUscc = req.headers.uscc;
let result = await toExamineBiz.fuHuaQiReplenishEnterpriseDataDeclaration(fuHuaQiUscc, uscc, type, year, quarter, form);
res.success(result);
}
/**
* 孵化器通过企业填报的数据
* 3.0
* @param req
* @param res
*/
async function passExamine(req, res) {
let reqConf = { year:"Number", quarter:"Number", uscc:"String", type:"Number"};
let { year, quarter, uscc, type} = eccReqParamater(reqConf, req.body);
const fuHuaQiUscc = req.headers.uscc;
let result = await toExamineBiz.fuHuaQiPass(fuHuaQiUscc, uscc, type, year, quarter);
res.success(result);
}
...@@ -63,7 +63,7 @@ export function checkDataHaveNull(data:object, sensitive:boolean) { ...@@ -63,7 +63,7 @@ export function checkDataHaveNull(data:object, sensitive:boolean) {
for (let key in data) { for (let key in data) {
if (data[key] == null || data[key] == undefined) success = true; if (data[key] == null || data[key] == undefined) success = true;
if (sensitive) { if (sensitive) {
if (data[key] == 0 || data[key] == "" ) success = true; if (data[key] === 0 || data[key] === "" ) success = true;
} }
} }
return success; return success;
......
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