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
39d8caf3
Commit
39d8caf3
authored
Jul 05, 2025
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
7b2c7125
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
378 additions
and
2 deletions
+378
-2
lease.ts
src/biz/mobileFuHuaQi/lease.ts
+208
-0
fuHuaQi.ts
src/config/eccParam/fuHuaQi.ts
+19
-0
enum.ts
src/config/enum.ts
+24
-2
enterprise.ts
src/data/enterprise/enterprise.ts
+10
-0
lease.ts
src/data/lease.ts
+55
-0
tableInit.ts
src/db/mongo/tableInit.ts
+3
-0
myEnterprise.ts
src/routers/mobileClient/myEnterprise.ts
+2
-0
zhuling.ts
src/routers/mobileClient/zhuling.ts
+53
-0
router.ts
src/routers/router.ts
+4
-0
No files found.
src/biz/mobileFuHuaQi/lease.ts
0 → 100644
View file @
39d8caf3
/**
* 租赁
*/
import
moment
=
require
(
"moment"
);
import
{
findEnterpriseByUscc
,
findEnterpriseCount
,
findEnterpriseList
}
from
"../../data/enterprise/enterprise"
;
import
{
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"
;
export
async
function
zlHomeStatis
(
fhqUscc
:
string
)
{
let
count
=
await
findEnterpriseCount
({
fuHuaQiUscc
:
fhqUscc
});
let
enterpriseList
=
await
findEnterpriseList
({
fuHuaQiUscc
:
fhqUscc
});
let
htjjdq
=
0
;
let
htdqwq
=
0
;
let
zjjjdq
=
0
;
let
zjdqwq
=
0
;
const
Now
=
new
Date
().
valueOf
();
enterpriseList
.
forEach
(
info
=>
{
let
{
leaseInfo
}
=
info
;
if
(
!
leaseInfo
)
{
htjjdq
+=
1
;
htdqwq
+=
1
;
zjjjdq
+=
1
;
zjdqwq
+=
1
;
}
else
{
if
((
leaseInfo
.
contractEndTime
-
Now
)
<
0
)
{
htdqwq
+=
1
;
}
else
if
(
(
leaseInfo
.
contractEndTime
-
Now
)
>
0
&&
(
leaseInfo
.
contractEndTime
-
Now
)
<
(
3600
*
24
*
1000
*
30
))
{
htjjdq
+=
1
;
}
if
((
leaseInfo
.
rentEndTime
-
Now
)
<
0
)
{
zjdqwq
+=
1
;
}
else
if
(
(
leaseInfo
.
rentEndTime
-
Now
)
>
0
&&
(
leaseInfo
.
rentEndTime
-
Now
)
<
(
3600
*
24
*
1000
*
30
))
{
zjjjdq
+=
1
;
}
}
});
let
dataInfo
=
{
count
,
subList
:[
{
key
:
"合同即将到期"
,
value
:
htjjdq
},
{
key
:
"合同到期未续签"
,
value
:
htdqwq
},
{
key
:
"租金即将到期"
,
value
:
zjjjdq
},
{
key
:
"租金到期未续签"
,
value
:
zjdqwq
}
]
};
return
{
dataInfo
};
}
export
async
function
zlHomeList
(
fhqUscc
:
string
)
{
let
enterpriseList
=
await
findEnterpriseList
({
fuHuaQiUscc
:
fhqUscc
});
const
Now
=
new
Date
().
valueOf
();
let
dataList
=
[];
enterpriseList
.
forEach
(
info
=>
{
let
{
leaseInfo
}
=
info
;
let
htstats
=
""
;
//合同状态
if
(
!
leaseInfo
)
{
htstats
=
"到期未签"
}
else
{
if
((
leaseInfo
.
contractEndTime
-
Now
)
<
0
)
{
htstats
=
"到期未签"
;
}
else
{
htstats
=
"签约企业"
;
}
}
let
zjstats
=
""
;
//租金状态
let
syzlsj
=
0
;
//剩余租赁时间
if
(
!
leaseInfo
)
{
zjstats
=
"到期未签"
}
else
{
if
((
leaseInfo
.
rentEndTime
-
Now
)
<
0
)
{
zjstats
=
"到期未签"
;
}
else
if
(
(
leaseInfo
.
rentEndTime
-
Now
)
>
0
&&
(
leaseInfo
.
rentEndTime
-
Now
)
<
(
3600
*
24
*
1000
*
30
))
{
zjstats
=
"即将到期"
;
}
else
{
zjstats
=
"暂未到期"
;
}
syzlsj
=
moment
(
leaseInfo
.
rentEndTime
).
diff
(
Now
,
'd'
);
syzlsj
=
syzlsj
<=
0
?
0
:
syzlsj
;
}
let
stats
=
info
.
state
==
FUHUASTATE
.
迁出
?
"迁出"
:
"非迁出"
;
//企业状态
dataList
.
push
({
enterpriseName
:
info
.
enterpriseName
,
//企业名称
stats
,
//企业状态
htstats
,
//合同状态
zjstats
,
//租金状态
syzlsj
,
//剩余租赁时间
});
});
return
{
dataList
};
}
export
async
function
zlHomeSelectList
(
fhqUscc
:
string
,
type
:
number
)
{
let
enterpriseList
=
await
findEnterpriseList
({
fuHuaQiUscc
:
fhqUscc
});
const
Now
=
new
Date
().
valueOf
();
let
dataMap
=
{};
enterpriseList
.
forEach
(
info
=>
{
let
{
leaseInfo
}
=
info
;
switch
(
type
)
{
case
1
:
if
(
!
leaseInfo
)
{
if
(
!
dataMap
[
"到期未签"
])
dataMap
[
"到期未签"
]
=
0
;
dataMap
[
"到期未签"
]
+=
1
;
}
else
{
let
keyStr
=
""
;
if
((
leaseInfo
.
contractEndTime
-
Now
)
<
0
)
{
keyStr
=
"到期未签"
;
}
else
{
keyStr
=
"签约企业"
;
}
if
(
!
dataMap
[
keyStr
])
dataMap
[
keyStr
]
=
0
;
dataMap
[
keyStr
]
+=
1
;
}
break
;
case
2
:
if
(
!
leaseInfo
)
{
if
(
!
dataMap
[
"到期未缴"
])
dataMap
[
"到期未缴"
]
=
0
;
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
{
zjStr
=
"到期未缴"
;
}
if
(
!
dataMap
[
zjStr
])
dataMap
[
zjStr
]
=
0
;
dataMap
[
zjStr
]
+=
1
;
}
break
;
case
3
:
let
fhStr
=
""
;
if
(
info
.
state
==
FUHUASTATE
.
迁出
)
{
fhStr
=
"迁出"
;
}
else
{
fhStr
=
"在孵企业"
;
}
if
(
!
dataMap
[
fhStr
])
dataMap
[
fhStr
]
=
0
;
dataMap
[
fhStr
]
+=
1
;
break
;
}
});
let
dataList
=
[];
for
(
let
key
in
dataMap
)
{
let
value
=
0
;
let
count
=
dataMap
[
key
];
if
(
type
==
ZLSTATISTYPE
.
合同
)
{
value
=
CONTRACTTYPE
[
key
];
}
else
if
(
type
==
ZLSTATISTYPE
.
租金
)
{
value
=
RENTTYPE
[
key
];
}
else
if
(
type
==
ZLSTATISTYPE
.
企业状态
)
{
value
=
ZLSTATETYPE
[
key
];
}
dataList
.
push
({
key
,
value
,
count
});
}
return
{
dataList
};
}
export
async
function
zlUpdate
(
uscc
:
string
,
param
)
{
eccFormParam
(
"更新租赁信息"
,
eccFormParamConfig
.
ZlUpdateConfig
,
param
);
if
(
param
.
rentPayment
)
{
param
.
rentPayment
.
forEach
((
info
,
index
)
=>
{
eccFormParam
(
"更新租赁信息 租金缴纳情况"
+
index
,
eccFormParamConfig
.
ZlRentPaymentUpdateConfig
,
info
);
})
}
let
leaseInfo
=
await
leaseData
.
findOnceData
({
uscc
});
let
enterpriseInfo
=
await
findEnterpriseByUscc
(
uscc
);
if
(
leaseInfo
||
leaseInfo
.
uscc
)
{
//添加
param
.
uscc
=
uscc
;
param
.
enterpriseName
=
enterpriseInfo
.
enterpriseName
;
await
leaseData
.
createData
(
param
);
}
else
{
for
(
let
key
in
param
)
{
leaseInfo
[
key
]
=
param
[
key
];
}
await
leaseInfo
.
save
();
}
return
{
isSuccess
:
true
};
}
src/config/eccParam/fuHuaQi.ts
View file @
39d8caf3
...
...
@@ -349,3 +349,22 @@ export const DangJianZaiFuConfig = {
zfqydj
:{
type
:
"Number"
},
//在孵企业党建 STATEENUM
zfqydzbdjList
:{
type
:
"[object]"
},
//党支部登记
}
export
const
ZlUpdateConfig
=
{
contractStartTime
:{
type
:
"Number"
},
//合同开始时间
contractEndTime
:{
type
:
"Number"
},
//合同结束时间
contractLong
:{
type
:
"Number"
},
//时长
contractState
:{
type
:
"Number"
},
//合同状态
price
:{
type
:
"Number"
},
//单价
area
:{
type
:
"Number"
},
//租赁面积
rentPayment
:{
type
:
"[Object]"
},
//租金缴纳情况
address
:{
type
:
"String"
},
//地址
}
export
const
ZlRentPaymentUpdateConfig
=
{
payStartTime
:{
type
:
"Number"
},
//缴纳开始时间
payLong
:{
type
:
"Number"
}
//缴纳时长
}
src/config/enum.ts
View file @
39d8caf3
...
...
@@ -543,4 +543,27 @@ export enum JIASUQI {
省级
,
市级
,
区级
,
}
\ No newline at end of file
}
export
enum
ZLSTATISTYPE
{
合同
=
1
,
租金
,
企业状态
}
export
enum
CONTRACTTYPE
{
签约企业
=
1
,
到期未签
,
}
export
enum
RENTTYPE
{
暂未到期
=
1
,
即将到期
,
到期未缴
}
export
enum
ZLSTATETYPE
{
在孵企业
=
1
,
迁出
}
src/data/enterprise/enterprise.ts
View file @
39d8caf3
...
...
@@ -48,6 +48,13 @@ const enterpriseLabelSchema = new Schema({
state
:{
type
:
Boolean
,
default
:
true
},
//状态 false表示标签失效
},{
_id
:
false
});
const
leaseScheme
=
new
Schema
({
contractStartTime
:
Number
,
//合同开始时间
contractEndTime
:
Number
,
//合同结束时间
rentStartTime
:
Number
,
//租金开始时间
rentEndTime
:
Number
,
//租金结束时间
})
const
enterpriseSchema
=
new
Schema
({
name
:
{
type
:
String
,
index
:
true
},
//企业名称
taskId
:{
type
:
String
,
index
:
true
},
//绑定的任务id
...
...
@@ -133,6 +140,9 @@ const enterpriseSchema = new Schema({
oldLng
:
String
,
//经度
oldLat
:
String
,
//纬度
follow
:
Boolean
,
//是否关注
leaseInfo
:{
type
:
leaseScheme
,
default
:{}},
//租赁信息
});
var
enterpriseModel
;
...
...
src/data/lease.ts
0 → 100644
View file @
39d8caf3
/**
* 租赁信息
*/
import
{
Schema
}
from
'mongoose'
;
import
{
baseDB
}
from
'../db/mongo/dbInit'
;
const
rentPaymentScheme
=
new
Schema
({
payStartTime
:
Number
,
//缴纳开始时间
payLong
:
Number
//缴纳时长
})
const
leaseSchema
=
new
Schema
({
uscc
:
String
,
enterpriseName
:
String
,
contractStartTime
:
Number
,
contractEndTime
:
Number
,
contractLong
:
Number
,
price
:
Number
,
//单价
area
:
Number
,
//租赁面积
rentPayment
:{
type
:[
rentPaymentScheme
],
default
:[]},
//租金缴纳情况
address
:
String
,
//地址
});
var
leaseModel
;
export
function
initModel
(){
leaseModel
=
baseDB
.
model
(
'lease'
,
leaseSchema
);
leaseModel
.
selectOnceData
=
async
function
(
paramater
:
object
)
{
let
selectInfo
=
await
leaseModel
.
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
findOnceData
(
param
)
{
return
await
leaseModel
.
selectOnceData
(
param
);
}
export
async
function
createData
(
addInfo
)
{
await
leaseModel
.
create
(
addInfo
);
}
src/db/mongo/tableInit.ts
View file @
39d8caf3
...
...
@@ -39,6 +39,7 @@ import * as customTaskModel from "../../data/fuHuaQi/customTask";
import
*
as
dangJianModel
from
"../../data/fuHuaQi/monthTask/dangJian"
;
import
*
as
chartModel
from
"../../data/guanWeiHui/chart"
;
import
*
as
leaseModel
from
"../../data/lease"
;
...
...
@@ -82,4 +83,5 @@ export async function initTable() {
dangJianModel
.
initModel
();
chartModel
.
initModel
();
leaseModel
.
initModel
();
}
\ No newline at end of file
src/routers/mobileClient/myEnterprise.ts
View file @
39d8caf3
...
...
@@ -28,6 +28,8 @@ export function setRouter(httpServer) {
}
/**
* 关注企业
* @param req
...
...
src/routers/mobileClient/zhuling.ts
0 → 100644
View file @
39d8caf3
/**
* 租赁管理
*/
import
*
as
asyncHandler
from
'express-async-handler'
;
import
*
as
userBiz
from
'../../biz/mobileFuHuaQi/fuHuaQi/user'
;
import
{
eccReqParamater
}
from
'../../util/verificationParam'
;
import
{
checkFuHuaQiToken
}
from
'../../middleware/user'
;
import
*
as
leaseBiz
from
'../../biz/mobileFuHuaQi/lease'
;
export
function
setRouter
(
httpServer
)
{
httpServer
.
post
(
'/fuhuaqi/zulin/home/stats'
,
checkFuHuaQiToken
,
asyncHandler
(
zl_home_stats
));
httpServer
.
post
(
'/fuhuaqi/zulin/home/list'
,
checkFuHuaQiToken
,
asyncHandler
(
zl_home_list
));
httpServer
.
post
(
'/fuhuaqi/zulin/home/select/list'
,
checkFuHuaQiToken
,
asyncHandler
(
zl_home_select_list
));
httpServer
.
post
(
'/fuhuaqi/zulin/update'
,
checkFuHuaQiToken
,
asyncHandler
(
zl_update
));
}
async
function
zl_home_stats
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
leaseBiz
.
zlHomeStatis
(
Uscc
);
res
.
success
(
result
);
}
async
function
zl_home_list
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
leaseBiz
.
zlHomeList
(
Uscc
);
res
.
success
(
result
);
}
async
function
zl_home_select_list
(
req
,
res
)
{
let
reqConf
=
{
type
:
'Number'
,};
let
{
type
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
leaseBiz
.
zlHomeSelectList
(
Uscc
,
type
);
res
.
success
(
result
);
}
async
function
zl_update
(
req
,
res
)
{
let
reqConf
=
{
uscc
:
'String'
,
param
:
"Object"
};
let
{
uscc
,
param
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
let
result
=
await
leaseBiz
.
zlUpdate
(
uscc
,
param
);
res
.
success
(
result
);
}
\ No newline at end of file
src/routers/router.ts
View file @
39d8caf3
...
...
@@ -44,6 +44,7 @@ import * as guanWeiHuiMobileClientUserRouters from './guanWeiHuiMobileClient/use
import
*
as
dangJianRouters
from
'./mobileClient/dangJian'
;
import
*
as
checkDataRouters
from
'./admin/checkData'
;
import
*
as
zhulingRouter
from
'./mobileClient/zhuling'
;
export
function
setRouter
(
httpServer
){
/**下拉框等公用 路由 */
...
...
@@ -99,4 +100,6 @@ export function setRouter(httpServer){
/**数据校验 */
checkDataRouters
.
setRouter
(
httpServer
);
zhulingRouter
.
setRouter
(
httpServer
);
}
\ 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