Commit c3a04dba by lixinming

3.1修bug

parent 3aaa27f9
......@@ -13,7 +13,8 @@ import { BizError } from "../../../util/bizError";
import { ERRORENUM } from "../../../config/errorEnum";
import { eccFormParam } from "../../../util/verificationParam";
import { changeEnumValue, eccEnumValue } from "../../../util/verificationEnum";
import { getPwdMd5, getTaskId, getTimeKey, md5PwdStr } from "../../../tools/system";
import { getPwdMd5, md5PwdStr } from "../../../tools/system";
import * as taskTool from "../../../tools/taskTool";
import moment = require("moment");
import * as monthTableData from "../../../data/fuHuaQi/monthTask/monthTable";
import * as taskData from "../../../data/fuHuaQi/monthTask/task";
......@@ -276,49 +277,51 @@ export async function updateState(uscc:string, userState:boolean) {
export async function addUser(param) {
eccFormParam("新增孵化器账号信息", eccFormParamConfig.FuHuaQiUserConfig, param);//校验表单参数
let fuhuaqiInfo = await fuhuaqiData.findFuHuaQiByUSCC(param.uscc);
if ( fuhuaqiInfo ) throw new BizError(ERRORENUM.该孵化器账号信息已存在, `${param.uscc}`);
let uscc = param.uscc;//统一信用代码
let fuhuaqiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
if ( fuhuaqiInfo ) throw new BizError(ERRORENUM.该孵化器账号信息已存在, `${uscc}`);
const Pwd = param.uscc.slice(param.uscc.length-6);
param.pwd = getPwdMd5(param.uscc, md5PwdStr(Pwd));
/**生成密码 */
const Pwd = uscc.slice(uscc.length-6);
param.pwd = getPwdMd5(uscc, md5PwdStr(Pwd));
param.createTime = new Date().valueOf();
await fuhuaqiData.createFuHuaQiUser(param);
param.createTime = new Date().valueOf(); //创建时间
//创建孵化器账号
await fuhuaqiData.createFuHuaQiUser(param);
//初始化分数
await scoreData.createFuHuaQiScore(param.uscc, 404);
let addList = [];//任务列表
let monthList = [];//月度填报列表
const MonthNumber = moment().subtract(1, 'months').month() + 1;//数据填报月份
const YearNumber =moment().subtract(1, 'months').year();
const MonthTableName = `${MonthNumber}月孵化器月度填报`;
const TimeKey = getTimeKey();
let fuHuaQiList = [{uscc:param.uscc}];
fuHuaQiList.forEach(info => {
let { uscc } = info;
let taskId = getTaskId(uscc);
addList.push( { key:TimeKey, type:configEnum.TASKTYPEENUM.孵化器月度填报, month:MonthNumber, taskId, fuHuaQiUscc:uscc, isSubmit:false, year:YearNumber},
{ key:TimeKey, type:configEnum.TASKTYPEENUM.新注册或迁入企业登记, month:MonthNumber, taskId, fuHuaQiUscc:uscc, isSubmit:false , year:YearNumber},
{ key:TimeKey, type:configEnum.TASKTYPEENUM.融资企业填报, taskId, month:MonthNumber, fuHuaQiUscc:uscc, isSubmit:false, year:YearNumber});
/**任务报表的初始状态为 草稿(draftLock=fals) 未被编辑(isUpdate=false) */
monthList.push({ taskId, name:MonthTableName, fuHuaQiUscc:uscc, month:MonthNumber, year:YearNumber, draftLock:false, isUpdate:false });
});
const YearNumber =moment().subtract(1, 'months').year();//数据填报年度
const TimeKey = taskTool.getTimeKey();//获取当前时间标识
let taskId = taskTool.generateMonthTaskId(uscc);//生成月度任务Id
//月度任务列表
let taskAddList = [
{ key:TimeKey, type:configEnum.TASKTYPEENUM.孵化器月度填报, month:MonthNumber, taskId, fuHuaQiUscc:uscc, isSubmit:false, year:YearNumber},
{ key:TimeKey, type:configEnum.TASKTYPEENUM.新注册或迁入企业登记, month:MonthNumber, taskId, fuHuaQiUscc:uscc, isSubmit:false , year:YearNumber},
{ key:TimeKey, type:configEnum.TASKTYPEENUM.融资企业填报, taskId, month:MonthNumber, fuHuaQiUscc:uscc, isSubmit:false, year:YearNumber}
];
/**任务报表的初始状态为 草稿(draftLock=fals) 未被编辑(isUpdate=false) 月度填报列表 */
let monthList = [
{ taskId, name:`${MonthNumber}月孵化器月度填报`, fuHuaQiUscc:uscc, month:MonthNumber, year:YearNumber, draftLock:false, isUpdate:false }
];
try {
/**初始化 任务 */
await taskData.createTaskToList(addList);
logHandle(`添加了${addList.length} 任务`);
await taskData.createTaskToList(taskAddList);
logHandle(`${uscc} 月度任务初始化成功`);
/**初始化 月度填报表 */
await monthTableData.createMonthTableToList(monthList);
logHandle(`添加了${monthList.length} 月度任务`);
logHandle(`${uscc} 月度填报初始化成功`);
} catch (err) {
new BizError(ERRORENUM.系统错误, '添加任务和月度报表的时候 出现了异常 请检查数据库 ', err);
}
/**发送初始化账号短信提示 */
await sendInitPointOut(param.personInChargePhone);
return {isSuccess:true};
......
......@@ -88,7 +88,7 @@ export async function getOnceinformation(uscc:string, id:string) {
export async function getInformationTitleList() {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
let informationData = await selectOnceInformationByParamToParam(selectParam);
let informationData = await selectOnceInformationByParamToParam(selectParam) || {title:""};;
return {title:informationData.title};
......
......@@ -92,21 +92,24 @@ export async function todoList(uscc:string) {
let title = getDeclarationChName(declarationQuarter)
let dataList = [
{
let dataList = [];
if (businessDataInfo) {
dataList.push({
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.经营状况),
typeNumber:ENTERPRISEDECLARATIONTYPE.经营状况,
title,
subTitle:businessDataInfo && businessDataInfo.isUpdate? `${title}经营状况填报` : ''
},
{
});
}
if (teamsDataInfo) {
dataList.push({
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息),
typeNumber:ENTERPRISEDECLARATIONTYPE.团队信息,
title,
subTitle:teamsDataInfo && teamsDataInfo.isUpdate? `${title}团队信息填报` : ''
}
];
});
}
return {dataList, distanceEnd};
}
......@@ -121,8 +124,10 @@ export async function todoList(uscc:string) {
export async function completedList(uscc:string, year:number, quarter:number) {
let {declarationQuarter, declarationYear} = getDeclarationTime();
//是否可编辑 如果是本月的,就可以编辑
let modifiable = (isInTime() && declarationQuarter == quarter && declarationYear == year);
//是否可编辑 如果上个季度的,就可以编辑
//todo 过了这个月之后,这里要改回去
// let modifiable = (isInTime() && declarationQuarter == quarter && declarationYear == year);
let modifiable = (declarationQuarter == quarter && declarationYear == year);
let businessDataInfo = await findBusinessDataByTimeAndUscc(uscc, year, quarter);
let teamsDataInfo = await findTeamByUsccAndTime(uscc, year, quarter);
......@@ -135,7 +140,8 @@ export async function completedList(uscc:string, year:number, quarter:number) {
dataList.push({
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.经营状况),
title,
subTitle:`${title}经营状况填报`
subTitle:`${title}经营状况填报`,
typeNumber:ENTERPRISEDECLARATIONTYPE.经营状况,
});
}
if (teamsDataInfo && teamsDataInfo.isSubmit) {
......@@ -143,7 +149,8 @@ export async function completedList(uscc:string, year:number, quarter:number) {
{
type:changeEnumValue(ENTERPRISEDECLARATIONTYPE, ENTERPRISEDECLARATIONTYPE.团队信息),
title,
subTitle:`${title}团队信息填报`
subTitle:`${title}团队信息填报`,
typeNumber:ENTERPRISEDECLARATIONTYPE.团队信息,
}
);
}
......@@ -347,7 +354,6 @@ export async function submit(uscc:string, type:number) {
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let {declarationQuarter, declarationYear} = getDeclarationTime();
let dataInfo;
if (type == ENTERPRISEDECLARATIONTYPE.团队信息) {
dataInfo = await findTeamByUsccAndTime(uscc, declarationYear, declarationQuarter);
......
......@@ -9,13 +9,13 @@ import * as eccFormParamConfig from "../../../config/eccFormParamConfig";
import { ERRORENUM } from "../../../config/errorEnum";
import { BizError } from "../../../util/bizError";
import * as sysTools from "../../../tools/system";
import * as taskTool from "../../../tools/taskTool";
import * as enterpriseData from "../../../data/enterprise/enterprise";
import * as splitResultConfig from "../../../config/splitResultConfig";
import * as configEnum from "../../../config/enum";
import { eccFormParam, eccReqParamater } from "../../../util/verificationParam";
import * as verificationEnumTools from "../../../util/verificationEnum";
import { checkChange, extractData } from "../../../util/piecemeal";
import * as scoreBiz from "../fuHuaQi/score";
/**
......@@ -38,7 +38,7 @@ export async function registerEnterprise(uscc:string, param) {
/**添加新注册企业标识 */
param.draftId = sysTools.getDraftId(uscc);//草稿箱id
param.isCreate = true;//标识此次操作是否是新注册企业并不是迁入企业
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
param.state = configEnum.FUHUASTATE.实体孵化;
await enterpriseData.createEnterprise(uscc, TaskId, param);
......@@ -99,15 +99,32 @@ export async function moveInEnterprise(uscc:string, param) {
/**不能出现重复的统一社会信用代码 草稿的也不行 */
let dataBaseInfo = await enterpriseData.findEnterpriseByUscc(param.uscc);
if ( dataBaseInfo&& dataBaseInfo.uscc) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在`);
/**添加新注册企业标识 */
param.draftId = sysTools.getDraftId(uscc);//草稿箱id
param.isCreate = false;//标识此次操作是否是迁入企业并不是新注册企业
const TaskId = sysTools.getTaskId(uscc);
param.state = configEnum.FUHUASTATE.实体孵化;//默认就是实体孵化
await enterpriseData.createEnterprise(uscc, TaskId, param);
if ( dataBaseInfo && dataBaseInfo.uscc && dataBaseInfo.state != configEnum.FUHUASTATE.迁出) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在`);
if ( dataBaseInfo && dataBaseInfo.state && dataBaseInfo.state == configEnum.FUHUASTATE.迁出) {
dataBaseInfo.fuHuaQiUscc = uscc;
dataBaseInfo.state = configEnum.FUHUASTATE.实体孵化;
dataBaseInfo.isCreate = false;
dataBaseInfo.virtualCause = 0;
dataBaseInfo.virtualCauseDes = '';
dataBaseInfo.moveOutType = 0;
dataBaseInfo.moveOutTrace = 0;
dataBaseInfo.moveOutCause = [];
dataBaseInfo.moveOutTime = 0;
for (let key in eccFormParamConfig.MoveInEnterpriseParamConfig) {
dataBaseInfo[key] = param[key];
}
await dataBaseInfo.save();
} else {
/**添加新注册企业标识 */
param.draftId = sysTools.getDraftId(uscc);//草稿箱id
param.isCreate = false;//标识此次操作是否是迁入企业并不是新注册企业
const TaskId = taskTool.getTaskId(uscc);
param.state = configEnum.FUHUASTATE.实体孵化;//默认就是实体孵化
await enterpriseData.createEnterprise(uscc, TaskId, param);
}
return {isSuccess:true};
}
......
......@@ -10,6 +10,7 @@ import * as financingData from "../../../data/fuHuaQi/monthTask/financing";
import * as splitResultConfig from "../../../config/splitResultConfig";
import { BizError } from "../../../util/bizError";
import * as sysTools from "../../../tools/system";
import * as taskTool from "../../../tools/taskTool";
import * as enterpriseData from "../../../data/enterprise/enterprise";
import * as configEnum from "../../../config/enum";
import { eccFormParam } from "../../../util/verificationParam";
......@@ -50,7 +51,7 @@ export async function createFinancingInfo(uscc:string, param) {
/** 前端无需传入企业的uscc 库中需要企业的uscc*/
param.uscc = enterpriseInfo.uscc;//
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
/**一个企业一个月只能填报一次融资信息 */
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, param.uscc);
......@@ -90,7 +91,7 @@ export async function updateFinancingInfo(uscc:string, param) {
}
/**找到该企业的本月融资数据 */
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, param.uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${TaskId}的任务`);
......@@ -116,7 +117,7 @@ export async function updateFinancingInfo(uscc:string, param) {
*/
export async function getEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:string) {
/**找到该企业的本月融资数据 */
const TaskId = sysTools.getTaskId(fuHuaQiUscc);
const TaskId = taskTool.getTaskId(fuHuaQiUscc);
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${uscc}这个企业的本次融资数据`);
......@@ -136,7 +137,7 @@ export async function getEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:stri
*/
export async function deleteEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:string) {
/**找到该企业的本月融资数据 */
const TaskId = sysTools.getTaskId(fuHuaQiUscc);
const TaskId = taskTool.getTaskId(fuHuaQiUscc);
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${uscc}这个企业`);
......
......@@ -119,6 +119,7 @@ export async function fuHuaQiReplenishEnterpriseDataDeclaration(fuHuaQiUscc:stri
for (let key in FuHuaQiReplenishEnterpriseTeamDataConfig) {
teamInfo[key] = form[key];
}
teamInfo.isUpdate = true;
await teamInfo.save();
} else {
......@@ -129,6 +130,7 @@ export async function fuHuaQiReplenishEnterpriseDataDeclaration(fuHuaQiUscc:stri
for (let key in FuHuaQiReplenishEnterpriseBusinessDataConfig) {
businessInfo[key] = form[key];
}
businessInfo.isUpdate = true;
await businessInfo.save();
}
......@@ -162,4 +164,35 @@ export async function fuHuaQiPass(fuHuaQiUscc:string, uscc:string, type:number,
await dataInfo.save();
return { isSuccess:true };
}
\ No newline at end of file
}
export async function selectFuHuaQiReplenishEnterpriseTeamData(fuHuaQiUscc:string, uscc:string, year:number, quarter:number) {
let teamInfo = await findTeamDataByUsccAndTime(uscc, year, quarter);
let result = {
doctor:teamInfo.doctor,//博士
master:teamInfo.master,//硕士
undergraduate:teamInfo.undergraduate,//本科
juniorCollege:teamInfo.juniorCollege,//专科
other:teamInfo.other,//其他
studyAbroad:teamInfo.studyAbroad,//留学人数
graduates:teamInfo.graduates,//应届毕业生
}
return result;
}
export async function selectFuHuaQiReplenishEnterpriseBusinessData(fuHuaQiUscc:string, uscc:string, year:number, quarter:number) {
let businessInfo = await findBusinessDataByTimeAndUscc(uscc, year, quarter);
let result = {
BI:businessInfo.BI,//营业收入
RD:businessInfo.RD,//研发投入
TXP:businessInfo.TXP,//纳税
}
return result;
}
......@@ -170,7 +170,7 @@ export async function updateOrganizationData(uscc:string, param) {
});
} else param.foundingTeam = [];
if (param.operationModel && param.operationModel.length && param.operationModel.indexOf(configEnum.OPERATIONMODEL.其他) > 0 ) {
if (!param.operationModelDes) throw new BizError(ERRORENUM.表单校验失败, `缺失运营模式描述`);
if (!param.operationModelDes) throw new BizError(ERRORENUM.请完善信息, `缺失运营模式描述`);
}
/**校验是否符合枚举范围 */
if (param.lv) eccEnumValue("更新孵化器机构信息数据", " 孵化器级别 ", configEnum.FUHUAQILV, param.fuHuaQiInvestmentStyle);
......
......@@ -8,6 +8,7 @@ import { ERRORENUM } from "../../../config/errorEnum";
import { FuHuaQiBusinessDataInfoConfig } from "../../../config/splitResultConfig";
import { findBusinessByTaskId } from "../../../data/fuHuaQi/quarterTask/businessData";
import * as sysTools from "../../../tools/system";
import * as taskTool from "../../../tools/taskTool";
import { BizError } from "../../../util/bizError";
import { extractData } from "../../../util/piecemeal";
import { eccFormParam } from "../../../util/verificationParam";
......@@ -22,7 +23,7 @@ import { eccFormParam } from "../../../util/verificationParam";
* @returns {isSuccess:true/false}
*/
export async function createBusiness(uscc:string, param) {
const TaskId = sysTools.getQuarterTaskId(uscc);
const TaskId = taskTool.getQuarterTaskId(uscc);
eccFormParam("新添加孵化器季度填报", FuHuaQiBusinessDataConfig, param);
let businessInfo = await findBusinessByTaskId(TaskId);
......@@ -43,7 +44,7 @@ export async function createBusiness(uscc:string, param) {
export async function deleteBusiness(uscc:string) {
const TaskId = sysTools.getQuarterTaskId(uscc);
const TaskId = taskTool.getQuarterTaskId(uscc);
let businessInfo = await findBusinessByTaskId(TaskId);
/**删除校验 */
......@@ -64,7 +65,7 @@ export async function deleteBusiness(uscc:string) {
export async function selectBusiness(uscc:string) {
const TaskId = sysTools.getQuarterTaskId(uscc);
const TaskId = taskTool.getQuarterTaskId(uscc);
let businessInfo = await findBusinessByTaskId(TaskId);
/**不可以重复创建 */
......@@ -79,7 +80,7 @@ export async function selectBusiness(uscc:string) {
export async function updateBusiness(uscc:string, param) {
const TaskId = sysTools.getQuarterTaskId(uscc);
const TaskId = taskTool.getQuarterTaskId(uscc);
eccFormParam("修改孵化器季度填报", FuHuaQiBusinessDataConfig, param);
let businessInfo = await findBusinessByTaskId(TaskId);
......@@ -102,9 +103,9 @@ export async function updateBusiness(uscc:string, param) {
export async function showBusinessData(uscc:string, year:number, quarter:number) {
let taskId = sysTools.getQuarterTaskIdByYearAndQuarter(uscc, year, quarter);
let taskId = taskTool.getQuarterTaskIdByYearAndQuarter(uscc, year, quarter);
let businessInfo = await findBusinessByTaskId(taskId);
if (!businessInfo) throw new BizError(ERRORENUM.系统错误请联系管理员, `孵化器->我的数据->点击了之后 没找到经营数据的数据 taskId=${taskId}`);
let businessData = extractData(FuHuaQiBusinessDataInfoConfig, businessInfo, false);
return {businessData};
......
......@@ -5,6 +5,9 @@
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as icrData from "../../../../data/fuHuaQi/instituQualify/icr";
import { changeEnumValue } from "../../../../util/verificationEnum";
import { COOPERATIONMODE } from "../../../../config/enum";
import moment = require("moment");
export async function createIcr(uscc:string, po:string, ce:string, cMode, cAchievements:string, startTimeMs:number) {
......@@ -62,9 +65,9 @@ export async function getIcrListData(uscc) {
id:info.id,
po:info.po,
ce:info.ce,
cMode:info.cMode,
cMode:changeEnumValue(COOPERATIONMODE, info.cMode),
cAchievements:info.cAchievements,
startTimeMs:info.startTimeMs,
startTimeMs:moment(info.startTimeMs).format("YYYY/MM"),
});
});
......
......@@ -85,8 +85,8 @@ export async function overview(uscc:string) {
icr,
startupteacher,
zjbeyondlayout,
isCreatePTP:fuHuaQiInfo.isCreatePTP != STATEENUM.未选,
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology != STATEENUM.未选
isCreatePTP:fuHuaQiInfo.isCreatePTP == STATEENUM. || fuHuaQiInfo.isCreatePTP == STATEENUM.,
isProfessionalTechnology:fuHuaQiInfo.isProfessionalTechnology == STATEENUM. || fuHuaQiInfo.isProfessionalTechnology == STATEENUM.
};
return data;
......
......@@ -5,6 +5,8 @@
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as startupTeacherData from "../../../../data/fuHuaQi/instituQualify/startupTeacher";
import { changeEnumValue } from "../../../../util/verificationEnum";
import { SPECIALITY, TEACHERLV } from "../../../../config/enum";
export async function createStartUpTeacher(uscc:string, teacherName:string, unit:string, duties:string, speciality, teacherLv:number, serviceEnterprises:string) {
......@@ -66,8 +68,8 @@ export async function getStartUpTeacherListData(uscc) {
teacherName:info.teacherName,
unit:info.unit,
duties:info.duties,
speciality:info.speciality,
teacherLv:info.teacherLv,
speciality:changeEnumValue(SPECIALITY, info.speciality),
teacherLv:changeEnumValue(TEACHERLV, info.teacherLv),
serviceEnterprises:info.serviceEnterprises,
});
});
......
......@@ -5,6 +5,8 @@
import * as fuhuaqiData from "../../../../data/fuHuaQi/fuhuaqi";
import { getRandomId } from "../../../../tools/system";
import * as zjBeyondLayoutData from "../../../../data/fuHuaQi/instituQualify/zjBeyondLayout";
import { changeEnumValue } from "../../../../util/verificationEnum";
import { OPERATIONMODEL, ZJBEYONDLAYOUTOPERATIONMODE } from "../../../../config/enum";
export async function createZJBeyondLayout(uscc:string, city:string, area:number, operationMode:number) {
......@@ -59,7 +61,7 @@ export async function getZJBeyondLayoutListData(uscc:string) {
id:info.id,
city:info.city,
area:info.area,
operationMode:info.operationMode
operationMode:changeEnumValue(ZJBEYONDLAYOUTOPERATIONMODE, info.operationMode)
});
});
......
......@@ -14,6 +14,7 @@ import { BizError } from "../../../util/bizError";
import * as monthData from "../../../data/fuHuaQi/monthTask/monthTable";
import { extractData } from "../../../util/piecemeal";
import * as sysTools from "../../../tools/system";
import * as taskTool from "../../../tools/taskTool";
import { findAllFuHuaQiOperationNameMap } from "../../../data/fuHuaQi/fuhuaqi";
import * as splitResultConfig from "../../../config/splitResultConfig";
import { OUTPUTTYPE } from "../../../config/enum";
......@@ -28,7 +29,7 @@ import moment = require("moment");
* @returns {isSuccess:true/false}
*/
export async function createReport(uscc:string, occupancyRate:number) {
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
/**不可以重复创建 */
......@@ -52,7 +53,7 @@ export async function createReport(uscc:string, occupancyRate:number) {
* @returns {isSuccess:true/false}
*/
export async function updateReport(uscc:string, occupancyRate:number) {
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
......@@ -79,7 +80,7 @@ export async function updateReport(uscc:string, occupancyRate:number) {
* @returns {isSuccess:true/false}
*/
export async function deleteReport(uscc:string) {
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if ( !dataBaseInfo || !dataBaseInfo.isUpdate) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表`);
......@@ -101,7 +102,7 @@ export async function deleteReport(uscc:string) {
* @returns {occupancyRate:0} occupancyRate 本月出租率
*/
export async function getMonthByUscc(uscc:string) {
const TaskId = sysTools.getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
const thisTaskMonth = moment().subtract(1, 'months').month() + 1;//数据填报月份
......
......@@ -223,6 +223,7 @@ export async function fuHuaQiScoreLog(uscc:string, year:number) {
list:distinctMap[key]
});
}
dataList.sort((a,b) => {return new Date(b.key).valueOf() - new Date(a.key).valueOf() });
return {dataList};
}
......
......@@ -22,7 +22,9 @@ import * as monthTableData from "../../../../data/fuHuaQi/monthTask/monthTable";
import * as taskData from "../../../../data/fuHuaQi/monthTask/task";
import { BizError } from "../../../../util/bizError";
import { logHandle } from "../../../../util/log";
import { getLastMonthTimeKey, getQuarterTaskId, getTaskId, getTaskIdByTime, getThisMonthMs, getTimeKey } from "../../../../tools/system";
import { getThisMonthMs } from "../../../../tools/system";
import * as taskTool from "../../../../tools/taskTool";
import * as scoreBiz from "../score";
......@@ -34,7 +36,7 @@ import * as scoreBiz from "../score";
*/
export async function fuHuaQiTaskList(uscc:string) {
/**得到这个月的任务map taskMap格式为{type:{isSubmit}} */
const TaskId = getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let taskMap = await taskData.findFuHuaQiTaskByTaskId(TaskId);
......@@ -96,8 +98,8 @@ export async function fuHuaQiTaskList(uscc:string) {
*/
export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
const TaskId = getTaskIdByTime(uscc, selectTime);
let editable = getTaskId(uscc) == TaskId;//如果是本月,就是可以编辑的
const TaskId = taskTool.getMonthTaskIdByTime(uscc, selectTime);
let editable = taskTool.getTaskId(uscc) == TaskId;//如果是本月,就是可以编辑的
let taskMap = await taskData.findFuHuaQiTaskByTaskId(TaskId);
......@@ -163,7 +165,7 @@ export async function fuHuaQiCompletedList(uscc:string, selectTime:number) {
*/
export async function fuHuaQiPastdueList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
const TaskId = getTaskIdByTime(uscc, selectTime);
const TaskId = taskTool.getMonthTaskIdByTime(uscc, selectTime);
if (selectTime >= getThisMonthMs() ) return {taskList:[]};
let taskMap = await taskData.findFuHuaQiTaskByTaskId(TaskId);
......@@ -203,7 +205,7 @@ export async function fuHuaQiPastdueList(uscc:string, selectTime:number) {
* @returns {isSuccess:true/false}
*/
export async function checkTask(uscc:string, taskType:number) {
const TaskId = getTaskId(uscc);
const TaskId = taskTool.getTaskId(uscc);
let taskInfo = await taskData.findEnterpriseByTaskIdAndType(TaskId, taskType);
/**提交限制 */
......@@ -257,7 +259,7 @@ export async function checkTask(uscc:string, taskType:number) {
* 下发任务的同时初始化月度报表数据
*/
export async function provideMonthTask() {
const TimeKey = getTimeKey();
const TimeKey = taskTool.getTimeKey();
let taskCount = await taskData.findTaskCountByKey(TimeKey);
if (taskCount) {
new BizError(ERRORENUM.系统错误, '重复创建了任务');
......@@ -274,7 +276,7 @@ export async function provideMonthTask() {
let fuHuaQiList = await findAllNotDisabledFuHuaQi();
fuHuaQiList.forEach(info => {
let { uscc } = info;
let taskId = getTaskId(uscc);
let taskId = taskTool.generateMonthTaskId(uscc);
addList.push( { key:TimeKey, type:TASKTYPEENUM.孵化器月度填报, month:MonthNumber, taskId, fuHuaQiUscc:uscc, isSubmit:false, year:YearNumber},
{ key:TimeKey, type:TASKTYPEENUM.新注册或迁入企业登记, month:MonthNumber, taskId, fuHuaQiUscc:uscc, isSubmit:false , year:YearNumber},
{ key:TimeKey, type:TASKTYPEENUM.融资企业填报, taskId, month:MonthNumber, fuHuaQiUscc:uscc, isSubmit:false, year:YearNumber});
......@@ -301,7 +303,7 @@ export async function provideMonthTask() {
*/
export async function retrieveMonthTask() {
/**获取上个月 时间key */
let TimeKey = getLastMonthTimeKey();
let TimeKey = taskTool.getLastMonthTimeKey();
let notSubmitList = await taskData.findTaskListByParam({key:TimeKey, isSubmit:false});
for (let i = 0; i < notSubmitList.length; i++) {
......
......@@ -4,7 +4,9 @@
*/
import moment = require("moment");
import { getLastQuarter, getQuarterTaskId, getQuarterTaskIdByTime, getQuarterTimeKey, getTaskId, getTaskIdByTime, getTimeKey } from "../../../../tools/system";
import { getLastQuarter} from "../../../../tools/system";
import * as taskTool from "../../../../tools/taskTool";
import * as quarterTaskData from "../../../../data/fuHuaQi/quarterTask/quarterTask";
import * as businessData from "../../../../data/fuHuaQi/quarterTask/businessData";
import { findAllNotDisabledFuHuaQi } from "../../../../data/fuHuaQi/fuhuaqi";
......@@ -26,7 +28,7 @@ function isInTime() {
export async function fuHuaQiQuarterTaskList(uscc:string) {
/**得到这个月的任务map taskMap格式为{type:{isSubmit}} */
const TaskId = getQuarterTaskId(uscc);
const TaskId = taskTool.getQuarterTaskId(uscc);
let taskMap = await quarterTaskData.findQuarterTaskMapTypeIsKeyByParam(TaskId);
......@@ -77,9 +79,9 @@ export async function fuHuaQiQuarterTaskList(uscc:string) {
*/
export async function fuHuaQiQuarterCompletedTaskList(uscc:string, selectTime:number) {
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
const TaskId = getQuarterTaskIdByTime(uscc, selectTime);
const TaskId = taskTool.getQuarterTaskIdByTime(uscc, selectTime);
let editable = getTaskId(uscc) == TaskId && isInTime();//如果是本季度,并且在数据填报月 就是可以编辑的
let editable = taskTool.getQuarterTaskId(uscc) == TaskId && isInTime();//如果是本季度,并且在数据填报月 就是可以编辑的
let taskMap = await quarterTaskData.findQuarterTaskMapTypeIsKeyByParam(TaskId);
......@@ -114,7 +116,7 @@ export async function fuHuaQiQuarterCompletedTaskList(uscc:string, selectTime:nu
dataList.forEach(info => {
let addInfo:any = {name:info.name, id:info.uscc, editable };
onceObj.enterpriseList.push(addInfo);
onceObj.list.push(addInfo);
});
result.push(onceObj);
}
......@@ -137,7 +139,7 @@ export async function fuHuaQiQuarterPastdueTaskList(uscc:string, selectTime:numb
/**得到查询月的任务map taskMap格式为{type:{isSubmit}} */
if (selectTime >= new Date().valueOf() ) return {taskList:[]};
const TaskId = getQuarterTaskIdByTime(uscc, selectTime);
const TaskId = taskTool.getQuarterTaskIdByTime(uscc, selectTime);
let taskMap = await quarterTaskData.findQuarterTaskMapTypeIsKeyByParam(TaskId);
let result = [];
......@@ -176,7 +178,7 @@ export async function fuHuaQiQuarterPastdueTaskList(uscc:string, selectTime:numb
* @returns {isSuccess:true/false}
*/
export async function checkTask(uscc:string, taskType:number) {
const TaskId = getTaskId(uscc);
const TaskId = taskTool.getQuarterTaskId(uscc);
let taskInfo = await quarterTaskData.findQuarterTaskByTaskIdAndType(TaskId, taskType);;
/**提交限制 */
......@@ -217,6 +219,7 @@ export async function checkTask(uscc:string, taskType:number) {
*/
export async function provideFuHuaQiQuarterTask() {
//不是数据填报月不下发任务
//todo 这里要放开
if (!isInTime()) return;
let {year, quarter} = getLastQuarter();
......@@ -225,12 +228,12 @@ export async function provideFuHuaQiQuarterTask() {
let addList = [];//任务列表
let businessDataList = [];//经营数据
let key = getQuarterTimeKey();
let key = taskTool.getQuarterTimeKey();
let fuHuaQiList = await findAllNotDisabledFuHuaQi();
fuHuaQiList.forEach(info => {
let { uscc } = info;
let taskId = getQuarterTaskId(uscc);
let taskId = taskTool.generateQuarterTaskId(uscc);
addList.push({
key, type:QUARTERTASKTYPEENUM.孵化器经营状况,
taskId, fuHuaQiUscc:uscc, submitTime:0, isSubmit:false,
......
......@@ -88,7 +88,7 @@ export async function getOnceinformation(uscc:string, id:string) {
export async function getInformationTitleList() {
let selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
let informationData= await selectOnceInformationByParamToParam(selectParam);
let informationData= await selectOnceInformationByParamToParam(selectParam) || {title:""};
return {title:informationData.title};
}
\ No newline at end of file
......@@ -9,7 +9,7 @@
import moment = require("moment");
import { findTaskCountByKey, findTaskListByParam } from "../data/fuHuaQi/monthTask/task";
import { getQuarterTimeKey, getTimeKey } from "../tools/system";
import * as taskTool from "../tools/taskTool";
import { provideMonthTask, retrieveMonthTask } from "./mobileFuHuaQi/fuHuaQi/task/monthTask";
import { findFuHuaQiList } from "../data/fuHuaQi/fuhuaqi";
import { sendTaskPointOut } from "./sms";
......@@ -60,7 +60,7 @@ export function initSystemTask() {
* @returns
*/
async function fuHuaQiMonthTask() {
const Key = getTimeKey();
const Key = taskTool.getTimeKey();
let count = await findTaskCountByKey(Key);
if (count != 0) return;
......@@ -76,6 +76,7 @@ async function fuHuaQiMonthTask() {
*/
async function enterpriseQuarterTask() {
/**不在填报月份不下发数据 */
//todo 要放开
let thisMonth = new Date().getMonth() + 1;
let tipsMonth = [1, 4, 7, 10];
if ( tipsMonth.indexOf(thisMonth) == -1 ) return;
......@@ -133,7 +134,7 @@ async function smsTask() {
async function fuHuaQiQuarterTask() {
const Key = getQuarterTimeKey();
const Key = taskTool.getQuarterTimeKey();
let count = await findQuarterTaskCountByParam({key:Key});
if (count != 0) return;
await provideFuHuaQiQuarterTask();
......
......@@ -3,7 +3,7 @@ export enum ERRORENUM {
未找到数据,
参数错误,
不能重复提交任务,
表单校验失败,
请完善信息,
该企业已存在,
数据无更新,
该孵化器月度填报已存在,
......@@ -66,7 +66,8 @@ export enum ERRORENUM {
请先填报数据,
该报表需要填写本季度内容后提交,
只能上传pngjpg图片,
文件上传失败
文件上传失败,
系统错误请联系管理员,
}
export enum ERRORCODEENUM {
......
......@@ -77,7 +77,7 @@ export async function findTeamDataByParams(param) {
}
export async function findTeamDataByUsccAndTime(uscc:string, year:number, quarter:number) {
return await teamModel.find({uscc, year, quarter}).count();
return await teamModel.selectOnceData({uscc, year, quarter});
}
/**
......
......@@ -69,7 +69,7 @@ export async function selectInformationByParam(param) {
}
export async function selectInformationByParamToPage(param, skipNumber:number) {
return await informationModel.find(param).skip(skipNumber).limit(10);;
return await informationModel.find(param).sort({createTimeMs:-1}).skip(skipNumber).limit(10);;
}
export async function selectInformationByParamCount(param) {
......
......@@ -30,4 +30,4 @@ export async function parseFormParam(req, res, next) {
}
})
}
\ No newline at end of file
}
import { bizlive } from "tencentcloud-sdk-nodejs";
import { ERRORCODEENUM } from "../config/errorEnum";
/**
......@@ -16,7 +17,7 @@ export function httpErrorHandler(err, req, res, next) {
res.success({success:false, msg:err.message, code:ERRORCODEENUM[err.message]});
next();
}
else {
else {
res.success({success:false, msg:err.message, code:500});
next();
}
......
......@@ -27,16 +27,20 @@ export class httpServer {
// }
});
// httpServer.use(bodyParser.json({limit:'5mb'}));
// httpServer.use(bodyParser.urlencoded({limit:'5mb', extends:true}));
httpServer.use(express.static("./static") );
httpServer.use(express.static("./files") );
const root = path.join(__dirname, "../../public");
httpServer.use(express.static(root));
httpServer.use(fallback('index.html', { root }));
httpServer.use(bodyParser.json({limit:"1000kb"}));
httpServer.use(compression());
httpServer.use(watch);
httpServer.use(bodyParser.json({limit:"5000kb"}));
routers.setRouter(httpServer);
httpServer.use(httpErrorHandler);
httpServer.listen(port);
console.log('server listen on port:'+port);
}
......
......@@ -7,7 +7,7 @@
import * as asyncHandler from 'express-async-handler';
import * as enterpriseAdminBiz from '../../biz/admin/enterprise/enterprise';
import * as financingAdminBiz from '../../biz/admin/enterprise/financing';
import { getTimeKey } from '../../tools/system';
import * as taskTool from '../../tools/taskTool';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam';
......@@ -90,7 +90,7 @@ async function outPutEnterpriseData(req, res) {
let dataList = await enterpriseAdminBiz.outPutEnterpriseData(createType, fuHuaQiUscc, industry, isNaturalPersonHolding, state, createTime, name, type);
let fileName = `在孵企业${getTimeKey()}.xlsx`;
let fileName = `在孵企业${taskTool.getTimeKey()}.xlsx`;
res.success({name:fileName, data:dataList});
}
......@@ -108,7 +108,7 @@ async function outPutFinancingData(req, res) {
let dataList = await financingAdminBiz.outPutFinancingList(monthData, fuHuaQiName, industry, fuHuaQiInvestment, type);
let name = `融资企业${getTimeKey()}.xlsx`;
let name = `融资企业${taskTool.getTimeKey()}.xlsx`;
res.success({name, data:dataList});
}
......
......@@ -7,7 +7,7 @@ import * as monthAdminBiz from '../../biz/admin/fuHuaQi/month';
import * as fuHuaQiAdminBiz from '../../biz/admin/fuHuaQi/fuHuaQi';
import * as taskBiz from '../../biz/mobileFuHuaQi/fuHuaQi/task/monthTask';
import * as provideBiz from '../../biz/admin/provide';
import { getTimeKey } from '../../tools/system';
import * as taskTool from '../../tools/taskTool';
import { checkGuanWeiHuiToken, checkInterior } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam';
......@@ -116,7 +116,7 @@ async function outPutFuHuaQiData(req, res) {
let dataList = await fuHuaQiAdminBiz.outPutFuHuaQiBaseData(lv, institutionalNature, industry, operationModel, foundingTeam, name, type);
let fileName = `孵化器列表${getTimeKey()}.xlsx`;
let fileName = `孵化器列表${taskTool.getTimeKey()}.xlsx`;
res.success({name:fileName, data:dataList});
......@@ -131,7 +131,7 @@ async function outPutMonthData(req, res) {
let dataList = await monthAdminBiz.outPutMonthTableList(state, year, month, type);
let name = `月度任务${getTimeKey()}.xlsx`;
let name = `月度任务${taskTool.getTimeKey()}.xlsx`;
res.success({name, data:dataList});
}
......
......@@ -28,7 +28,7 @@ async function showBusiness(req, res) {
let { year, quarter } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let monthInfo = fuHuaQiBusinessBiz.showBusinessData(Uscc, year, quarter);
let monthInfo = await fuHuaQiBusinessBiz.showBusinessData(Uscc, year, quarter);
res.success(monthInfo);
}
......@@ -43,7 +43,7 @@ async function addreportBusiness(req, res) {
let { form } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let monthInfo = fuHuaQiBusinessBiz.createBusiness(Uscc, form);
let monthInfo = await fuHuaQiBusinessBiz.createBusiness(Uscc, form);
res.success(monthInfo);
}
......@@ -58,7 +58,7 @@ async function updatereportBusiness(req, res) {
let { form } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let monthInfo = fuHuaQiBusinessBiz.updateBusiness(Uscc, form);
let monthInfo = await fuHuaQiBusinessBiz.updateBusiness(Uscc, form);
res.success(monthInfo);
}
......@@ -71,7 +71,7 @@ async function updatereportBusiness(req, res) {
async function deletereportBusiness(req, res) {
const Uscc = req.headers.uscc;
let monthInfo = fuHuaQiBusinessBiz.deleteBusiness(Uscc);
let monthInfo = await fuHuaQiBusinessBiz.deleteBusiness(Uscc);
res.success(monthInfo);
}
......
......@@ -21,6 +21,9 @@ export function setRouter(httpServer) {
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));
/**回显 */
httpServer.post('/fuhuaqi/enterprise/examine/find/team', checkFuHuaQiToken, asyncHandler(teamEcho));
httpServer.post('/fuhuaqi/enterprise/examine/find/business', checkFuHuaQiToken, asyncHandler(businessEcho));
}
......@@ -179,3 +182,22 @@ async function passExamine(req, res) {
let result = await toExamineBiz.fuHuaQiPass(fuHuaQiUscc, uscc, type, year, quarter);
res.success(result);
}
/**回显 */
async function teamEcho(req, res) {
let reqConf = { year:"Number", quarter:"Number", uscc:"String"};
let { year, quarter, uscc} = eccReqParamater(reqConf, req.body);
const fuHuaQiUscc = req.headers.uscc;
let result = await toExamineBiz.selectFuHuaQiReplenishEnterpriseTeamData(fuHuaQiUscc, uscc, year, quarter);
res.success(result);
}
async function businessEcho(req, res) {
let reqConf = { year:"Number", quarter:"Number", uscc:"String"};
let { year, quarter, uscc} = eccReqParamater(reqConf, req.body);
const fuHuaQiUscc = req.headers.uscc;
let result = await toExamineBiz.selectFuHuaQiReplenishEnterpriseBusinessData(fuHuaQiUscc, uscc, year, quarter);
res.success(result);
}
......@@ -146,10 +146,10 @@ async function PTPInfo(req, res) {
* @param res
*/
async function updatePTP(req, res) {
let reqConf = {isCreatePTP: 'Boolean', scalePTP:'Number', isParticipateInPTP:'Boolean', participatingFundCompany:'String' };
let reqConf = {isCreatePTP: 'Number', scalePTP:'Number', isParticipateInPTP:'Boolean', participatingFundCompany:'String' };
let { isCreatePTP, scalePTP, isParticipateInPTP, participatingFundCompany } = eccReqParamater(reqConf, req.body, ["scalePTP", "isParticipateInPTP" ,"participatingFundCompany"]);
if (isCreatePTP == STATEENUM.) eccReqParamater(reqConf, req.body, []);
if (isCreatePTP == STATEENUM.) eccReqParamater(reqConf, req.body, ["participatingFundCompany"]);
if (isParticipateInPTP) eccReqParamater(reqConf, req.body, []);
const Uscc = req.headers.uscc;
let result = await instiuQualifyBiz.updatePTPInfo(Uscc, isCreatePTP, scalePTP, isParticipateInPTP, participatingFundCompany);
......@@ -179,7 +179,7 @@ async function professionalTechnologyInfo(req, res) {
*/
async function updateProfessionalTechnology(req, res) {
let reqConf = {
isProfessionalTechnology:"Boolean", professionalTechnologyName:"String",
isProfessionalTechnology:"Number", professionalTechnologyName:"String",
professionalTechnologyCreateTime:"Number", professionalTechnologyAmount:"Number", isCooperation:"Boolean", cooperationInstitutions:"String"
};
let skipList = ["professionalTechnologyName", "professionalTechnologyCreateTime", "professionalTechnologyAmount", "isCooperation", "cooperationInstitutions"];
......
......@@ -25,7 +25,7 @@ async function addReport(req, res) {
let { occupancyRate } = eccReqParamater(reqConf, req.body, ["occupancyRate"]);
const Uscc = req.headers.uscc;
let monthInfo = monthBiz.createReport(Uscc, occupancyRate);
let monthInfo = await monthBiz.createReport(Uscc, occupancyRate);
res.success(monthInfo);
}
......@@ -38,7 +38,7 @@ async function addReport(req, res) {
async function deleteReport(req, res) {
const Uscc = req.headers.uscc;
let monthInfo = monthBiz.deleteReport(Uscc);
let monthInfo = await monthBiz.deleteReport(Uscc);
res.success(monthInfo);
}
......@@ -66,6 +66,6 @@ async function updateReport(req, res) {
let { occupancyRate } = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
let monthInfo = monthBiz.updateReport(Uscc, occupancyRate);
let monthInfo = await monthBiz.updateReport(Uscc, occupancyRate);
res.success(monthInfo);
}
\ No newline at end of file
......@@ -7,7 +7,9 @@ import { createEnterpriseToList, findEnterpriseCount } from "../data/enterprise/
import { findFinancingCount } from "../data/fuHuaQi/monthTask/financing";
import { createFuHuaQiToList, findAllFuHuaQiOperationUsccMap, findAllNotDisabledFuHuaQi, findFuHuaQiUserCount } from "../data/fuHuaQi/fuhuaqi";
import { createMonthTableToList, findMonthCount } from "../data/fuHuaQi/monthTask/monthTable";
import { getPwdMd5, getTaskId } from "./system";
import { getPwdMd5 } from "./system";
import * as taskTool from "./taskTool";
const xlsx = require('node-xlsx');
const path = require('path');
const md5 = require("md5");
......@@ -194,7 +196,7 @@ async function initEnterprise() {
break;
}
value = fuHuaQiUsccMap[item];
addDataInfo.taskId = getTaskId(value);
addDataInfo.taskId = taskTool.generateMonthTaskId(value);//生成id
}
if (i == 4) {
if (!item) {
......
/**
* 系统中使用的工具
* 包括 任务生成规则
* 包括 key生成规则
* 包括 草稿箱id生成规则
* 包括 密码加密规则
*/
import moment = require("moment");
const md5 = require("md5");
/**
* 生成任务id
* @param uscc 企业标识
* @returns
*/
export function getTaskId(uscc:string) {
return `${uscc}${getTimeKey()}`;
}
/**
* 生成季度任务id
* 自动获取上一个季度
* @param uscc 企业标识
* @returns
*/
export function getQuarterTaskId(uscc:string) {
let thisQuarter = moment().quarter();//当月填报季度
return `${uscc}${new Date().getFullYear()}0${thisQuarter}`;
}
export function getQuarterTimeKey() {
let thisQuarter = moment().quarter();//当月填报季度
return parseInt(`${new Date().getFullYear()}0${thisQuarter}`);
}
export function getQuarterTaskIdByTime(uscc:string, timeMs:number) {
return `${uscc}${new Date(timeMs).getFullYear()}0${moment(timeMs).quarter() }`;
}
export function getQuarterTaskIdByYearAndQuarter(uscc:string, year:number, quarter:number) {
return `${uscc}${year}0${quarter }`;
}
/**
* 根据时间生成任务id
* @param uscc 企业标识
* @param timeMs 时间戳
* @returns
*/
export function getTaskIdByTime(uscc:string, timeMs:number) {
return `${uscc}${new Date(timeMs).getFullYear()}${new Date(timeMs).getMonth() + 1 }`;
}
/**
* 获取当前日期的key
* @param timeMs 指定时间,如果不传
* @returns
*/
export function getTimeKey(timeMs?) {
if (timeMs) return parseInt(`${new Date(timeMs).getFullYear()}${new Date(timeMs).getMonth() + 1 }`);
return parseInt(`${new Date().getFullYear()}${new Date().getMonth() + 1 }`);
}
/**
* 获取上一个月日期的key
* @param timeMs 指定时间,如果不传
* @returns
*/
export function getLastMonthTimeKey() {
let time = moment().subtract(1, 'months').valueOf();
return parseInt(`${new Date(time).getFullYear()}${new Date(time).getMonth() + 1 }`);
}
/**
* 获取上一月的日期的key
* @returns
*/
export function getLastTimeKey() {
return moment().subtract(1,'months').format('YYYYM');
}
/**
* 生成草稿箱Id
* 生成任务草稿箱Id
* @param uscc
* @returns
*/
......@@ -97,6 +18,7 @@ export function getDraftId(uscc:string) {
}
/**
* 密码加密
* @param uscc 信用代码
......@@ -117,6 +39,7 @@ export function md5PwdStr(pwd:string) {
return md5(pwd);
}
/**
* 获取token
* @param uscc 统一信用代码
......
/**
* 孵化器 任务相关工具
* 只允许被孵化器任务相关逻辑使用
*
*/
import moment = require("moment");
const md5 = require("md5");
/**----------------------------------------------月度任务 */
/**
* 获取日期的key
* @param timeMs 指定时间, 如果不传就是当前数据
* @returns YYYYM
*/
export function getTimeKey(timeMs?) {
if (timeMs) return parseInt(`${new Date(timeMs).getFullYear()}${new Date(timeMs).getMonth() + 1 }`);
return parseInt(`${new Date().getFullYear()}${new Date().getMonth() + 1 }`);
}
/**
* 生成月度任务id
* @param uscc 企业统一信用代码
* @returns uscc+YYYYM
*/
export function generateMonthTaskId(uscc:string) {
return `${uscc}${getTimeKey()}`;
}
/**
* 获取当前时间月度任务id
* @param uscc 企业标识
* @returns uscc+YYYYM
*/
export function getTaskId(uscc:string) {
return `${uscc}${getTimeKey()}`;
}
/**
* 根据时间获取任务id
* @param uscc 企业标识
* @param timeMs 时间戳
* @returns uscc+YYYYM
*/
export function getMonthTaskIdByTime(uscc:string, timeMs:number) {
return `${uscc}${getTimeKey(timeMs) }`;
}
/**
* 获取上一个月的日期标识
* @returns YYYYM(当前月的上一个月)
*/
export function getLastMonthTimeKey() {
return moment().subtract(1,'months').format('YYYYM');
}
/** ----------------------------------------------- 季度任务 */
/**
* 生成季度任务id
* 生成时所在季度
* @param uscc 企业标识
* @returns uscc+YYYY+0+Quarter
*/
export function generateQuarterTaskId(uscc:string) {
let thisQuarter = moment().quarter();//当月填报季度
return `${uscc}${new Date().getFullYear()}0${thisQuarter}`;
}
/**
* 获取当前季度任务id
* 季度是以填报季度,也就是当前季度当前季度
* @param uscc 企业标识
* @returns uscc+YYYY+0+Quarter
*/
export function getQuarterTaskId(uscc:string) {
let thisQuarter = moment().quarter();//当月填报季度
return `${uscc}${new Date().getFullYear()}0${thisQuarter}`;
}
/**
* 获取当前季度的时间标识
* @returns YYYY+0+Quarter
*/
export function getQuarterTimeKey() {
return parseInt(`${new Date().getFullYear()}0${moment().quarter()}`);
}
/**
* 获取指定时间戳的任务id
* @param uscc 孵化器统一信用代码
* @param timeMs 时间标识
* @returns uscc+YYYY+0+Quarter
*/
export function getQuarterTaskIdByTime(uscc:string, timeMs:number) {
return `${uscc}${new Date(timeMs).getFullYear()}0${moment(timeMs).quarter() }`;
}
/**
* 根据指定年和季度生成任务id
* @param uscc 孵化器统一信用代码
* @param year 年
* @param quarter 季度
* @returns uscc+YYYY+0+Quarter
*/
export function getQuarterTaskIdByYearAndQuarter(uscc:string, year:number, quarter:number) {
return `${uscc}${year}0${quarter }`;
}
\ No newline at end of file
......@@ -25,7 +25,7 @@ export function eccEnumValue(name:string, key:string, enumConf, value:any) {
});
}
if (!eccSuccess) throw new BizError(ERRORENUM.表单校验失败, `${name} 下的 ${key} 字段值为 ${value} 不满足枚举范围`);
if (!eccSuccess) throw new BizError(ERRORENUM.请完善信息, `${name} 下的 ${key} 字段值为 ${value} 不满足枚举范围`);
}
......@@ -52,6 +52,10 @@ export function changeEnumValue(enumConf, value:any) {
if (str == "迁出孵化器_仍在张江" || str == "迁出张江_仍在浦东" || str == "迁出浦东_仍在上海") {
str = str.replace("_",",");
}
if (str == "科技金融_风险投资_" || str == "科技金融_其他_" || str == "技术专家_法律专家_") {
str = str.replace("_","(");
str = str.replace("_",")");
}
return str
}
let str = "";
......@@ -63,12 +67,16 @@ export function changeEnumValue(enumConf, value:any) {
subStr = subStr.replace("_","“");
subStr = subStr.replace("_","”");
}
if (str == "经营成本过高_场地成本或人员成本_" || str == "办公空间拓展_无合适办公空间_") {
str = str.replace("_","(");
str = str.replace("_",")");
if (subStr == "经营成本过高_场地成本或人员成本_" || subStr == "办公空间拓展_无合适办公空间_") {
subStr = subStr.replace("_","(");
subStr = subStr.replace("_",")");
}
if (str == "迁出孵化器_仍在张江" || str == "迁出张江_仍在浦东" || str == "迁出浦东_仍在上海") {
str = str.replace("_",",");
if (subStr == "迁出孵化器_仍在张江" || subStr == "迁出张江_仍在浦东" || subStr == "迁出浦东_仍在上海") {
subStr = subStr.replace("_",",");
}
if (subStr == "科技金融_风险投资_" || subStr == "科技金融_其他_" || subStr == "技术专家_法律专家_") {
subStr = subStr.replace("_","(");
subStr = subStr.replace("_",")");
}
str += subStr;
if (index == value.length-1) str+="";
......
......@@ -104,7 +104,7 @@ export function eccFormParam(name:string, keyTypeConf:object, param:object) {
break;
}
errorStr = isError && errorStr == "" ? `${key}应该是${type}型 而不是${valueType}`: errorStr;
if ( isError ) throw new BizError(ERRORENUM.表单校验失败, name, errorStr);
if ( isError ) throw new BizError(ERRORENUM.请完善信息, name, errorStr);
}
......
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