Commit 55df0f92 by lixinming

no message

parent 1893e9af
......@@ -5,7 +5,7 @@
<port>27017</port>
<w>1</w>
<!-- <dataBase>baseDB</dataBase> -->
<dataBase>zjsc0809</dataBase>
<dataBase>zjsc0819</dataBase>
<wtimeoutMS>30000</wtimeoutMS>
</mongodb>
<!-- 小程序的secret 和 appid -->
......@@ -28,4 +28,8 @@
<!-- <baidumap>KI1jEpifrEQtgr7ZJ2zAOKlUw1tme7Eb</baidumap> -->
<!-- <baidumap>QCxLry4y9BjIDRDIsGAerkcHrnrbo55I</baidumap> 夏-->
<baidumap>yvr5gS5rGO6tFfq3gERdRfzTRsguXG9T</baidumap>
<qcc>
<key>2b14555ce89346e8b96684e2e2a1c7c2</key>
<SecretKey>452AAE887A1CDCAB8C9D730BA8B8FBF0</SecretKey>
</qcc>
</config>
......@@ -9,9 +9,12 @@
import moment = require("moment");
import * as activityData from "../data/activity";
import * as demandData from "../data/fuHuaQi/demand";
import { getInformationId } from "../tools/system";
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError";
import { changeEnumManyValue } from "../util/verificationEnum";
import { VISITDEMAND } from "../config/enum";
/**
* 管理后台添加资讯
......@@ -21,9 +24,9 @@ import { BizError } from "../util/bizError";
* @param coverImg 封面图片地址
* @returns
*/
export async function addOnceInformation(desc:string, title:string ,source:string, coverImg:string, startTime:Number, endTime:Number ) {
export async function addOnceInformation(desc:string, title:string ,source:string, coverImg:string, startTime:Number, endTime:Number, target ) {
let id = getInformationId();
await activityData.createActivity(id, desc, title, source, coverImg);
await activityData.createActivity(id, desc, title, source, coverImg, startTime, endTime, target);
return {isSuccess:true};
}
......@@ -85,6 +88,9 @@ export async function selectOnceInformationDate(id:string) {
source:onceDataInfo.source,
coverImg:onceDataInfo.coverImg,
url:`/policy/${onceDataInfo.coverImg}`,
target:onceDataInfo.target,
startTime:onceDataInfo.startTime,
endTime:onceDataInfo.endTime,
};
......@@ -117,7 +123,7 @@ export async function deleteOnceInformationDate(id:string) {
* @param coverImg 图片地址
* @returns
*/
export async function updateOnceInformation(id:string, desc:string, title:string ,source:string, coverImg:string ) {
export async function updateOnceInformation(id:string, desc:string, title:string ,source:string, coverImg:string, startTime, endTime, target) {
let onceDataInfo = await activityData.selectActivityDataById(id);
if (onceDataInfo.state) throw new BizError(ERRORENUM.请先关闭该资讯, "未关闭资讯进行修改操作");
......@@ -127,6 +133,10 @@ export async function updateOnceInformation(id:string, desc:string, title:string
onceDataInfo.desc = desc;
onceDataInfo.source = source;
onceDataInfo.startTime = startTime;
onceDataInfo.endTime = endTime;
onceDataInfo.target = target;
await onceDataInfo.save();
return {isSuccess:true};
......@@ -141,9 +151,9 @@ export async function updateOnceInformation(id:string, desc:string, title:string
* @param page 分页
* @returns
*/
export async function selectInformation(selectTitle:string, createTime:number, state:number, page:number) {
export async function selectInformation(selectTitle:string, createTime:number, state:number, target, page:number) {
let selectParam = {};
let selectParam:any = {};
if (state == 2 || state == 3) {
if (state == 2) {
selectParam = {state:true, "$or":[{closeTimeMs: {"$gt":new Date().valueOf()} }, {isPermanent:true}] };
......@@ -157,6 +167,9 @@ export async function selectInformation(selectTitle:string, createTime:number, s
if (createTime) {
selectParam["$and"] = [{"createTimeMs":{"$gt":createTime }}, {"createTimeMs":{"$lt":createTime+(3600*26*1000) }}]
}
if (target) {
selectParam.target = {"$in":[target]}
}
let dataBaseList = await activityData.selectActivityByParamToPage(selectParam, (page-1)* 10);
let count = await activityData.selectActivityyParamCount(selectParam);
......@@ -176,9 +189,28 @@ export async function selectInformation(selectTitle:string, createTime:number, s
title,
createTime:moment(createTimeMs).format("YYYY-MM-DD"),
state,
stateStr
stateStr,
target:changeEnumManyValue(VISITDEMAND, info.target)
});
});
return {dataList, pageCount, count};
}
export async function selectInfoEnterprise(id:string ) {
let onceDataInfo = await activityData.selectActivityDataById(id);
if (!onceDataInfo) throw new BizError(ERRORENUM.目标数据不存在, "目标数据不存在");
let demandList = await demandData.findByParam({demand:{"$in":onceDataInfo.target}})
let dataList = [];
demandList.forEach(info => {
dataList.push({enterpriseName:info.enterpriseName, demand:info.demand});
});
return {dataList};
}
/**
* 走访管理后台
*/
import moment = require("moment");
import { RESEARCHTYPE, VISITENTERPRISETYPE } from "../../../config/enum";
import * as visitData from "../../../data/fuHuaQi/visit";
import { changeEnumValue } from "../../../util/verificationEnum";
import { BizError } from "../../../util/bizError";
import { ERRORENUM } from "../../../config/errorEnum";
export async function trackList(name, type, state, page) {
let param:any = {follow:true};
if (name) param.name = {"$regex":name};
if (type) param.enterpriseType = type;
if (state) param.state = state;
let dbList = await visitData.findPageByParam(param, (page-1)*10);
let count = visitData.findCountByParam(param);
let dataList = [];
dbList.forEach(info => {
let stateStr = "待走访";
if (info.state == 2) stateStr = "取消走访";
else if (info.state == 3) stateStr = "完成走访";
let item = {
id:info.id,
uscc:info.uscc,
name:info.enterpriseName,
trackType:changeEnumValue(VISITENTERPRISETYPE, info.enterpriseType),
trackState:stateStr,
trackTime:moment(info.visitTime).format("YYYY-MM-DD"),
completionTime:"-"//这里小程序走访完成的时候不会记录时间
};
dataList.push(item);
})
return {dataList, count}
}
export async function deleteTrack(id) {
let trackInfo = await visitData.findOne({id});
if (!trackInfo || !trackInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
await visitData.removeOneData(id);
return {isSuccess:true};
}
export async function changeTrackState(id, state) {
let trackInfo = await visitData.findOne({id});
if (!trackInfo || !trackInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
trackInfo.state = state;
return {isSuccess:true};
}
export async function trackInfo(uscc) {
let trackInfo = await visitData.findOne({uscc});
if (!trackInfo || !trackInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
let dataInfo = {
name:trackInfo.enterpriseName,
trackType:changeEnumValue(VISITENTERPRISETYPE, trackInfo.enterpriseType),
trackTime:moment(trackInfo.visitTime).format("YYYY-MM-DD"),
accompany:trackInfo.accompany,
leaderName:trackInfo.leaderName,
researchType:changeEnumValue(RESEARCHTYPE, trackInfo.researchType),
desc:trackInfo.desc
}
return {dataInfo}
}
\ No newline at end of file
......@@ -52,6 +52,7 @@ export async function fuHuaQiBaseData(uscc:string) {
liaison:fuHuaQiInfo.liaison,//联系人
personInCharge:fuHuaQiInfo.personInCharge,//负责人
personInChargePhone:fuHuaQiInfo.personInChargePhone,//负责人联系电话
liaisonPhone:fuHuaQiInfo.liaisonPhone,//负责人联系电话
introduction:fuHuaQiInfo.introduction,//孵化器简介
};
......@@ -125,7 +126,7 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
let changeList = checkChange(param, baseDataInfo);
for (let i = 0; i < changeList.length; i++) {
let key = changeList[i];
if (key == "operationName" || key == "uscc") continue;
if (key == "uscc") continue;
baseDataInfo[key] = param[key];
}
......
......@@ -4,12 +4,15 @@
import moment = require("moment");
import { ENTERPRISETEAM, FINANCINGROUNDS, FUHUASTATE } from "../../../../config/enum";
import { findEnterpriseCount, statsIntellectualPropertyData } from "../../../../data/enterprise/enterprise";
import { findEnterpriseCount, statsIntellectualPropertyData, findEnterpriseList } from "../../../../data/enterprise/enterprise";
import { statsEnterpriseFinancing, statsEnterpriseFinancingByTime } from "../../../../data/enterprise/financingInfo";
import { statsBusinessDataByParam } from "../../../../data/enterprise/quarterTask/businessdata";
import { changeEnumValue } from "../../../../util/verificationEnum";
import { statsEnterpriseTeamData } from "../../../../data/enterprise/quarterTask/team";
import { statsEnterpriseInitalTeamsType } from "../../../../data/enterprise/initialTeam";
import { findI18nRegisterListByParam } from "../../../../data/fuHuaQi/instituQualify/i18nRegister";
import { getIcrCountByParam } from "../../../../data/fuHuaQi/instituQualify/icr";
import { findFinancingList } from "../../../../data/fuHuaQi/monthTask/financing";
export async function enterpriseBaseData() {
......@@ -86,3 +89,87 @@ function getDeclarationTime() {
} else thisQuarter = thisQuarter - 1;
return {declarationYear:thisYear, declarationQuarter:thisQuarter};
}
export async function enterpriseNumberChnageInfo(year) {
let param = {
taskId:{"$regex":/^\d{18}2024\d{1,2}$/},
draftLock:true,
};
let dbList = await findEnterpriseList(param);
let map = {};
dbList.forEach(info => {
let { taskId, isCreate } = info;
const match = taskId.match(/^\d{18}(\d{4})(\d{1,2})$/);
let year = parseInt(match[1]);
let month = parseInt(match[2]);
let quarter = Math.ceil(month / 3);
if (!map[quarter]) {
map[quarter] = { quarter:`第${quarter}季度`, moveIn:0, register:0 };
}
if ( isCreate ) {
map[quarter].register += 1;
} else {
map[quarter].moveIn += 1;
}
});
let dataList = [];
for (let key in map) {
dataList.push(map[key]);
}
return {dataList}
}
export async function valueAnalysisStatis(uscc) {
let param = { uscc };
let i18dbList = await findI18nRegisterListByParam(param);
let partnersCount = i18dbList.length();
let cooperateCount = await getIcrCountByParam(param);
let dbList = await findFinancingList({fuHuaQiUscc:uscc});
let map = {};
let montyMap = {};
dbList.forEach(info => {
let {taskId, fuHuaQiInvestmentAmount} = info;
const match = taskId.match(/^\d{18}(\d{4})(\d{1,2})$/);
let month = parseInt(match[2]);
if (!map[month]) map[month] = 0;
if (!montyMap[month]) montyMap[month] = 0;
map[month] += 1;
montyMap[month] += fuHuaQiInvestmentAmount;
});
let countList = [];
let montyList = [];
for (let i = 1; i <= 12; i++) {
countList.push({
month:`${i}月`,
value:map[i]||0
});
montyList.push({
month:`${i}月`,
value:montyMap[i]||0
});
}
return {countList, montyList, partnersCount, cooperateCount};
}
......@@ -68,6 +68,8 @@ export async function fuHuaQiWarningOverView() {
}
/**
* 营收数据正常/异常
* 需求1 单价参考 hatchingGround 字段 没有备案场地不报警
......@@ -283,3 +285,6 @@ function getDeclarationTime() {
} else thisQuarter = thisQuarter - 1;
return {declarationYear:thisYear, declarationQuarter:thisQuarter};
}
......@@ -4,10 +4,11 @@
import moment = require("moment");
import { FUHUAINDUSTRY, FUHUAQILV, INSTITUTIONALNATURE } from "../../../../config/enum";
import { findFuHuaQiList } from "../../../../data/fuHuaQi/fuhuaqi";
import { findFuHuaQiList, findFuHuaQiOperationNameMapByParam } from "../../../../data/fuHuaQi/fuhuaqi";
import { changeEnumValue } from "../../../../util/verificationEnum";
import { findMonthTableListCount, statsFuHuaQiMonthDataCount } from "../../../../data/fuHuaQi/monthTask/monthTable";
import { findScoreDataByParam } from "../../../../data/fuHuaQi/score";
import * as monthTableData from "../../../../data/fuHuaQi/monthTask/monthTable";
export async function fuHuaQiBaseData() {
let fuHuaQiList = await findFuHuaQiList({});
......@@ -104,3 +105,77 @@ async function czlqs() {
});
return {czlList, monthList};
}
/**
* 孵化器看板
* 孵化器填报情况
*/
export async function taskTianBao(startMs, endMs) {
let startYear = new Date(startMs).getFullYear();
let startMonth = new Date(startMs).getMonth() + 1;
let endMonth = new Date(endMs).getMonth() + 1;
let param = {
draftLock:true,
// $or: [
// { year: startYear, month: { $gte: startMonth } },
// { year: endYear, month: { $lte: endMonth } }
// ]
year:startYear,
month:{"$gte":startMonth, "$lte":endMonth}
};
let nullParam = {
draftLock:{"$ne":true},
year:startYear,
month:{"$gte":startMonth, "$lte":endMonth}
// $or: [
// { year: startYear, month: { $gte: startMonth } },
// { year: endYear, month: { $lte: endMonth } }
// ]
};
let nameMap = await findFuHuaQiOperationNameMapByParam({});
let dbList = await monthTableData.findMonthTableList(param);
let nullCount = await monthTableData.findMonthTableListCount(nullParam);
let allOccupancyRate = 0;//整体出租率
let allCount = 0;
let submitCount = 0;//整体填报率
let dataList = [];
dbList.forEach(info => {
dataList.push({
occupancyRate:info.occupancyRate,
name:nameMap[info.fuHuaQiUscc] || "",
fuHuaQiUscc:info.fuHuaQiUscc,
});
if (info.occupancyRate) {
allOccupancyRate += info.occupancyRate;
allCount += 1;
submitCount += 1;
} else {
nullCount += 1;
}
});
dataList.sort((a, b) => {return a.occupancyRate - b.occupancyRate});
let occupancyRate = 0;
if (allOccupancyRate && allCount ){
occupancyRate = Math.ceil(allOccupancyRate/allCount);
}
let submitRate = 0;
if (submitCount && (nullCount+submitCount)) {
submitRate = Math.ceil(submitCount/(nullCount+submitCount) * 100);
}
return {
occupancyRate, submitRate, dataList:dataList.slice(0, 10)
}
}
......@@ -10,6 +10,7 @@ export async function activityList() {
let dataList = [];
dbList.forEach(info => {
let {address, title, img, startTime, endTime, id, labelList} = info;
labelList = labelList || [];
let label = [];
labelList.forEach(labelInfo => {
label.push({
......
......@@ -50,6 +50,7 @@ export async function registerEnterprise(uscc:string, param) {
}
} else throw new BizError(ERRORENUM.参数错误, "加速企业不符合1或2", param.jiaSu);
param.jiaSu = param.jiaSu == 1;
/**添加新注册企业标识 */
param.draftId = sysTools.getDraftId(uscc);//草稿箱id
param.isCreate = true;//标识此次操作是否是新注册企业并不是迁入企业
......@@ -65,6 +66,7 @@ export async function registerEnterprise(uscc:string, param) {
leaseInfo.contractEndTime = param.contractEndTime;
leaseInfo.price = param.price;//单价
leaseInfo.area = param.leasedArea;//租赁面积
leaseInfo.areaUnit = param.areaUnit;
leaseInfo.address = param.leaseAddress;
leaseInfo.rentPayment = [
{
......@@ -88,6 +90,7 @@ export async function registerEnterprise(uscc:string, param) {
}
],
address:param.leaseAddress,//地址
areaUnit : param.areaUnit
};
await leaseData.createData(addLease);
......@@ -134,12 +137,14 @@ export async function updateRegisterEnterprise(uscc:string, param) {
}
} else throw new BizError(ERRORENUM.参数错误, "加速企业不符合1或2", param.jiaSu);
/**修改字段 */
let changeList = checkChange(param, dataBaseInfo);
if ( !changeList.length ) throw new BizError(ERRORENUM.数据无更新, `${param.uscc}数据无更新`);
changeList.forEach(key => {
dataBaseInfo[key] = param[key];
});
dataBaseInfo.jiaSu = param.jiaSu == 1;
await dataBaseInfo.save();
......@@ -151,6 +156,7 @@ export async function updateRegisterEnterprise(uscc:string, param) {
leaseInfo.price = param.price;//单价
leaseInfo.area = param.leasedArea;//租赁面积
leaseInfo.address = param.leaseAddress;
leaseInfo.areaUnit = param.areaUnit;
leaseInfo.rentPayment = [
{
payStartTime:param.payStartTime,
......@@ -193,6 +199,8 @@ export async function moveInEnterprise(uscc:string, param) {
}
} else throw new BizError(ERRORENUM.参数错误, "加速企业不符合1或2", param.jiaSu);
param.jiaSu = param.jiaSu == 1;
const TaskId = taskTool.getTaskId(uscc);
if ( dataBaseInfo && dataBaseInfo.state && dataBaseInfo.state == configEnum.FUHUASTATE.迁出) {
......@@ -235,6 +243,7 @@ export async function moveInEnterprise(uscc:string, param) {
leaseInfo.price = param.price;//单价
leaseInfo.area = param.leasedArea;//租赁面积
leaseInfo.address = param.leaseAddress;
leaseInfo.areaUnit = param.areaUnit;
leaseInfo.rentPayment = [
{
payStartTime:param.payStartTime,
......@@ -250,6 +259,7 @@ export async function moveInEnterprise(uscc:string, param) {
contractEndTime:param.contractEndTime,
price:param.price,//单价
area:param.leasedArea,//租赁面积
areaUnit : param.areaUnit,
rentPayment : [
{
payStartTime:param.payStartTime,
......@@ -310,6 +320,8 @@ export async function updateMoveInEnterprise(uscc:string, param) {
changeList.forEach(key => {
dataBaseInfo[key] = param[key];
});
dataBaseInfo.jiaSu = param.jiaSu == 1;
await dataBaseInfo.save();
let leaseInfo = await leaseData.findOnceData({uscc:param.uscc});
......@@ -320,6 +332,7 @@ export async function updateMoveInEnterprise(uscc:string, param) {
leaseInfo.price = param.price;//单价
leaseInfo.area = param.leasedArea;//租赁面积
leaseInfo.address = param.leaseAddress;
leaseInfo.areaUnit = param.areaUnit;
leaseInfo.rentPayment = [
{
payStartTime:param.payStartTime,
......@@ -361,6 +374,7 @@ export async function getEnterpriseByDraftId(draftId:string) {
let rentPaymentInfo = leaseInfo.rentPayment[0];
data.payStartTime = rentPaymentInfo.payStartTime;
data.payLong = rentPaymentInfo.payLong;
data.areaUnit = leaseInfo.areaUnit || configEnum.AREAUNIT.面积;
return {data};
}
......
......@@ -31,12 +31,12 @@ export async function keynoteDynamicsHomeList(fuHuaQiUscc:string) {
let followCount = await enterpriseData.findEnterpriseCount({fuHuaQiUscc, follow:true});
return {dataList, notRedCount, followCount}
return {dataList, notRedCount, followCount};
}
export async function keynoteDynamicsList(fuHuaQiUscc:string, type:number) {
let param:any = {};
let param:any = {fuHuaQiUscc};
if (type == 1) {
param.isRead = true;
......@@ -44,7 +44,7 @@ export async function keynoteDynamicsList(fuHuaQiUscc:string, type:number) {
param.isRead = false;
}
let dbList = await dynamicsData.findByParam({fuHuaQiUscc});
let dbList = await dynamicsData.findByParam(param);
let dataList = [];
dbList.forEach(item => {
......@@ -59,11 +59,29 @@ export async function keynoteDynamicsList(fuHuaQiUscc:string, type:number) {
dataList.push(addInfo);
});
return {dataList}
}
export async function changeReadState(id) {
let dyInfo = await dynamicsData.findOne({id});
if (!dyInfo || !dyInfo.id) return {isSuccess:true}
dyInfo.isRead = true;
await dyInfo.save();
return {isSuccess:true}
}
export async function keynoteDynamicsEnterprise( uscc:string) {
let etnerpriseInfo = await enterpriseData.findEnterpriseByUscc(uscc);
if (!etnerpriseInfo || !etnerpriseInfo.uscc) {
let dataList = [];
return {dataList}
}
let dbList = await dynamicsData.findByParam({uscc});
let enterpriseName = "";
......@@ -74,20 +92,21 @@ export async function keynoteDynamicsEnterprise( uscc:string) {
changeType:changeEnumValue(ENTERPRISECHANGETYPE, item.changeType),
oldContent:item.oldContent || "",
newContent:item.content || "",
time:moment(item.createTime)
time:moment().format("YYYY-MM-DD")
};
dataList.push(addInfo);
});
return {dataList, enterpriseName}
return {dataList, enterpriseName:etnerpriseInfo.name}
}
export async function keynoteList(fuHuaQiUscc:string, str:string, labels) {
let param:any = {fuHuaQiUscc};
let param:any = {fuHuaQiUscc, follow:true};
if (str) param.name = {"$regex":str, follow:true}
if (str) param.name = {"$regex":str}
if (labels) param.labels = {$elemMatch: { labelId: labels }}
let dbList = await enterpriseData.findEnterpriseList(param);
......@@ -105,7 +124,7 @@ export async function keynoteList(fuHuaQiUscc:string, str:string, labels) {
let label = [];
if (item.labels) {
item.labels.forEach(labelItem => {
if (labelItem.state) {
if (labelItem.state && labelMap[labelItem.labelId]) {
label.push(labelMap[labelItem.labelId]);
}
})
......
......@@ -72,7 +72,8 @@ export async function fuHuaQiTaskList(uscc:string) {
if (taskMap[ValueStr] && !taskMap[ValueStr].isSubmit) {
let dataList = [];
// onceObj.month = taskMap[ValueStr].month + '月'
onceObj.month = `2季度`;
let quarterItem = Math.ceil(taskMap[ValueStr].month / 3);
onceObj.month = `${quarterItem}季度`;
switch(ValueNumber) {
case TASKTYPEENUM.孵化器月度填报:
/** 这里加限制 在月度任务中 isUpdate=true代表已经修改 isUpdate=false表示没有这个任务 详细说明看./month.ts注释*/
......
......@@ -104,7 +104,7 @@ export async function fuHuaQiYearTaskPastdueList(uscc:string, selectTime) {
let taskInfo = await findDangJianTaskListByTaskId(taskId);
let result = [];
if (taskInfo.taskId && !taskInfo.draftLock) {
if (taskInfo && taskInfo.taskId && !taskInfo.draftLock) {
result.push({
title:"党建工作",
key:YEARTASKTYPEENUM.党建任务,
......
......@@ -51,6 +51,70 @@ export async function login(uscc:string, pwd:string) {
}
export async function phoneLoginSelect(phone:string, pwd:string) {
let fuhuaqiInfoList = await fuhuaqiData.findFuHuaQiList({liaisonPhone:phone});
if(!fuhuaqiInfoList) throw new BizError(ERRORENUM.手机号不存在);
let checkPwdState = false;
let dataList = [];
for (let i = 0; i < fuhuaqiInfoList.length; i++) {
let info = fuhuaqiInfoList[i];
let checkPwd = sysTools.getPwdMd5(info.uscc, pwd);
if (info.pwd == checkPwd) checkPwdState = true;
dataList.push({
uscc:info.uscc,
name:info.name
});
}
if (!checkPwdState) throw new BizError(ERRORENUM.密码错误);
return {dataList};
}
export async function phoneLogin(uscc:string, pwd:string, phone:string) {
let fuhuaqiInfoList = await fuhuaqiData.findFuHuaQiList({liaisonPhone:phone});
if(!fuhuaqiInfoList) throw new BizError(ERRORENUM.手机号不存在);
let checkPwdState = false;
let dataList = [];
for (let i = 0; i < fuhuaqiInfoList.length; i++) {
let info = fuhuaqiInfoList[i];
let checkPwd = sysTools.getPwdMd5(info.uscc, pwd);
if (info.pwd == checkPwd) checkPwdState = true;
dataList.push({
uscc:info.uscc,
name:info.name
});
}
if (!checkPwdState) throw new BizError(ERRORENUM.密码错误);
let fuhuaqiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
const Token = sysTools.getToken(uscc);
let fuhuaqiUserInfo = {
uscc: fuhuaqiInfo.uscc,
// name: fuhuaqiInfo.name,
firstLogin : !fuhuaqiInfo.firstLoginIsChangePwd,
token:Token
};
fuhuaqiInfo.token = Token;
fuhuaqiInfo.tokenMs = new Date().valueOf();
await fuhuaqiInfo.save();
return fuhuaqiUserInfo;
}
/**
* 首次登录修改密码
* 小程序端
......
......@@ -4,7 +4,7 @@
import moment = require("moment");
import { findEnterpriseByUscc, findEnterpriseCount, findEnterpriseList } from "../../data/enterprise/enterprise";
import { CONTRACTTYPE, FUHUASTATE, RENTTYPE, ZLSTATETYPE, ZLSTATISTYPE } from "../../config/enum";
import { AREAUNIT, CONTRACTTYPE, FUHUASTATE, RENTTYPE, ZLSTATETYPE, ZLSTATISTYPE } from "../../config/enum";
import { eccFormParam } from "../../util/verificationParam";
import * as eccFormParamConfig from "../../config/eccParam/fuHuaQi";
import * as leaseData from "../../data/lease";
......@@ -21,11 +21,13 @@ export async function zlHomeStatis(fhqUscc:string) {
enterpriseList.forEach(info => {
let {leaseInfo} = info;
if (!leaseInfo) {
htjjdq += 1;
if (!leaseInfo.contractStartTime || !leaseInfo.rentStartTime) {
if (!leaseInfo.contractStartTime) {
htdqwq += 1;
zjjjdq += 1;
}
if (!leaseInfo.rentStartTime) {
zjdqwq += 1;
}
} else {
if ((leaseInfo.contractEndTime - Now) < 0) {
htdqwq += 1;
......@@ -56,15 +58,52 @@ export async function zlHomeStatis(fhqUscc:string) {
return {dataInfo};
}
export async function zlHomeList(fhqUscc:string) {
let enterpriseList = await findEnterpriseList({fuHuaQiUscc:fhqUscc});
export async function zlHomeList(fhqUscc:string, enterpriseName, htstats, stats, zjstats) {
let now = new Date().valueOf();
let param:any = {fuHuaQiUscc:fhqUscc};
if (enterpriseName) param.name = {"$regex":enterpriseName};
if (htstats) {
if (htstats == CONTRACTTYPE.签约企业 ) {
param["leaseInfo.contractStartTime"] = {"$lt":now};
param["leaseInfo.contractEndTime"] = {"$gt":now};
} else {
param["$or"] = [
{ "leaseInfo.contractStartTime":null},
{ "leaseInfo.contractStartTime":{"$gt":now} },
{ "leaseInfo.contractEndTime":{"$lt":now} }
];
param["$or"].push();
}
}
if (zjstats) {
if (zjstats == RENTTYPE.暂未到期 ) {
param["leaseInfo.rentStartTime"] = {"$lt":now};
param["leaseInfo.rentEndTime"] = {"$gt":now+(30*3600*24*1000)};
} else if (zjstats == RENTTYPE.即将到期){
param["leaseInfo.rentStartTime"] = {"$lt":now};
param["leaseInfo.rentEndTime"] = {"$lt":now+(30*3600*24*1000), "$gt":now};
} else {
param["$or"] = [
{ "leaseInfo":null},
{ "leaseInfo.rentStartTime":{"$gt":now} },
{ "leaseInfo.rentStartTime":{"$lt":now} }
];
param["$or"].push();
}
}
if (stats) {
if (stats == FUHUASTATE.迁出 ) param.state = FUHUASTATE.迁出;
else param.state = {"$ne":FUHUASTATE.迁出};
}
let enterpriseList = await findEnterpriseList(param);
const Now = new Date().valueOf();
let dataList = [];
enterpriseList.forEach(info => {
let {leaseInfo} = info;
let htstats = "";//合同状态
if (!leaseInfo) {
if (!leaseInfo || !leaseInfo.contractStartTime) {
htstats = "到期未签"
} else {
if ((leaseInfo.contractEndTime - Now) < 0) {
......@@ -76,16 +115,19 @@ export async function zlHomeList(fhqUscc:string) {
let zjstats = "";//租金状态
let syzlsj = 0;//剩余租赁时间
if (!leaseInfo) {
zjstats = "到期未"
if (!leaseInfo || !leaseInfo.rentEndTime) {
zjstats = "到期未"
} else {
if ((leaseInfo.rentEndTime - Now) < 0) {
zjstats = "到期未签";
} else if ( (leaseInfo.rentEndTime - Now) > 0 && (leaseInfo.rentEndTime - Now) < (3600 * 24 * 1000 * 30)) {
if (leaseInfo.rentEndTime < Now) {
zjstats = "到期未缴";
}
else if ( leaseInfo.rentStartTime < Now && (leaseInfo.rentEndTime - Now) < (3600 * 24 * 1000 * 30)) {
zjstats = "即将到期";
}else {
} else {
zjstats = "暂未到期";
}
syzlsj = moment(leaseInfo.rentEndTime).diff(Now, 'd');
syzlsj = syzlsj <= 0 ? 0 : syzlsj;
}
......@@ -114,8 +156,9 @@ export async function zlHomeSelectList(fhqUscc:string, type:number) {
let {leaseInfo} = info;
switch (type) {
case 1:
if (!leaseInfo) {
if (!dataMap["到期未签"]) dataMap["到期未签"] = 0;
if (!dataMap["签约企业"]) dataMap["签约企业"] = 0;
if (!leaseInfo || !leaseInfo.contractStartTime) {
dataMap["到期未签"] += 1;
} else {
let keyStr = "";
......@@ -124,22 +167,25 @@ export async function zlHomeSelectList(fhqUscc:string, type:number) {
} else {
keyStr = "签约企业";
}
if (!dataMap[keyStr]) dataMap[keyStr] = 0;
dataMap[keyStr] += 1;
}
break;
case 2:
if (!leaseInfo) {
if (!dataMap["到期未缴"]) dataMap["到期未缴"] = 0;
if (!dataMap["暂未到期"]) dataMap["暂未到期"] = 0;
if (!dataMap["即将到期"]) dataMap["即将到期"] = 0;
if (!leaseInfo || !leaseInfo.rentStartTime) {
dataMap["到期未缴"] += 1;
} else {
let zjStr = "";
if ((leaseInfo.rentEndTime - Now) < 0) {
zjStr = "到期未签";
} else if ( (leaseInfo.rentEndTime - Now) > 0 && (leaseInfo.rentEndTime - Now) < (3600 * 24 * 1000 * 30)) {
zjStr = "即将到期";
}else {
if (leaseInfo.rentEndTime < Now) {
zjStr = "到期未缴";
} else if ( leaseInfo.rentStartTime < Now && (leaseInfo.rentEndTime - Now) < (3600 * 24 * 1000 * 30)) {
zjStr = "即将到期";
} else {
zjStr = "暂未到期";
}
if (!dataMap[zjStr]) dataMap[zjStr] = 0;
dataMap[zjStr] += 1;
......@@ -197,6 +243,7 @@ export async function zlInfo(uscc:string) {
dataInfo.area = 0;
dataInfo.rentPayment = [];
dataInfo.address = "";
dataInfo.areaUnit = AREAUNIT.面积;
} else {
dataInfo.contractStartTime = leaseInfo.contractStartTime;
dataInfo.contractEndTime = leaseInfo.contractEndTime;
......@@ -206,6 +253,7 @@ export async function zlInfo(uscc:string) {
dataInfo.area = leaseInfo.area;
dataInfo.rentPayment = leaseInfo.rentPayment;
dataInfo.address = leaseInfo.address;
dataInfo.areaUnit = leaseInfo.areaUnit || AREAUNIT.面积;
}
return {dataInfo};
......@@ -213,7 +261,7 @@ export async function zlInfo(uscc:string) {
export async function zlUpdate(uscc:string, param) {
eccFormParam("更新租赁信息", eccFormParamConfig.ZlUpdateConfig, param);
if (param.rentPayment) {5
if (param.rentPayment) {
param.rentPayment.forEach((info, index) => {
eccFormParam("更新租赁信息 租金缴纳情况"+index, eccFormParamConfig.ZlRentPaymentUpdateConfig, info);
})
......@@ -232,6 +280,18 @@ export async function zlUpdate(uscc:string, param) {
await leaseInfo.save();
}
let rentStartTime = new Date( param.rentPayment[0].payStartTime );
let rentEndTime = moment( param.rentPayment[param.rentPayment.length -1].payStartTime).add( param.rentPayment[param.rentPayment.length -1].payLong, 'M');
enterpriseInfo.leaseInfo = {
contractStartTime:param.contractStartTime,//合同开始时间
contractEndTime:param.contractEndTime,//合同结束时间
rentStartTime,//租金开始时间
rentEndTime,//租金结束时间
};
await enterpriseInfo.save();
return {isSuccess:true};
}
......@@ -21,9 +21,9 @@ export async function visitStatisBase(fuHuaQiUscc:string) {
let lastYearMs = moment().subtract(1,'y').startOf("y").valueOf();
let dangQianCount = await visitData.findCountByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc, state:VISITSTATE.走访安排});
let liShiCount = await visitData.findCountByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc, state:{"$ne":VISITSTATE.走访安排}});
let liShiCount = await visitData.findCountByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc, state:VISITSTATE.完成});
let lastYearCount = await visitData.findCountByParam({ visitTime:{"$gt":lastYearMs, "$lt":startMs}, fuHuaQiUscc });
let lastYearCount = await visitData.findCountByParam({ visitTime:{"$gt":lastYearMs, "$lt":startMs}, state:VISITSTATE.完成, fuHuaQiUscc });
let thisYearCount = dangQianCount + liShiCount;
let yearToYear = 0;
......@@ -44,42 +44,63 @@ export async function visitStatisBase(fuHuaQiUscc:string) {
export async function visitStatisTypeList(fuHuaQiUscc) {
let startMs = moment().startOf("y").valueOf();
let dbList = await visitData.findByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc});
// let dbList = await visitData.findByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc});
let dbList = await demandData.findByParam({createTime:{"$gt":startMs}, fuHuaQiUscc});
let typeMap = {};
dbList.forEach(item => {
let {enterpriseType, demand, uscc, enterpriseName, id} = item;
if (!typeMap[enterpriseType]) {
typeMap[enterpriseType] = {count:0, dataList:[]};
}
let {enterpriseType, demand, uscc, enterpriseName} = item;
let demandList = changeEnumManyValue(VISITDEMAND, demand);
typeMap[enterpriseType].count += 1;
typeMap[enterpriseType].dataList.push({
enterpriseName,
id,
demand:demandList
});
if (!typeMap[enterpriseName]) typeMap[enterpriseName] = {enterpriseName, uscc, demand:[] };
demandList.forEach(itemKey => {
if (typeMap[enterpriseName].demand.indexOf(itemKey) <= -1) {
typeMap[enterpriseName].demand.push(itemKey);
}
})
});
let dataList = [];
for (let key in typeMap) {
dataList.push({
key:changeEnumValue(VISITENTERPRISETYPE, parseInt(key)),
count:typeMap[key].count,
list:typeMap[key].dataList
let demanList = Object.values(typeMap);
let now = new Date().valueOf();
let selectzcparam = {
"$or":[
{"firstIncubationTime":{"$gt":now-(24*3600*90*1000) }},
{"timeOfImmigration":{"$gt":now-(24*3600*90*1000) }}
]
};
let zcdbList = await enterpriseData.findEnterpriseList(selectzcparam);
let zcList = [];
zcdbList.forEach(info => {
let createTime = "";
if (info.firstIncubationTime) createTime = moment(info.firstIncubationTime).format("YYYY-MM-DD");
if (info.timeOfImmigration) createTime = moment(info.timeOfImmigration).format("YYYY-MM-DD");
zcList.push({
uscc:info.uscc,
enterpriseName:info.name,
createTime
});
}
});
let dataList = [
{key:changeEnumValue(VISITENTERPRISETYPE, VISITENTERPRISETYPE.主动申报需求企业), count:demanList.length, list:demanList },
{key:changeEnumValue(VISITENTERPRISETYPE, VISITENTERPRISETYPE.新入驻企业), count:zcList.length, list:zcList },
{key:changeEnumValue(VISITENTERPRISETYPE, VISITENTERPRISETYPE.临近毕业企业), count:0, list:[] },
{key:changeEnumValue(VISITENTERPRISETYPE, VISITENTERPRISETYPE.数据异常企业), count:0, list:[] },
];
return {dataList};
}
export async function visitAlendarStatis(fuHuaQiUscc:string) {
let startMs = moment().startOf("m").valueOf();
let startMs = moment().startOf("month").valueOf();
let shengYuCount = await visitData.findCountByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc, state:VISITSTATE.走访安排});
let leiJiCount = await visitData.findCountByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc, state:{"$ne":VISITSTATE.走访安排}});
let leiJiCount = await visitData.findCountByParam({ visitTime:{"$gt":startMs}, fuHuaQiUscc, state:VISITSTATE.完成});
let thisMonthCount = shengYuCount + leiJiCount;
let rate = 0;
......@@ -161,7 +182,7 @@ export async function visitAdd(fuHuaQiUscc:string, param) {
desc:param.desc,
state:VISITSTATE.走访安排,//1=初始状态 2=取消 3=完成 VISITSTATE
createTime:new Date().valueOf(),
enterpriseType:VISITENTERPRISETYPE.临近毕业企业//VISITENTERPRISETYPE
enterpriseType:VISITENTERPRISETYPE.主动申报需求企业//VISITENTERPRISETYPE
};
await visitData.createDataByParam(addInfo);
......@@ -179,7 +200,7 @@ export async function visitInfo(id:string) {
visitTime:visitInfo.visitTime,
accompany:visitInfo.accompany,
leaderName:visitInfo.leaderName,
researchType:changeEnumValue( RESEARCHTYPE, visitInfo.researchTyp),
researchType:changeEnumValue( RESEARCHTYPE, visitInfo.researchType),
desc:visitInfo.desc,
createTime:new Date().valueOf(),
enterpriseType:changeEnumValue(VISITENTERPRISETYPE, visitInfo.enterpriseType)
......@@ -250,10 +271,10 @@ export async function visitLogStatis(fuHuaQiUscc:string, year:number) {
let endMs = moment(`${year}-01-01 00:00:00`).add(1,'y').valueOf();
let lastStartMs = moment(`${year}-01-01 00:00:00`).subtract(1, 'y').valueOf();
let thisYearParma = { visitTime:{"$gt":startMs, "$lt":endMs}, fuHuaQiUscc, state:{"$gt":VISITSTATE.走访安排}};
let thisYearParma = { visitTime:{"$gt":startMs, "$lt":endMs}, fuHuaQiUscc, state:VISITSTATE.完成};
let dangQianCount = await visitData.findCountByParam(thisYearParma);
let lastYearParma = { visitTime:{"$gt":lastStartMs, "$lt":startMs}, fuHuaQiUscc, state:{"$gt":VISITSTATE.走访安排}};
let lastYearParma = { visitTime:{"$gt":lastStartMs, "$lt":startMs}, fuHuaQiUscc, state:VISITSTATE.完成};
let liShiCount = await visitData.findCountByParam(lastYearParma);
let rate = 0;
......@@ -282,7 +303,7 @@ export async function visitLogList(fuHuaQiUscc:string, year:number) {
monthMap[monthNumber] = {count:0, dataList:[]};
}
monthMap[monthNumber].count += 1;
if (state == VISITSTATE.完成) monthMap[monthNumber].count += 1;
monthMap[monthNumber].dataList.push({
enterpriseName,
id,
......@@ -340,20 +361,13 @@ export async function visitDemandAdd(fuHuaQiUscc, uscc, demand, demandDesc) {
throw new BizError(ERRORENUM.该企业不存在)
}
//todo 这里逻辑还没给
// 主动申报需求企业 = 1,
// 新入驻企业,
// 临近毕业企业,
// 数据异常企业
let addInfo = {
id:getRandomId("qyxq"),
fuHuaQiUscc,
uscc,//企业uscc
enterpriseName:enterprsieInfo.name,
createTime:new Date().valueOf(),
enterpriseType:VISITENTERPRISETYPE.数据异常企业,//VISITENTERPRISETYPE
enterpriseType:VISITENTERPRISETYPE.主动申报需求企业,//VISITENTERPRISETYPE
demand,//企业需求
demandDesc
}
......
......@@ -39,3 +39,26 @@ export const GuanWeiHuiChnageFuHuaQiBaseConfig = {
personInCharge:{type:"String"},// {key:"负责人"},
introduction:{type:"String", notMustHave:true},//孵化器简介
};
export const JiaSuEnterpriseConfig = {
name:{type:"String"},
uscc:{type:"String"},
mainBusiness:{type:"String"},
logonTime:{type:"Number"},
firstIncubationTime:{type:"Number"},
industry:{type:"[Number]"},
jiaSuZiZhi:{type:"[Number]"},
isNaturalPersonHolding:{type:"Boolean"},
leaseAddress:{type:"String"},
leasedArea:{type:"Number"},
}
export const ZuLinEnterpriseConfig = {
contractLong:{type:"Number"},
contractStartTime:{type:"Number"},
contractEndTime:{type:"Number"},
price:{type:"Number"},
area:{type:"Number"},
areaUnit:{type:"Number"},
address:{type:"String"},
}
\ No newline at end of file
......@@ -109,6 +109,7 @@ export const EnterpriseParamFormConfig = {
contractEndTime:{type:"Number"},//合同结束时间
payStartTime:{type:"Number"},//租金缴纳时间
payLong:{type:"Number"},//缴纳时长
areaUnit:{type:"Number"},
}
......@@ -141,6 +142,7 @@ export const EnterpriseInPutParamFormConfig = {
contractEndTime:{type:"Number"},//合同结束时间
payStartTime:{type:"Number"},//租金缴纳时间
payLong:{type:"Number"},//缴纳时长
areaUnit:{type:"Number"},
}
......@@ -170,6 +172,7 @@ export const RegisterEnterpriseParamConfig = {
contractEndTime:{type:"Number"},//合同结束时间
payStartTime:{type:"Number"},//租金缴纳时间
payLong:{type:"Number"},//缴纳时长
areaUnit:{type:"Number"},
};
......@@ -201,6 +204,7 @@ export const MoveInEnterpriseParamConfig = {
contractEndTime:{type:"Number"},//合同结束时间
payStartTime:{type:"Number"},//租金缴纳时间
payLong:{type:"Number"},//缴纳时长
areaUnit:{type:"Number"},
};
......@@ -221,6 +225,7 @@ export const FinancingParamUpdateConfig = {
fuHuaQiInvestmentAmount:{type:"Number", notMustHave:true},//孵化器投资金额(万元)
fuHuaQiInvestmentStyle:{type:"Number", notMustHave:true},//孵化器投资方式
financingRounds:{type:"Number"},//融资轮次
valuation:{type:"String"}
};
......@@ -240,6 +245,7 @@ export const FinancingParamUpdateConfig = {
fuHuaQiInvestmentAmount:{type:"Number", notMustHave:true },//孵化器投资金额(万元)
fuHuaQiInvestmentStyle:{type:"Number", notMustHave:true },//孵化器投资方式
financingRounds:{type:"Number"},//融资轮次
valuation:{type:"String"}
};
......@@ -301,6 +307,7 @@ export const ReplenishMyEnterpriseInPutDataConfig = {
contractEndTime:{type:"Number"},//合同结束时间
payStartTime:{type:"Number"},//租金缴纳时间
payLong:{type:"Number"},//缴纳时长
areaUnit:{type:"Number"},
}
......@@ -321,6 +328,7 @@ export const ReplenishMyEnterpriseCreateDataConfig = {
operatingAddress:{type:"Address"},//经营地址
leasedArea:{type:"Number"},//租赁面积(平方米)
jiaSu:{type:"Number"},//加速企业 是=1 否 =2
jiaSuZiZhi:{type:"[Number]", notMustHave:true},//加速资质
jiaSuZiZhiDesc:{type:"String", notMustHave:true},//加速资质其他
......@@ -330,6 +338,7 @@ export const ReplenishMyEnterpriseCreateDataConfig = {
contractEndTime:{type:"Number"},//合同结束时间
payStartTime:{type:"Number"},//租金缴纳时间
payLong:{type:"Number"},//缴纳时长
areaUnit:{type:"Number"},
}
......@@ -420,6 +429,7 @@ export const ZlUpdateConfig = {
area:{type:"Number"},//租赁面积
rentPayment:{type:"[Object]"},//租金缴纳情况
address:{type:"String"},//地址
areaUnit:{type:"Number"}
}
export const ZlRentPaymentUpdateConfig = {
......@@ -436,3 +446,27 @@ export const AddVisitConfig = {
researchType:{type:"Number"}, //调研类型 RESEARCHTYPE
desc:{type:"String"},//备注
}
/**
* 场景: 企业修改资质信息
* 备注: 所有参数为必填
*/
export const MyEnterpriseQualificationUpdateConfig = {
isHighTech:{type:"Boolean"},
highTechMs:{type:"Number"},//高新技术
isZjtx:{type:"Boolean"},
zjtxMs:{type:"Number"},//专精特新
isXjrpy:{type:"Boolean"},
xjrpyMs:{type:"Number"},//小巨人培育
isXjr:{type:"Boolean"},
xjrMs:{type:"Number"},//小巨人
beOnTheMarket:{type:"[Number]", notMustHave:true},//上市情况
isBeOnTheMarket:{type:"Boolean"}
}
export const MyEnterpriseIntellectualPropertyUpdateConfig = {
alienPatent:{type:"Number"},
classIPatent:{type:"Number"},
secondClassPatent:{type:"Number"},
}
......@@ -565,7 +565,7 @@ export enum RENTTYPE {
export enum ZLSTATETYPE {
在孵企业 = 1,
迁出
迁出 = 4
}
......@@ -587,7 +587,11 @@ export enum VISITDEMAND {
资金,
政策,
市场,
场地
基础服务,
人才服务,
知识产权,
法律,
其他
}
export enum RESEARCHTYPE {
......@@ -600,11 +604,13 @@ export enum ACTIVITYLABEL {
人才服务
}
export enum ENTERPRISECHANGETYPE {
注册地址变更 = 1,
高新技术认定,
企业认定,
股东
股东,
其他
}
......@@ -618,3 +624,17 @@ export enum JIASUZIZHI {
连续两年营收1000万以上,
其他
}
export enum AREAUNIT {
面积 = 1,
工位
}
export enum ZHONGDIANQIYE {
上市企业 = 1,
融资企业,
高新技术企业,
小巨人企业,
专精特新企业
}
......@@ -85,7 +85,8 @@ export enum ERRORENUM {
填报周期不能小于数据周期,
党员年龄分布总和大于总数,
不可选择未来时间,
智能体调用出错请联系管理员
智能体调用出错请联系管理员,
手机号不存在
}
export enum ERRORCODEENUM {
......
......@@ -16,7 +16,7 @@ export async function initConfig() {
if (!configInfo || !configInfo.config) throw new BizError('xml中无配置');
else {
let {port, mongodb, secret, getOpenIdUrl, appId, sms, baidumap } = configInfo.config;
let {port, mongodb, secret, getOpenIdUrl, appId, sms, baidumap, qcc } = configInfo.config;
systemConfig.port = parseInt(port[0]);
systemConfig.secret = secret[0];
......@@ -40,6 +40,9 @@ export async function initConfig() {
systemConfig.ak = baidumap[0];
systemConfig.qccKey = qcc[0].key[0];
systemConfig.qccSecretKey = qcc[0].SecretKey[0];
}
console.log("config init success");
......
......@@ -497,3 +497,16 @@ export const DangJianZaiFuConfig = {
}
export const JiasuEnterpriseListConfig = {
name:{key:"企业名称"},
uscc:{key:"统一信用代码 也是登录账号 不可修改"},
industry:{key:"行业领域[] 最多 选择三个"},
mainBusiness:{key:"主营业务"},//主营业务
logonTime:{key:"注册时间", changeDate:true},
firstIncubationTime:{key:"首次入孵时间", changeDate:true},
isNaturalPersonHolding:{key:"是否自然人控股"},
jiaSuZiZhi:{key:"加速资质"},
leaseAddress:{key:"租赁注册地址", iJsAdd:true},
leasedArea:{key:"面积"},
};
\ No newline at end of file
......@@ -20,4 +20,7 @@ export class ServerConfig {
smsModelInitPointOut:number;
/**百度地图api */
ak:string
/**企查查 */
qccKey:string;
qccSecretKey:string;
}
\ No newline at end of file
......@@ -81,8 +81,8 @@ export async function removeOneData(id:string) {
* @param source
* @param imgs
*/
export async function createActivity(id:string, desc:string, title:string ,source:string, coverImg:string ) {
let addInfo = {id, desc, title, source, coverImg, createTimeMs:new Date().valueOf() };
export async function createActivity(id:string, desc:string, title, source, coverImg, startTime, endTime, target) {
let addInfo = {id, desc, title, source, coverImg, startTime, endTime, target, createTimeMs:new Date().valueOf() };
await activityModel.create(addInfo);
}
......
/**
* 失信核查
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
const enterprisedishonestPersonSchema = new Schema({
id:String,
uscc:String,
fuHuaQiUscc:String,
enterpriseName:String,
anno:String,
executegov:String,
executestatus:String,
executeno:String,
actionRemark:String,
amount:String,
});
var enterprisedishonestPersonModel;
export function initModel(){
enterprisedishonestPersonModel = baseDB.model('enterprisedishonestperson', enterprisedishonestPersonSchema);
enterprisedishonestPersonModel.selectOnceData = async function (paramater:object) {
let selectInfo = await enterprisedishonestPersonModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function createOnce(param) {
return await enterprisedishonestPersonModel.create(param);
}
export async function findOnce(param) {
return await enterprisedishonestPersonModel.selectOnceData(param);
}
export async function findList(param) {
return await enterprisedishonestPersonModel.find(param);
}
export async function removeMany(param) {
return await enterprisedishonestPersonModel.deleteMany(param);
}
export async function addMany(params) {
await enterprisedishonestPersonModel.insertMany(params);
}
\ No newline at end of file
......@@ -55,6 +55,26 @@ const leaseScheme = new Schema({
rentEndTime:Number,//租金结束时间
})
//科创分
const kcfScheme = new Schema({
industry:String,//
subIndustry:String,//
industryRanking:String,//
score:String,//
})
/**股权结构 */
const guQuanJieGouItemScheme = new Schema({
name:String,//名称
finalBenefitPercent:String,//最终受益股份
stockPercent:String,//持股比例
stockType:String,//投资人类型
realCapi:String,//实缴出资额
paidUpCapitalUnit:String,//实缴出资额单位
subscribedCapital:String,//认缴出资额数额
subscribedCapitalUnit:String//认缴出资额单位
})
const enterpriseSchema = new Schema({
name: {type:String, index: true},//企业名称
taskId:{type:String, index:true},//绑定的任务id
......@@ -133,6 +153,7 @@ const enterpriseSchema = new Schema({
dengJiJiGuan:String,//登记机关
naShuiRenZiZhi:Number,//纳税人资质
zuiXinNianBaoNianFen:Number,//最新年报年份
jingYingFanWei:String,//经营范围
//经纬度
lng:String,//经度
lat:String,//纬度
......@@ -145,6 +166,13 @@ const enterpriseSchema = new Schema({
jiaSuZiZhi:{type:[Number], default:[]},//加速资质
jiaSuZiZhiDesc:String,//选其他时
leaseAddress:String,//租赁地址
guQuanJieGou:{type:[guQuanJieGouItemScheme], default:[]},//股权结构
kcf:{type:kcfScheme, default:{}},//科创分
keynote:{type:[Number], default:[]},//ZHONGDIANQIYE
// gbej:{type:String, default:""},//国标二级行业
});
var enterpriseModel;
......
/**
* 风险提示
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
import { BUSINESSDATATYPE } from '../../config/enum';
const enterpriseriskSchema = new Schema({
id:String,
uscc:String,
fuHuaQiUscc:String,
enterpriseName:String,
title:String,
description:String,
passage:String,
riskType:String,
typeCode:Number,
});
var enterpriseriskModel;
export function initModel(){
enterpriseriskModel = baseDB.model('enterpriserisk', enterpriseriskSchema);
enterpriseriskModel.selectOnceData = async function (paramater:object) {
let selectInfo = await enterpriseriskModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function createOnce(param) {
return await enterpriseriskModel.create(param);
}
export async function findOnce(param) {
return await enterpriseriskModel.selectOnceData(param);
}
export async function findList(param) {
return await enterpriseriskModel.find(param);
}
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
const illegalitySchema = new Schema({
id:String,
uscc:String,
fuHuaQiUscc:String,
enterpriseName:String,
type:String,
addReason:String,
addOffice:String,
removeReason:String,
removeOffice:String,
});
var illegalityModel;
export function initModel(){
illegalityModel = baseDB.model('illegality', illegalitySchema);
illegalityModel.selectOnceData = async function (paramater:object) {
let selectInfo = await illegalityModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function createOnce(param) {
return await illegalityModel.create(param);
}
export async function findOnce(param) {
return await illegalityModel.selectOnceData(param);
}
export async function findList(param) {
return await illegalityModel.find(param);
}
export async function removeMany(param) {
return await illegalityModel.deleteMany(param);
}
export async function addMany(params) {
await illegalityModel.insertMany(params);
}
\ No newline at end of file
/**
* 资质证书
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
const qualificationsSchema = new Schema({
id:String,
uscc:String,
fuHuaQiUscc:String,
enterpriseName:String,
name:String,//产品名称或者资质类别及等级
type:String,//证书类型
startDate:Number,//证书生效时间
endDate:Number,//证书截止日期
no:String,//证书编号
typeDesc:String,//证书类型
institutionList:String,//发证机构
status:String,//证书状态
});
var qualificationsModel;
export function initModel(){
qualificationsModel = baseDB.model('qualifications', qualificationsSchema);
qualificationsModel.selectOnceData = async function (paramater:object) {
let selectInfo = await qualificationsModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
export async function createOnce(param) {
return await qualificationsModel.create(param);
}
export async function findOnce(param) {
return await qualificationsModel.selectOnceData(param);
}
export async function findList(param) {
return await qualificationsModel.find(param);
}
export async function removeMany(param) {
return await qualificationsModel.deleteMany(param);
}
export async function addMany(params) {
await qualificationsModel.insertMany(params);
}
\ No newline at end of file
/**
* 企业需求
*/
/**
* 走访
*/
import {Schema} from 'mongoose';
import { baseDB } from '../../db/mongo/dbInit';
......@@ -71,3 +65,7 @@ export async function createDataByParam(param) {
export async function removeOneData(id:string) {
return await demandModel.deleteOne({id});
}
export async function findEnterpriseListToPage(selectParam, skipCount) {
return await demandModel.find(selectParam).skip(skipCount).limit(10);
}
\ No newline at end of file
......@@ -28,6 +28,7 @@ const financingSchema = new Schema({
/**2.0新加的 */
logonAddress:{type:[String], default:[]},//注册地址
operatingAddress:{type:[String], default:[]},//经营地址
valuation:String
});
var financingModel;
......
......@@ -41,7 +41,7 @@ export async function save(throwError=false) {
/**
* 查询孵化器分数信息
*
* @param uscc 孵化器统一信用代码
* @returns
*/
......
......@@ -47,20 +47,21 @@ export async function save(throwError=false) {
}
/**
* 查询孵化器分数信息
* @param uscc 孵化器统一信用代码
* @returns
*/
export async function findOne(param) {
return await visitModel.selectOnceData(param);
}
/**通过条件查询孵化器得分信息 */
export async function findPageByParam(param, skipCount) {
return await visitModel.find(param).skip(skipCount).limit(10);
}
export async function findByParam(param) {
return await visitModel.find(param);
}
export async function findCountByParam(param) {
return await visitModel.find(param).countDocuments();
}
......
......@@ -43,6 +43,11 @@ export async function createLabel(goal:number, labelType:number, name:string, id
return await labelModel.create(addInfo);
}
export async function createOneLabel(param) {
return await labelModel.create(param);
}
export async function findOnceLabel(id:string) {
return await labelModel.selectOnceData({id});
}
......@@ -51,6 +56,10 @@ export async function selectLabelList(param) {
return await labelModel.find(param);
}
export async function selectLabelOne(param) {
return await labelModel.selectOnceData(param);
}
export async function selectLabelListToPage(param, skipNumber) {
return await labelModel.find(param).skip(skipNumber).limit(10);
}
......
......@@ -20,6 +20,7 @@ const leaseSchema = new Schema({
contractLong:Number,
price:Number,//单价
area:Number,//租赁面积
areaUnit:Number,//单位
rentPayment:{type:[rentPaymentScheme], default:[]},//租金缴纳情况
address:String,//地址
});
......@@ -50,6 +51,10 @@ export async function findOnceData(param) {
return await leaseModel.selectOnceData(param);
}
export async function findData(param) {
return await leaseModel.find(param);
}
export async function createData(addInfo) {
await leaseModel.create(addInfo);
}
......@@ -45,7 +45,11 @@ import * as demandModel from "../../data/fuHuaQi/demand";
import * as trackModel from "../../data/fuHuaQi/track";
import * as activityModel from "../../data/activity";
import * as dynamicsModel from "../../data/enterprise/dynamics";
import * as dynamicsData from "../../data/enterprise/dynamics";
import * as enterpriseRiskData from "../../data/enterprise/enterpriseRisk";
import * as dishonestPersonData from "../../data/enterprise/dishonestPerson";
import * as illegalityData from "../../data/enterprise/illegality";
import * as qualificationsData from "../../data/enterprise/qualifications";
export async function initTable() {
......@@ -95,4 +99,11 @@ export async function initTable() {
activityModel.initModel();
dynamicsModel.initModel();
dynamicsData.initModel();
enterpriseRiskData.initModel();
dishonestPersonData.initModel();
illegalityData.initModel();
qualificationsData.initModel();
}
\ No newline at end of file
import { test, zhenDuanBaoGao, 修复重复, 补充经纬度 } from "./biz/admin/provide";
import { initPool } from "./biz/gpt/indicatorPool";
import { initOutline } from "./biz/gpt/report";
import { updateQCCDataTask } from "./biz/qccInit";
import { initSMS } from "./biz/sms";
import { initSystemTask } from "./biz/systemTask";
import { initConfig, systemConfig} from "./config/serverConfig";
......@@ -29,6 +30,7 @@ async function lanuch() {
// await 补充经纬度();
// await test();
// await zhenDuanBaoGao();
// updateQCCDataTask();
}
......
/**
* 政策速递
* 活动
*/
import * as asyncHandler from 'express-async-handler';
......@@ -15,7 +15,7 @@ export function setRouter(httpServer) {
httpServer.post('/admin/activity/list',checkGuanWeiHuiToken,asyncHandler(listInformation));
httpServer.post('/admin/activity/open',checkGuanWeiHuiToken, asyncHandler(openInformation));
httpServer.post('/admin/activity/close',checkGuanWeiHuiToken, asyncHandler(closeInformation));
httpServer.post('/admin/activity/match',checkGuanWeiHuiToken, asyncHandler(closeInformation));
httpServer.post('/admin/activity/match',checkGuanWeiHuiToken, asyncHandler(matchInfomation));
}
......@@ -27,11 +27,11 @@ export function setRouter(httpServer) {
*/
async function addInformation(req, res) {
let reqConf = {
desc:"String", title:"String" ,source:"String", coverImg:"String"
desc:"String", title:"String" ,source:"String", coverImg:"String", startTime:"Number", endTime:"Number", target:"[Number]"
};
const NotMustHaveKeys = ["coverImg"];
let {desc, title, source, coverImg} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let data = await activityBiz.addOnceInformation(desc, title, source, coverImg);
let {desc, title ,source, coverImg, startTime, endTime, target} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let data = await activityBiz.addOnceInformation(desc, title ,source, coverImg, startTime, endTime, target);
res.success(data);
}
......@@ -43,11 +43,11 @@ async function addInformation(req, res) {
*/
async function updateInformation(req, res) {
let reqConf = {
id:"String", desc:"String", title:"String" ,source:"String", coverImg:"String"
id:"String", desc:"String", title:"String" ,source:"String", coverImg:"String", startTime:"Number", endTime:"Number", target:"[Number]"
};
const NotMustHaveKeys = ["coverImg"];
let {id, desc, title, source, coverImg} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let data = await activityBiz.updateOnceInformation(id, desc, title, source, coverImg);
let {id, desc, title, source, coverImg, startTime, endTime, target} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let data = await activityBiz.updateOnceInformation(id, desc, title, source, coverImg, startTime, endTime, target);
res.success(data);
}
......@@ -85,11 +85,11 @@ async function infoInformation(req, res) {
*/
async function listInformation(req, res) {
let reqConf = {
page:"Number", selectTitle:"String", createTime:"Number", state:"Number"
page:"Number", selectTitle:"String", createTime:"Number", state:"Number",target:"Number"
};
const NotMustHaveKeys = ["selectTitle", "createTime", "state"];
let { selectTitle, createTime, state, page } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let data = await activityBiz.selectInformation(selectTitle, createTime, state, page);
const NotMustHaveKeys = ["selectTitle", "createTime", "state", "target"];
let { selectTitle, createTime, state, page, target } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let data = await activityBiz.selectInformation(selectTitle, createTime, state, target,page);
res.success(data);
}
......@@ -121,3 +121,10 @@ async function closeInformation(req, res) {
let data = await activityBiz.closeInformation(id);
res.success(data);
}
async function matchInfomation(req, res) {
let reqConf = { id:"String" };
let {id} = eccReqParamater(reqConf, req.body, []);
let data = await activityBiz.selectInfoEnterprise(id);
res.success(data);
}
\ No newline at end of file
import * as asyncHandler from 'express-async-handler';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import { eccReqParamater } from '../../util/verificationParam';
import * as portraitBiz from '../../biz/admin/enterprise/enterprisePortrait';
export function setRouter(httpServer) {
/** 标签管理*/
httpServer.post('/admin/portrait/enterprise',checkGuanWeiHuiToken, asyncHandler(enterprisePortrait));
}
async function enterprisePortrait(req, res) {
let reqConf = { uscc: 'String'};
const NotMustHaveKeys = [];
let {uscc} = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await portraitBiz.portrait(uscc);
res.success(result);
}
\ No newline at end of file
......@@ -28,7 +28,7 @@ export function setRouter(httpServer) {
/**管委会看板 */
httpServer.post('/admin/stats/guanweih/fuhuaqibase',checkGuanWeiHuiToken, asyncHandler(fuHuaQiBaseStats));
httpServer.post('/admin/stats/guanweih/enterprisebase',checkGuanWeiHuiToken, asyncHandler(enterpriseBaseStats));
httpServer.post('/admin/stats/guanweih/fuhuaqi/warning/overview',checkGuanWeiHuiToken, asyncHandler(guanWeiHuiFHQWarningOverView));
httpServer.post('/admin/stats/guanweih/fuhuaqi/warning/overview',checkGuanWeiHuiToken, asyncHandler(guanWeiHuiFHQWarningOverView));//弃用
httpServer.post('/admin/stats/guanweih/fuhuaqi/warning/revenueanomaly',checkGuanWeiHuiToken, asyncHandler(getRevenueAnomaly));
httpServer.post('/admin/stats/guanweih/fuhuaqi/warning/fuhuaqitpanomaly',checkGuanWeiHuiToken, asyncHandler(getFuHuaQiTPAnomaly));
httpServer.post('/admin/stats/guanweih/fuhuaqi/warning/teamanomaly',checkGuanWeiHuiToken, asyncHandler(getTeamAnomaly));
......@@ -37,9 +37,67 @@ export function setRouter(httpServer) {
httpServer.post('/admin/stats/guanweih/enterprise/warning/revenueanomaly',checkGuanWeiHuiToken, asyncHandler(getEnterpriseBussinessAnomaly));
httpServer.post('/admin/stats/guanweih/enterprise/warning/txpanomaly',checkGuanWeiHuiToken, asyncHandler(getEnterpriseTXPAnomaly));
httpServer.post('/admin/stats/guanweih/enterprise/warning/teamanomaly',checkGuanWeiHuiToken, asyncHandler(getEnterpriseTeamAnomaly));
httpServer.post('/admin/stats/guanweih/fuhuaqi/tianbao',checkGuanWeiHuiToken, asyncHandler(fuHuaQiTianBao));//管委会看板 申报情况
httpServer.post('/admin/stats/guanweih/fuhuaqi/enterprisechange',checkGuanWeiHuiToken, asyncHandler(enterpriseChange));//管委会看板 企业变化情况
httpServer.post('/admin/stats/guanweih/fuhuaqi/valueanalysis',checkGuanWeiHuiToken, asyncHandler(valueAnalysis));//价值分析
//企业自画像
httpServer.post('/admin/stats/enterprise/portrait',checkGuanWeiHuiToken, asyncHandler(enterprisportrait));//价值分析
}
async function enterprisportrait(req, res) {
}
async function fuHuaQiTianBao(req, res) {
let reqConf = {
startTime : 'Number',
endTime : 'Number'
};
const NotMustHaveKeys = [];
let { startTime, endTime } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await fuhuaqiBaseBiz.taskTianBao(startTime, endTime);
res.success(result);
}
async function enterpriseChange(req, res) {
let reqConf = {
year : 'Number',
};
const NotMustHaveKeys = [];
let { year } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await enterpriseBaseBiz.enterpriseNumberChnageInfo(year);
res.success(result);
}
async function valueAnalysis(req, res) {
let reqConf = { year : 'Number' };
const NotMustHaveKeys = [];
let { year } = eccReqParamater(reqConf, req.body, NotMustHaveKeys);
let result = await enterpriseBaseBiz.valueAnalysisStatis(year);
res.success(result);
}
/**
* 管理后台-数字看板-孵化器看板-基础信息
* @param req
......
......@@ -26,13 +26,16 @@ export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/myenterprise/update/moveout', checkFuHuaQiToken, asyncHandler(updateMoveOut));
/**4.2 */
httpServer.post('/fuhuaqi/myenterprise/qualification/select', checkFuHuaQiToken, asyncHandler(myEnterpriseQualification));
httpServer.post('/fuhuaqi/myenterprise/qualification/update', checkFuHuaQiToken, asyncHandler(updateEnterpriseQualification));
httpServer.post('/fuhuaqi/myenterprise/teaminfo/select', checkFuHuaQiToken, asyncHandler(myEnterpriseTeamInfo));
// httpServer.post('/fuhuaqi/myenterprise/team/info', checkFuHuaQiToken, asyncHandler(myEnterpriseTeamInfo));
httpServer.post('/fuhuaqi/myenterprise/team/info', checkFuHuaQiToken, asyncHandler(myEnterpriseTeamInfo));
httpServer.post('/fuhuaqi/myenterprise/team/update', checkFuHuaQiToken, asyncHandler(teamUpdate));
httpServer.post('/fuhuaqi/myenterprise/businessdata/select', checkFuHuaQiToken, asyncHandler(myEnterpriseBusinessData));
//重点企业
httpServer.post('/fuhuaqi/keynote/dynamics/homelist', checkFuHuaQiToken, asyncHandler(keynote_dynamics_home_list));//动态
httpServer.post('/fuhuaqi/keynote/dynamics/list', checkFuHuaQiToken, asyncHandler(keynote_dynamics_list));//未读
httpServer.post('/fuhuaqi/keynote/dynamics/changestate', checkFuHuaQiToken, asyncHandler(keynote_dynamics_change));//未读
httpServer.post('/fuhuaqi/keynote/dynamics/enterprise', checkFuHuaQiToken, asyncHandler(keynote_dynamics_enterprise));//企业动态
httpServer.post('/fuhuaqi/keynote/list', checkFuHuaQiToken, asyncHandler(keynote_list));//企业列表
httpServer.post('/fuhuaqi/keynote/add', checkFuHuaQiToken, asyncHandler(keynote_add));//添加企业
......@@ -56,6 +59,15 @@ async function keynote_dynamics_list(req, res) {
res.success(result);
}
async function keynote_dynamics_change(req, res) {
const Uscc = req.headers.uscc;
let reqConf = {id: 'String' };
let { id } = eccReqParamater(reqConf, req.body);
let result = await keynoteBiz.changeReadState(id);
res.success(result);
}
async function keynote_dynamics_enterprise(req, res) {
let reqConf = {uscc: 'String' };
let { uscc } = eccReqParamater(reqConf, req.body);
......@@ -298,6 +310,17 @@ async function myEnterpriseQualification(req, res) {
}
async function updateEnterpriseQualification(req, res) {
let reqConf = {intellectualPropertyParam:'Object', qualificationParam:'Object', uscc:"String" };
let {qualificationParam, uscc, intellectualPropertyParam} = eccReqParamater(reqConf, req.body);
let result = await myEnterpriseBiz.updateQualification(uscc, intellectualPropertyParam, qualificationParam);
res.success(result);
}
/**
* 企业团队
* 4.2
......@@ -305,10 +328,18 @@ async function myEnterpriseQualification(req, res) {
* @param res
*/
async function myEnterpriseTeamInfo(req, res) {
let reqConf = {uscc:"String"};
let { uscc } = eccReqParamater(reqConf, req.body);
let reqConf = {uscc:"String", year:"Number", quarter:"Number"};
let { uscc, year, quarter } = eccReqParamater(reqConf, req.body);
let result = await myEnterpriseBiz.getMyEnterpriseTeamInfo(uscc, year, quarter);
res.success(result);
}
async function teamUpdate(req, res) {
let reqConf = {uscc:"String", year:"Number", quarter:"Number", cycsrbj:"[Number]", form:"Object"};
let { uscc, quarter, year, cycsrbj, form } = eccReqParamater(reqConf, req.body);
let result = await myEnterpriseBiz.getMyEnterpriseTeamInfo(uscc);
let result = await myEnterpriseBiz.updateMyEnterpriseTeamInfo(uscc, quarter, year, cycsrbj, form);
res.success(result);
}
......
......@@ -19,10 +19,42 @@ export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/user/firstupdatepwdstate', checkFuHuaQiToken, asyncHandler(firstUpdatePwdState));
/**发送短信验证码 */
httpServer.post('/fuhuaqi/changepwd/sendcode', asyncHandler(sendCode));
/**手机号码登录 */
httpServer.post('/fuhuaqi/phone/select', asyncHandler(login_phone_select));
httpServer.post('/fuhuaqi/phone/login', asyncHandler(login_phone));
}
/**
*
* @param req
* @param res
*/
async function login_phone_select(req, res) {
let reqConf = {phone:'String', pwd:'String'};
let {phone, pwd} = eccReqParamater(reqConf, req.body);
let result = await userBiz.phoneLoginSelect(phone, pwd);
res.success(result);
}
/**
*
* @param req
* @param res
*/
async function login_phone(req, res) {
let reqConf = {phone:'String', pwd:'String', uscc:"String"};
let {phone, pwd, uscc} = eccReqParamater(reqConf, req.body);
let result = await userBiz.phoneLogin(uscc, pwd, phone);
res.success(result);
}
/**
* 忘记密码 重置密码
* @param req
* @param res
......
......@@ -13,9 +13,8 @@ export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/visit/demand/add', checkFuHuaQiToken, asyncHandler(visit_demand_add));//添加诉求
httpServer.post('/fuhuaqi/visit/demand/delete', checkFuHuaQiToken, asyncHandler(visit_demand_delete));//删除诉求
httpServer.post('/fuhuaqi/visit/statis/base', asyncHandler(visit_statis_base));
httpServer.post('/fuhuaqi/visit/statis/typelist', asyncHandler(visit_statis_type_list));
httpServer.post('/fuhuaqi/visit/statis/base', checkFuHuaQiToken, asyncHandler(visit_statis_base));
httpServer.post('/fuhuaqi/visit/statis/typelist', checkFuHuaQiToken, asyncHandler(visit_statis_type_list));
httpServer.post('/fuhuaqi/visit/calendar/statis', checkFuHuaQiToken, asyncHandler(visit_alendar_statis));
httpServer.post('/fuhuaqi/visit/calendar/list', checkFuHuaQiToken, asyncHandler(visit_calendar_list));
......@@ -137,7 +136,7 @@ async function visit_update_state(req, res) {
async function visit_track_add(req, res) {
let reqConf = {uscc:"String", trackType:"Number", content:"String"};
let reqConf = {uscc:"String", c:"Number", content:"String"};
let {uscc, trackType, content} = eccReqParamater(reqConf, req.body);
const fhqUscc = req.headers.uscc;
......
......@@ -27,14 +27,16 @@ async function zl_home_stats(req, res) {
async function zl_home_list(req, res) {
const Uscc = req.headers.uscc;
let result = await leaseBiz.zlHomeList(Uscc);
let reqConf = {enterpriseName:'String', htstats:"Object", stats:"Number", zjstats:"Number"};
let {enterpriseName, htstats, stats, zjstats } = eccReqParamater(reqConf, req.body, ["enterpriseName", "htstats", "stats", "zjstats"]);
let result = await leaseBiz.zlHomeList(Uscc, enterpriseName, htstats, stats, zjstats);
res.success(result);
}
async function zl_home_select_list(req, res) {
let reqConf = {type:'Number',};
let reqConf = {type:'Number'};
let {type} = eccReqParamater(reqConf, req.body);
const Uscc = req.headers.uscc;
......@@ -44,7 +46,7 @@ async function zl_home_select_list(req, res) {
}
async function zl_info(req, res) {
let reqConf = {uscc:'String',};
let reqConf = {uscc:'String'};
let {uscc} = eccReqParamater(reqConf, req.body);
let result = await leaseBiz.zlInfo(uscc);
......
......@@ -3,7 +3,7 @@
*/
import * as asyncHandler from 'express-async-handler';
import { ZLSTATISTYPE, CONTRACTTYPE, RENTTYPE, ZLSTATETYPE, VISITSTATE, VISITENTERPRISETYPE, VISITDEMAND, RESEARCHTYPE, JIASUZIZHI, ENTERPRISECHANGETYPE, ACTIVITYLABEL, FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS, INSIDESTATE, VIRTUALCAUSE, MOVEOUTTYPE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, ENTERPRISETEAM, LISTINGSITUATION, BUSINESSDATATYPE, COOPERATIONMODE, SPECIALITY, TEACHERLV, ZJBEYONDLAYOUTOPERATIONMODE, CYCXFX, CYCSRBJ, FUHUAQICUSTOMTASKTYPE } from '../config/enum';
import { ZLSTATISTYPE, CONTRACTTYPE, RENTTYPE, ZLSTATETYPE, VISITSTATE, VISITENTERPRISETYPE, VISITDEMAND, RESEARCHTYPE, JIASUZIZHI, ENTERPRISECHANGETYPE, ACTIVITYLABEL, FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS, INSIDESTATE, VIRTUALCAUSE, MOVEOUTTYPE, MOVEOUTCAUSECLIENT, MOVEOUTCAUSENOTCLIENT, MOVEOUTTRACE, ENTERPRISETEAM, LISTINGSITUATION, BUSINESSDATATYPE, COOPERATIONMODE, SPECIALITY, TEACHERLV, ZJBEYONDLAYOUTOPERATIONMODE, CYCXFX, CYCSRBJ, FUHUAQICUSTOMTASKTYPE, ZHONGDIANQIYE } from '../config/enum';
import { selectLabelList } from '../data/label';
import { GUANWEIHUIMANANGENTERPRISELABEL, LABELTYPE, LABELGOAL, FHQSYSTEMLABEL } from '../config/enum/labelEnum';
import { NOTZHIBUTYPEENUM, ZHIBUTYPEENUM } from '../config/enum/dangJianEnum';
......@@ -61,9 +61,23 @@ export function setRouter(httpServer) {
httpServer.post('/public/enterprisechangetype', asyncHandler(enterprisechangetype) );
httpServer.post('/public/jiasuzizhi', asyncHandler(jiasuzizhi) );
httpServer.post('/public/zhongdian', asyncHandler(zhongdian) );
}
async function zhongdian(req, res) {
let dataList = [];
for (let key in ZHONGDIANQIYE) {
let anyKey:any = key;
if (isNaN(anyKey)) {
let keyStr = key;
dataList.push({key:keyStr, value:ZHONGDIANQIYE[key]});
}
}
res.success({dataList});
}
async function enterprisechangetype(req, res) {
let dataList = [];
......
......@@ -51,6 +51,8 @@ import * as qyvisitRouter from './enterpriseMobileClient/visit';
import * as activityRouter from './mobileClient/activity';
import * as adminActivityRouter from './admin/activity';
import * as portraitRouter from './admin/portrait';
export function setRouter(httpServer){
/**下拉框等公用 路由 */
publicRouters.setRouter(httpServer);
......@@ -113,4 +115,6 @@ export function setRouter(httpServer){
qyvisitRouter.setRouter(httpServer);
activityRouter.setRouter(httpServer);
adminActivityRouter.setRouter(httpServer);
portraitRouter.setRouter(httpServer);
}
\ No newline at end of file
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