Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjxcxServer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
zjxcxServer
Commits
82da08e7
Commit
82da08e7
authored
Feb 07, 2023
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
2a920fb0
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
479 additions
and
46 deletions
+479
-46
enterprise.ts
src/biz/enterprise/enterprise.ts
+192
-0
financing.ts
src/biz/enterprise/financing.ts
+120
-0
base.ts
src/biz/fuHuqQi/base.ts
+77
-37
errorEnum.ts
src/config/errorEnum.ts
+3
-0
enterprise.ts
src/data/enterprise/enterprise.ts
+47
-7
financing.ts
src/data/enterprise/financing.ts
+40
-2
No files found.
src/biz/enterprise/enterprise.ts
View file @
82da08e7
/**
* 企业相关逻辑
* 作者: 李欣鸣
* 包括新注册企业,迁入企业
*
*/
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
createEnterprise
,
findEnterpriseByUscc
}
from
"../../data/enterprise/enterprise"
;
import
{
BizError
}
from
"../../util/bizError"
;
import
{
getTaskId
}
from
"../../util/tools"
/**
* 新注册企业
* @param uscc 孵化器统一信用代码
* @param param 表单参数
*/
export
async
function
registerEnterprise
(
uscc
:
string
,
param
)
{
const
TaskId
=
getTaskId
(
uscc
);
const
TypeConf
=
{
name
:
"String"
,
//企业名称
uscc
:
"String"
,
//统一信用代码
industry
:
"[Number]"
,
//领域
logonTime
:
"Number"
,
//注册时间
firstIncubationTime
:
"Number"
,
//首次入孵时间
isNaturalPersonHolding
:
"Boolean"
,
//是否自然人控股企业
logonAdd
:
"String"
,
//注册地址
operatingAdd
:
"String"
,
//经营地址
leasedArea
:
"Number"
,
//租赁面积(平方米)
};
checkParamater
(
param
,
TypeConf
);
let
dataBaseInfo
=
await
findEnterpriseByUscc
(
param
.
uscc
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在`
);
await
createEnterprise
(
uscc
,
TaskId
,
param
);
return
{
isSuccess
:
true
};
}
/**
* 新注册企业表单修改
* @param uscc 孵化器统一信用代码
* @param param 表单参数
*/
export
async
function
updateRegisterEnterprise
(
uscc
:
string
,
param
)
{
const
TypeConf
=
{
name
:
"String"
,
//企业名称
uscc
:
"String"
,
//统一信用代码
industry
:
"[Number]"
,
//领域
logonTime
:
"Number"
,
//注册时间
firstIncubationTime
:
"Number"
,
//首次入孵时间
isNaturalPersonHolding
:
"Boolean"
,
//是否自然人控股企业
logonAdd
:
"String"
,
//注册地址
operatingAdd
:
"String"
,
//经营地址
leasedArea
:
"Number"
,
//租赁面积(平方米)
};
checkParamater
(
param
,
TypeConf
);
let
dataBaseInfo
=
await
findEnterpriseByUscc
(
param
.
uscc
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
param
.
uscc
}
这个企业`
);
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
changeList
.
forEach
(
key
=>
{
dataBaseInfo
[
key
]
=
param
[
key
];
});
await
dataBaseInfo
.
save
();
return
{
isSuccess
:
true
};
}
/**
* 迁入企业登记
* @param uscc
* @param param
*/
export
async
function
moveInEnterprise
(
uscc
:
string
,
param
)
{
const
TaskId
=
getTaskId
(
uscc
);
const
TypeConf
=
{
name
:
"String"
,
//企业名称
uscc
:
"String"
,
//统一信用代码
industry
:
"[Number]"
,
//领域
logonTime
:
"Number"
,
//注册时间
firstIncubationTime
:
"Number"
,
//首次入孵时间
timeOfImmigration
:
"Number"
,
//迁入时间
isNaturalPersonHolding
:
"Boolean"
,
//是否自然人控股企业
oldLogonAdd
:
"String"
,
//迁入前注册地址
logonAdd
:
"String"
,
//注册地址
operatingAdd
:
"String"
,
//经营地址
leasedArea
:
"Number"
,
//租赁面积(平方米)
};
checkParamater
(
param
,
TypeConf
);
let
dataBaseInfo
=
await
findEnterpriseByUscc
(
param
.
uscc
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在`
);
await
createEnterprise
(
uscc
,
TaskId
,
param
);
return
{
isSuccess
:
true
};
}
/**
* 修改迁入企业登记信息
* @param uscc
* @param param
*/
export
async
function
updateMoveInEnterprise
(
uscc
:
string
,
param
)
{
const
TypeConf
=
{
name
:
"String"
,
//企业名称
uscc
:
"String"
,
//统一信用代码
industry
:
"[Number]"
,
//领域
logonTime
:
"Number"
,
//注册时间
firstIncubationTime
:
"Number"
,
//首次入孵时间
timeOfImmigration
:
"Number"
,
//迁入时间
isNaturalPersonHolding
:
"Boolean"
,
//是否自然人控股企业
oldLogonAdd
:
"String"
,
//迁入前注册地址
logonAdd
:
"String"
,
//注册地址
operatingAdd
:
"String"
,
//经营地址
leasedArea
:
"Number"
,
//租赁面积(平方米)
};
checkParamater
(
param
,
TypeConf
);
let
dataBaseInfo
=
await
findEnterpriseByUscc
(
param
.
uscc
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
param
.
uscc
}
这个企业`
);
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
changeList
.
forEach
(
key
=>
{
dataBaseInfo
[
key
]
=
param
[
key
];
});
await
dataBaseInfo
.
save
();
return
{
isSuccess
:
true
};
}
/**
* 校验参数
* @param param
*/
function
checkParamater
(
param
,
keyTypeConf
)
{
for
(
let
key
in
keyTypeConf
)
{
if
(
!
param
[
key
]
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`缺失
${
key
}
字段`
);
let
type
=
typeof
param
[
key
];
switch
(
keyTypeConf
[
key
])
{
case
'Number'
:
if
(
type
!=
'number'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型 而不是
${
type
}
`
);
break
;
case
'String'
:
if
(
type
!=
'string'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是string型 而不是
${
type
}
`
);
break
;
case
'Boolean'
:
if
(
type
!=
'boolean'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是boolean型 而不是
${
type
}
`
);
break
;
case
'[Number]'
:
if
(
!
Array
.
isArray
(
param
[
key
])
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是数组型 而不是
${
type
}
`
);
for
(
let
i
=
0
;
i
<
param
[
key
].
length
;
i
++
)
{
let
item
=
param
[
key
][
i
];
if
(
typeof
item
!=
'number'
)
{
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型数组其中下标
${
i
}
是
${
typeof
item
}
`
);
}
}
break
;
}
}
for
(
let
key
in
param
)
{
if
(
!
keyTypeConf
[
key
])
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`多余
${
key
}
字段`
);
}
}
function
checkChange
(
newObj
,
oldObj
)
{
let
changeKeyList
=
[];
for
(
let
newKey
in
newObj
)
{
if
(
`
${
newObj
[
newKey
]}
`
!=
`
${
oldObj
[
newKey
]}
`
)
changeKeyList
.
push
(
newKey
);
}
return
changeKeyList
;
}
src/biz/enterprise/financing.ts
0 → 100644
View file @
82da08e7
/**
* 企业融资相关逻辑
* 作者: 李欣鸣
* 包括新融资信息的增删改查
*
*/
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
createFinancing
,
findFinancingInfoByTaskIdAndSucc
}
from
"../../data/enterprise/financing"
;
import
{
BizError
}
from
"../../util/bizError"
;
import
{
getTaskId
}
from
"../../util/tools"
;
export
async
function
createFinancingInfo
(
uscc
,
param
)
{
const
TaskId
=
getTaskId
(
uscc
);
const
TypeConf
=
{
uscc
:
"String"
,
//统一信用代码 冗余字段
name
:
"String"
,
//企业名称
taskId
:
"String"
,
//任务id
logonAdd
:
"String"
,
//注册地址
operatingAdd
:
"String"
,
//经营地址
financingTime
:
"Number"
,
//获得融资时间
financingAmount
:
"Number"
,
//融资金额(万元)
investmentInstitutionsName
:
"String"
,
//投资机构名称
timeToObtainInvestment
:
"Number"
,
//获得投资时间
fuHuaQiInvestment
:
"Boolean"
,
//孵化器是否投资
fuHuaQiInvestmentAmount
:
"Number"
,
//孵化器投资金额(万元)
fuHuaQiInvestmentStyle
:
"Number"
,
//孵化器投资方式
draftLock
:
"Boolean"
,
//草稿锁,true为提交之后,false为草稿
createTime
:
"Number"
,
//录入时间
};
checkParamater
(
param
,
TypeConf
);
let
dataBaseInfo
=
await
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
param
.
uscc
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
的融资信息已经存在`
);
await
createFinancing
(
uscc
,
TaskId
,
param
);
return
{
isSuccess
:
true
};
}
export
async
function
updateFinancingInfo
(
uscc
,
param
)
{
const
TaskId
=
getTaskId
(
uscc
);
const
TypeConf
=
{
uscc
:
"String"
,
//统一信用代码 冗余字段
name
:
"String"
,
//企业名称
taskId
:
"String"
,
//任务id
logonAdd
:
"String"
,
//注册地址
operatingAdd
:
"String"
,
//经营地址
financingTime
:
"Number"
,
//获得融资时间
financingAmount
:
"Number"
,
//融资金额(万元)
investmentInstitutionsName
:
"String"
,
//投资机构名称
timeToObtainInvestment
:
"Number"
,
//获得投资时间
fuHuaQiInvestment
:
"Boolean"
,
//孵化器是否投资
fuHuaQiInvestmentAmount
:
"Number"
,
//孵化器投资金额(万元)
fuHuaQiInvestmentStyle
:
"Number"
,
//孵化器投资方式
draftLock
:
"Boolean"
,
//草稿锁,true为提交之后,false为草稿
createTime
:
"Number"
,
//录入时间
};
checkParamater
(
param
,
TypeConf
);
let
dataBaseInfo
=
await
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
param
.
uscc
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
TaskId
}
的任务`
);
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
changeList
.
forEach
(
key
=>
{
dataBaseInfo
[
key
]
=
param
[
key
];
});
await
dataBaseInfo
.
save
();
return
{
isSuccess
:
true
};
}
/**
* 校验参数
* @param param
*/
function
checkParamater
(
param
,
keyTypeConf
)
{
for
(
let
key
in
keyTypeConf
)
{
if
(
!
param
[
key
]
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`缺失
${
key
}
字段`
);
let
type
=
typeof
param
[
key
];
switch
(
keyTypeConf
[
key
])
{
case
'Number'
:
if
(
type
!=
'number'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型 而不是
${
type
}
`
);
break
;
case
'String'
:
if
(
type
!=
'string'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是string型 而不是
${
type
}
`
);
break
;
case
'Boolean'
:
if
(
type
!=
'boolean'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是boolean型 而不是
${
type
}
`
);
break
;
case
'[Number]'
:
if
(
!
Array
.
isArray
(
param
[
key
])
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是数组型 而不是
${
type
}
`
);
for
(
let
i
=
0
;
i
<
param
[
key
].
length
;
i
++
)
{
let
item
=
param
[
key
][
i
];
if
(
typeof
item
!=
'number'
)
{
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型数组其中下标
${
i
}
是
${
typeof
item
}
`
);
}
}
break
;
}
}
for
(
let
key
in
param
)
{
if
(
!
keyTypeConf
[
key
])
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`多余
${
key
}
字段`
);
}
}
function
checkChange
(
newObj
,
oldObj
)
{
let
changeKeyList
=
[];
for
(
let
newKey
in
newObj
)
{
if
(
`
${
newObj
[
newKey
]}
`
!=
`
${
oldObj
[
newKey
]}
`
)
changeKeyList
.
push
(
newKey
);
}
return
changeKeyList
;
}
src/biz/fuHuqQi/base.ts
View file @
82da08e7
...
...
@@ -5,7 +5,9 @@
*
*/
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
findFuHuaQiByUSCC
}
from
"../../data/fuHuaQi/fuhuaqi"
;
import
{
BizError
}
from
"../../util/bizError"
;
...
...
@@ -14,30 +16,26 @@ import { findFuHuaQiByUSCC } from "../../data/fuHuaQi/fuhuaqi";
* 更新孵化器基础数据
* @param uscc 孵化器统一信用代码
*/
export
async
function
updateFuHuaQiBaseData
(
uscc
:
string
,
name
:
string
,
virtualEnterpriseNum
:
number
,
logonTime
:
number
,
incubatedAcreage
:
number
,
acreageTotal
:
number
,
/**
* name:string, virtualEnterpriseNum:number, logonTime:number, incubatedAcreage:number, acreageTotal:number,
acreagePersonalUse:number, lv:number, identificationTime:number, industry, institutionalNature:number, liaison:string, liaisonPhone:string,
personInCharge
:
string
,
personInChargePhone
:
string
,
personInChargeAdd
:
string
,
siteAcreage
:
number
,
leasePrice
:
number
)
{
personInCharge:string, personInChargePhone:string, personInChargeAdd:string, siteAcreage:number, leasePrice:number
*/
export
async
function
updateFuHuaQiBaseData
(
uscc
:
string
,
param
)
{
let
baseDataInfo
=
await
findFuHuaQiByUSCC
(
uscc
);
/**校验参数 */
checkParamater
(
param
);
let
changeList
=
checkChange
(
param
,
baseDataInfo
);
virtualEnterpriseNum
logonTime
incubatedAcreage
acreageTotal
acreagePersonalUse
lv
identificationTime
industry
institutionalNature
liaison
liaisonPhone
personInCharge
personInChargePhone
personInChargeAdd
siteAcreage
leasePrice
for
(
let
i
=
0
;
i
<
changeList
.
length
;
i
++
)
{
let
key
=
changeList
[
i
];
baseDataInfo
[
key
]
=
param
[
key
];
}
await
baseDataInfo
.
save
();
return
{
isSuccess
:
true
};
}
/**
...
...
@@ -46,28 +44,57 @@ export async function updateFuHuaQiBaseData(uscc:string, name:string, virtualEnt
*/
function
checkParamater
(
param
)
{
let
keyTypeConf
=
{
name
:
String
,
virtualEnterpriseNum
:
Number
,
logonTime
:
Number
,
incubatedAcreage
:
Number
,
acreageTotal
:
Number
,
acreagePersonalUse
:
Number
,
lv
:
Number
,
identificationTime
:
Number
,
industry
:
[
Number
]
,
institutionalNature
:
Number
,
liaison
:
String
,
liaisonPhone
:
String
,
personInCharge
:
String
,
personInChargePhone
:
String
,
personInChargeAdd
:
String
,
siteAcreage
:
Number
,
leasePrice
:
Number
name
:
"String"
,
virtualEnterpriseNum
:
"Number"
,
logonTime
:
"Number"
,
incubatedAcreage
:
"Number"
,
acreageTotal
:
"Number"
,
acreagePersonalUse
:
"Number"
,
lv
:
"Number"
,
identificationTime
:
"Number"
,
industry
:
"[Number]"
,
institutionalNature
:
"Number"
,
liaison
:
"String"
,
liaisonPhone
:
"String"
,
personInCharge
:
"String"
,
personInChargePhone
:
"String"
,
personInChargeAdd
:
"String"
,
siteAcreage
:
"Number"
,
leasePrice
:
"Number"
};
for
(
let
key
in
keyTypeConf
)
{
if
(
!
param
[
key
]
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`缺失
${
key
}
字段`
);
let
type
=
typeof
param
[
key
];
switch
(
keyTypeConf
[
key
])
{
case
'Number'
:
if
(
type
!=
'number'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型 而不是
${
type
}
`
);
break
;
case
'String'
:
if
(
type
!=
'string'
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型 而不是
${
type
}
`
);
break
;
case
'[Number]'
:
if
(
!
Array
.
isArray
(
param
[
key
])
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是数组型 而不是
${
type
}
`
);
for
(
let
i
=
0
;
i
<
param
[
key
].
length
;
i
++
)
{
let
item
=
param
[
key
][
i
];
if
(
typeof
item
!=
'number'
)
{
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`
${
key
}
应是number型数组其中下标
${
i
}
是
${
typeof
item
}
`
);
}
}
break
;
}
}
for
(
let
key
in
param
)
{
if
(
!
keyTypeConf
[
key
])
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
'孵化器基础数据更新'
,
`多余
${
key
}
字段`
);
}
}
function
checkChange
(
newObj
,
oldObj
)
{
let
changeKeyList
=
[];
for
(
let
newKey
in
newObj
)
{
if
(
`
${
newObj
[
newKey
]}
`
!=
`
${
oldObj
[
newKey
]}
`
)
changeKeyList
.
push
(
newKey
);
}
return
changeKeyList
;
}
...
...
@@ -75,6 +102,18 @@ function checkChange(newObj, oldObj) {
* 查询孵化器基础数据
* @param uscc 孵化器统一信用代码
*/
export
function
selectFuHuaQiBaseData
(
uscc
:
string
)
{
export
async
function
selectFuHuaQiBaseData
(
uscc
:
string
)
{
let
dataBaseInfo
=
await
findFuHuaQiByUSCC
(
uscc
);
let
keyList
=
[
"name"
,
"operationName"
,
"uscc"
,
"virtualEnterpriseNum"
,
"logonTime"
,
"incubatedAcreage"
,
"acreageTotal"
,
"acreagePersonalUse"
,
"lv"
,
"identificationTime"
,
"industry"
,
"institutionalNature"
,
"liaison"
,
"liaisonPhone"
,
"personInCharge"
,
"personInChargePhone"
,
"personInChargeAdd"
,
"siteAcreage"
,
"leasePrice"
];
let
data
=
{};
keyList
.
forEach
(
key
=>
{
data
[
key
]
=
dataBaseInfo
[
key
];
});
return
{
data
};
}
\ No newline at end of file
src/config/errorEnum.ts
View file @
82da08e7
...
...
@@ -3,6 +3,9 @@ export enum ERRORENUM {
未找到数据
,
参数错误
,
不能重复提交任务
,
表单校验失败
,
该企业已存在
,
数据无更新
}
let
bizErrorMsgMap
=
{};
...
...
src/data/enterprise/enterprise.ts
View file @
82da08e7
/**
* 企业信息表
*
*/
import
{
Schema
}
from
'mongoose'
;
import
{
baseDB
}
from
'../../db/dbInit'
;
...
...
@@ -10,37 +15,71 @@ const enterpriseSchema = new Schema({
logonTime
:
Number
,
//注册时间
firstIncubationTime
:
Number
,
//首次入孵时间
timeOfImmigration
:
Number
,
//迁入时间
isNaturalPersonHolding
:{
type
:
Boolean
,
false
:
true
},
//是否自然人控股企业
isNaturalPersonHolding
:{
type
:
Boolean
,
default
:
true
},
//是否自然人控股企业
oldLogonAdd
:
String
,
//迁入前注册地址
logonAdd
:
String
,
//注册地址
operatingAdd
:
String
,
//经营地址
// isPhysicalPresence:{type:Boolean, default:true},//是否实地孵化
// isPhysicalPresence:{type:Boolean, default:true},//是否实地孵化
暂时弃用
leasedArea
:
Number
,
//租赁面积(平方米)
draftLock
:{
type
:
Boolean
,
default
:
false
},
//草稿锁,true为提交之后,false为草稿
createTime
:
Number
,
//录入时间
});
var
enterpriseModel
;
export
function
initModel
(){
enterpriseModel
=
baseDB
.
model
(
'enterprise'
,
enterpriseSchema
);
enterpriseModel
.
selectOnceData
=
async
function
(
paramater
:
object
)
{
let
selectInfo
=
await
enterpriseModel
.
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
);
});
}
/**
* 通过taskId 获取此次任务添加的企业列表
* @param taskId
* @returns
* @param taskId
任务id 格式遵循tool中getTaskId
* @returns
[{}]
*/
export
async
function
findEnterpriseListByTaskId
(
taskId
:
string
)
{
return
await
enterpriseModel
.
find
({
taskId
}).
exec
();
}
/**
*
修改特定taskId的锁
为true
* @param taskId 任务id
*
将taskId的所有数据的draftLock字段
为true
* @param taskId 任务id
格式遵循tool中getTaskId
*/
export
async
function
updateEnterpriseDraftLock
(
taskId
:
string
)
{
return
await
enterpriseModel
.
update
({
taskId
},
{
$set
:{
draftLock
:
true
}},
{
upsert
:
true
});
}
export
async
function
createEnterprise
()
{
/**
* 通过企业统一信用代码获取企业信息
* @param uscc 企业统一信用代码
* @returns {}
*/
export
async
function
findEnterpriseByUscc
(
uscc
:
string
)
{
return
await
enterpriseModel
.
selectOnceData
({
uscc
}).
exec
();
}
/**
* 创建新的企业数据
* @param fuHuaQiUscc 企业所属孵化器的统一信用代码
* @param taskId 任务id 格式遵循tool中getTaskId
* @param param 添加的字段对象
*/
export
async
function
createEnterprise
(
fuHuaQiUscc
:
string
,
taskId
:
string
,
param
)
{
let
addInfo
=
Object
.
assign
({
fuHuaQiUscc
,
taskId
,
createTime
:
new
Date
().
valueOf
()},
param
);
await
enterpriseModel
.
create
(
addInfo
);
}
\ No newline at end of file
src/data/enterprise/financing.ts
View file @
82da08e7
...
...
@@ -2,10 +2,10 @@ import {Schema} from 'mongoose';
import
{
baseDB
}
from
'../../db/dbInit'
;
const
financingSchema
=
new
Schema
({
uscc
:{
type
:
String
,
index
:
true
},
//统一信用代码 冗余字段
uscc
:{
type
:
String
,
index
:
true
},
//融资企业统一信用代码 冗余字段
fuHuaQiUscc
:{
type
:
String
,
index
:
true
},
//孵化器统一信用代码 冗余字段
name
:
String
,
//企业名称
taskId
:{
type
:
String
,
index
:
true
},
//任务id
// createTime:Number,//入库时间
logonAdd
:
String
,
//注册地址
operatingAdd
:
String
,
//经营地址
financingTime
:
Number
,
//获得融资时间
...
...
@@ -16,12 +16,30 @@ const financingSchema = new Schema({
fuHuaQiInvestmentAmount
:
Number
,
//孵化器投资金额(万元)
fuHuaQiInvestmentStyle
:
Number
,
//孵化器投资方式
draftLock
:{
type
:
Boolean
,
default
:
false
},
//草稿锁,true为提交之后,false为草稿
createTime
:
Number
,
//录入时间
});
var
financingModel
;
export
function
initModel
(){
financingModel
=
baseDB
.
model
(
'financing'
,
financingSchema
);
financingModel
.
selectOnceData
=
async
function
(
paramater
:
object
)
{
let
selectInfo
=
await
financingModel
.
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
);
});
}
/**
* 通过taskId 获取此次任务添加的融资列表
...
...
@@ -33,9 +51,28 @@ export async function findFinancingListByTaskId(taskId:string) {
}
/**
* 通过taskId和uscc获取融资信息你
* @param taskId
* @returns
*/
export
async
function
findFinancingInfoByTaskIdAndSucc
(
taskId
:
string
,
uscc
:
string
)
{
return
await
financingModel
.
selectOnceData
({
taskId
,
uscc
}).
exec
();
}
/**
* 修改特定taskId的锁为true
* @param taskId 任务id
*/
export
async
function
updateFinancingDraftLock
(
taskId
:
string
)
{
return
await
financingModel
.
update
({
taskId
},
{
$set
:{
draftLock
:
true
}},
{
upsert
:
true
});
}
/**
* 创建新的融资数据
* @param param
*/
export
async
function
createFinancing
(
fuHuaQiUscc
:
string
,
taskId
:
string
,
param
)
{
let
addInfo
=
Object
.
assign
({
fuHuaQiUscc
,
taskId
,
createTime
:
new
Date
().
valueOf
()},
param
);
await
financingModel
.
create
(
addInfo
);
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment