明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_backend
Project
Project
Details
Activity
Releases
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
zengfanpei
jt_backend
Commits
5fe27de9
Commit
5fe27de9
authored
Dec 24, 2025
by
zfp1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
3a523e6a
Pipeline
#105101
passed with stage
in 4 seconds
Changes
8
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
108 additions
and
32 deletions
+108
-32
projectTzController.js
controller/projectTzController.js
+71
-5
index.js
db/index.js
+2
-2
tzTzkzCwpj.js
db/model/jt/tzTzkzCwpj.js
+0
-5
tzTzkzJcpfyj.js
db/model/jt/tzTzkzJcpfyj.js
+8
-8
tzTzkzTzekz.js
db/model/jt/tzTzkzTzekz.js
+9
-6
tzTzkzTzsy.js
db/model/jt/tzTzkzTzsy.js
+5
-4
tzTzmbzrs.js
db/model/jt/tzTzmbzrs.js
+7
-2
projectRouter.js
router/projectRouter.js
+6
-0
No files found.
controller/projectTzController.js
View file @
5fe27de9
...
@@ -16,9 +16,9 @@ async function createTzmbzrs(req, res, next) {
...
@@ -16,9 +16,9 @@ async function createTzmbzrs(req, res, next) {
return
res
.
sendError
(
errorMessage
.
paramsError
);
return
res
.
sendError
(
errorMessage
.
paramsError
);
}
}
//处理文件参数
//处理文件参数
req
.
body
.
zrswj
=
(
req
.
body
.
zrswj
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
});
req
.
body
.
zrswj
=
(
req
.
body
.
zrswj
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
||
o
});
req
.
body
.
chwj
=
(
req
.
body
.
chwj
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
});
req
.
body
.
chwj
=
(
req
.
body
.
chwj
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
||
o
});
req
.
body
.
jyglzrs
=
(
req
.
body
.
jyglzrs
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
});
req
.
body
.
jyglzrs
=
(
req
.
body
.
jyglzrs
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
||
o
});
//处理 责任指标 表
//处理 责任指标 表
let
tzmbzrsZbs
=
(
req
.
body
.
tzmbzrsZbs
||
[]).
map
(
o
=>
{
o
.
projectId
=
req
.
body
.
projectId
;
return
o
});
let
tzmbzrsZbs
=
(
req
.
body
.
tzmbzrsZbs
||
[]).
map
(
o
=>
{
o
.
projectId
=
req
.
body
.
projectId
;
return
o
});
delete
req
.
body
.
tzmbzrsZbs
;
delete
req
.
body
.
tzmbzrsZbs
;
...
@@ -132,10 +132,76 @@ async function getTzmbzrsInfo(req, res, next) {
...
@@ -132,10 +132,76 @@ async function getTzmbzrsInfo(req, res, next) {
}
}
}
}
async
function
createTzkz
(
req
,
res
,
next
)
{
try
{
if
(
!
req
.
body
.
projectId
)
{
return
res
.
sendError
(
errorMessage
.
paramsError
);
}
//处理文件
req
.
body
.
qtjsmbzdpc
=
(
req
.
body
.
qtjsmbzdpc
||
[]).
map
(
o
=>
{
return
o
&&
o
.
id
||
o
});
//处理财务评价指标
let
tzkzcwpjs
=
(
req
.
body
.
tzkzcwpjs
||
[]).
map
(
o
=>
{
o
.
projectId
=
req
.
body
.
projectId
;
return
o
;});
delete
req
.
body
.
tzkzcwpjs
;
//处理决策批复意见
let
tzkzjcpfyjs
=
(
req
.
body
.
tzkzjcpfyjs
||
[]).
map
(
o
=>
{
o
.
projectId
=
req
.
body
.
projectId
;
return
o
;});;
delete
req
.
body
.
tzkzjcpfyjs
;
//处理投资收益
let
tzkztzsys
=
(
req
.
body
.
tzkztzsys
||
[]).
map
(
o
=>
{
o
.
projectId
=
req
.
body
.
projectId
;
return
o
;});;
delete
req
.
body
.
tzkztzsys
;
//处理投资额控制
let
flattenArr
=
[];
let
tzkztzekzs
=
req
.
body
.
tzkztzekzs
||
[[]];
//二维数组 多次上报
delete
req
.
body
.
tzkztzekzs
;
for
(
let
index
=
0
;
index
<
tzkztzekzs
.
length
;
index
++
)
{
const
element
=
tzkztzekzs
[
index
];
for
(
let
i
=
0
;
i
<
element
.
length
;
i
++
)
{
let
ei
=
element
[
i
];
ei
.
groupBy
=
index
;
ei
.
projectId
=
req
.
body
.
projectId
;
flattenArr
.
push
(
ei
);
}
}
//创建
await
DB
.
TzTzkzCwpj
.
bulkCreate
(
tzkzcwpjs
);
await
DB
.
TzTzkzJcpfyj
.
bulkCreate
(
tzkzjcpfyjs
);
await
DB
.
TzTzkzTzsy
.
bulkCreate
(
tzkztzsys
);
await
DB
.
TzTzkzTzekz
.
bulkCreate
(
flattenArr
);
let
ret
=
await
DB
.
TzTzkz
.
create
(
req
.
body
);
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
next
(
error
);
}
}
async
function
updateTzkz
(
req
,
res
,
next
)
{
try
{
//
}
catch
(
error
)
{
next
(
error
);
}
}
async
function
getTzkzList
(
req
,
res
,
next
)
{
try
{
//
}
catch
(
error
)
{
next
(
error
);
}
}
async
function
getTzkzInfo
(
req
,
res
,
next
)
{
try
{
//
}
catch
(
error
)
{
next
(
error
);
}
}
module
.
exports
=
{
module
.
exports
=
{
createTzmbzrs
,
createTzmbzrs
,
updateTzmbzrs
,
updateTzmbzrs
,
getTzmbzrsList
,
getTzmbzrsList
,
getTzmbzrsInfo
getTzmbzrsInfo
,
createTzkz
,
getTzkzInfo
,
getTzkzList
,
updateTzkz
,
}
}
\ No newline at end of file
db/index.js
View file @
5fe27de9
...
@@ -42,7 +42,7 @@ const TzTzmbzrs = require("./model/jt/tzTzmbzrs");
...
@@ -42,7 +42,7 @@ const TzTzmbzrs = require("./model/jt/tzTzmbzrs");
const
TzTzmbzrsZb
=
require
(
"./model/jt/tzTzmbzrsZb"
);
const
TzTzmbzrsZb
=
require
(
"./model/jt/tzTzmbzrsZb"
);
const
TzTzkz
=
require
(
"./model/jt/tzTzkz"
);
const
TzTzkz
=
require
(
"./model/jt/tzTzkz"
);
const
TzTz
jzJcpfyj
=
require
(
"./model/jt/tzTzj
zJcpfyj"
);
const
TzTz
kzJcpfyj
=
require
(
"./model/jt/tzTzk
zJcpfyj"
);
const
TzTzkzTzekz
=
require
(
"./model/jt/tzTzkzTzekz"
);
const
TzTzkzTzekz
=
require
(
"./model/jt/tzTzkzTzekz"
);
const
TzTzkzCwpj
=
require
(
"./model/jt/tzTzkzCwpj"
);
const
TzTzkzCwpj
=
require
(
"./model/jt/tzTzkzCwpj"
);
const
TzTzkzTzsy
=
require
(
'./model/jt/tzTzkzTzsy'
);
const
TzTzkzTzsy
=
require
(
'./model/jt/tzTzkzTzsy'
);
...
@@ -89,7 +89,7 @@ global.DB = {
...
@@ -89,7 +89,7 @@ global.DB = {
TzTzmbzrs
,
TzTzmbzrs
,
TzTzmbzrsZb
,
TzTzmbzrsZb
,
TzTzkz
,
TzTzkz
,
TzTz
j
zJcpfyj
,
TzTz
k
zJcpfyj
,
TzTzkzTzekz
,
TzTzkzTzekz
,
TzTzkzCwpj
,
TzTzkzCwpj
,
TzTzkzTzsy
,
TzTzkzTzsy
,
...
...
db/model/jt/tzTzkzCwpj.js
View file @
5fe27de9
...
@@ -31,11 +31,6 @@ const TzTzkzCwpj = sequelize.define('TzTzkzCwpj', {
...
@@ -31,11 +31,6 @@ const TzTzkzCwpj = sequelize.define('TzTzkzCwpj', {
comment
:
"主要差异说明"
,
comment
:
"主要差异说明"
,
},
},
tzkzId
:
{
type
:
DataTypes
.
INTEGER
,
comment
:
"所属投资控制主表id"
,
},
projectId
:
{
projectId
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"所属项目ID"
,
comment
:
"所属项目ID"
,
...
...
db/model/jt/tzTz
j
zJcpfyj.js
→
db/model/jt/tzTz
k
zJcpfyj.js
View file @
5fe27de9
...
@@ -4,7 +4,7 @@ const moment = require('moment');
...
@@ -4,7 +4,7 @@ const moment = require('moment');
//投中管理-投资控制 -批复意见落实情况表 -- 决策条件落实情况
//投中管理-投资控制 -批复意见落实情况表 -- 决策条件落实情况
const
TzTz
jzJcpfyj
=
sequelize
.
define
(
'TzTzj
zJcpfyj'
,
{
const
TzTz
kzJcpfyj
=
sequelize
.
define
(
'TzTzk
zJcpfyj'
,
{
id
:
{
id
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
primaryKey
:
true
,
primaryKey
:
true
,
...
@@ -83,10 +83,10 @@ const TzTzjzJcpfyj = sequelize.define('TzTzjzJcpfyj', {
...
@@ -83,10 +83,10 @@ const TzTzjzJcpfyj = sequelize.define('TzTzjzJcpfyj', {
comment
:
"备注"
comment
:
"备注"
},
},
tzkzId
:
{
//
tzkzId: {
type
:
DataTypes
.
INTEGER
,
//
type: DataTypes.INTEGER,
comment
:
"所属投资控制主表id"
,
//
comment: "所属投资控制主表id",
},
//
},
projectId
:
{
projectId
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"所属项目ID"
,
comment
:
"所属项目ID"
,
...
@@ -118,14 +118,14 @@ const TzTzjzJcpfyj = sequelize.define('TzTzjzJcpfyj', {
...
@@ -118,14 +118,14 @@ const TzTzjzJcpfyj = sequelize.define('TzTzjzJcpfyj', {
});
});
// 同步模型到数据库(创建表)
// 同步模型到数据库(创建表)
TzTz
j
zJcpfyj
.
sync
({
TzTz
k
zJcpfyj
.
sync
({
force
:
false
,
force
:
false
,
// force: true ,//会删除已存在表并重新创建
// force: true ,//会删除已存在表并重新创建
// alter: true
// alter: true
})
})
.
then
(()
=>
{
.
then
(()
=>
{
console
.
log
(
'TzTz
j
zJcpfyj 表同步成功'
);
console
.
log
(
'TzTz
k
zJcpfyj 表同步成功'
);
});
});
module
.
exports
=
TzTzjzJcpfyj
;
module
.
exports
=
TzTzkzJcpfyj
;
\ No newline at end of file
\ No newline at end of file
db/model/jt/tzTzkzTzekz.js
View file @
5fe27de9
...
@@ -25,7 +25,7 @@ const TzTzkzTzekz = sequelize.define('TzTzkzTzekz', {
...
@@ -25,7 +25,7 @@ const TzTzkzTzekz = sequelize.define('TzTzkzTzekz', {
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"决策估算"
,
comment
:
"决策估算"
,
},
},
pfg
s
:
{
pfg
usuan
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"批复估算"
,
comment
:
"批复估算"
,
},
},
...
@@ -69,13 +69,16 @@ const TzTzkzTzekz = sequelize.define('TzTzkzTzekz', {
...
@@ -69,13 +69,16 @@ const TzTzkzTzekz = sequelize.define('TzTzkzTzekz', {
type
:
DataTypes
.
DATE
,
type
:
DataTypes
.
DATE
,
comment
:
"上期时间"
,
comment
:
"上期时间"
,
},
},
groupBy
:
{
tzkzId
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"
所属投资控制主表id"
,
comment
:
"
用来分组 区分期数"
},
},
// tzkzId: {
// type: DataTypes.INTEGER,
// comment: "所属投资控制主表id",
// },
projectId
:
{
projectId
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"所属项目ID"
,
comment
:
"所属项目ID"
,
...
...
db/model/jt/tzTzkzTzsy.js
View file @
5fe27de9
...
@@ -10,15 +10,16 @@ const TzTzkzTzsy = sequelize.define('TzTzkzTzsy', {
...
@@ -10,15 +10,16 @@ const TzTzkzTzsy = sequelize.define('TzTzkzTzsy', {
primaryKey
:
true
,
primaryKey
:
true
,
autoIncrement
:
true
autoIncrement
:
true
},
},
xh
:
{
type
:
DataTypes
.
STRING
,
allowNull
:
true
,
comment
:
"序号"
},
pjzb
:
{
type
:
DataTypes
.
STRING
,
allowNull
:
true
,
comment
:
"评价指标"
},
pjzb
:
{
type
:
DataTypes
.
STRING
,
allowNull
:
true
,
comment
:
"评价指标"
},
jczb
:
{
type
:
DataTypes
.
STRING
,
comment
:
'决策指标'
},
jczb
:
{
type
:
DataTypes
.
STRING
,
comment
:
'决策指标'
},
xzzb
:
{
type
:
DataTypes
.
STRING
,
comment
:
'现状指标'
},
xzzb
:
{
type
:
DataTypes
.
STRING
,
comment
:
'现状指标'
},
tzkzId
:
{
//
tzkzId: {
type
:
DataTypes
.
INTEGER
,
//
type: DataTypes.INTEGER,
comment
:
"所属投资控制主表id"
,
//
comment: "所属投资控制主表id",
},
//
},
projectId
:
{
projectId
:
{
type
:
DataTypes
.
INTEGER
,
type
:
DataTypes
.
INTEGER
,
comment
:
"所属项目ID"
,
comment
:
"所属项目ID"
,
...
...
db/model/jt/tzTzmbzrs.js
View file @
5fe27de9
...
@@ -12,6 +12,7 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
...
@@ -12,6 +12,7 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
projectName
:
{
projectName
:
{
type
:
DataTypes
.
STRING
,
type
:
DataTypes
.
STRING
,
comment
:
"项目名称"
,
},
},
tzzt
:
{
tzzt
:
{
type
:
DataTypes
.
STRING
,
type
:
DataTypes
.
STRING
,
...
@@ -21,6 +22,10 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
...
@@ -21,6 +22,10 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
type
:
DataTypes
.
STRING
,
type
:
DataTypes
.
STRING
,
comment
:
"项目地点"
,
comment
:
"项目地点"
,
},
},
zrslx
:
{
type
:
DataTypes
.
STRING
,
comment
:
"责任书类型 全生命周期投资目标责任书、建设投资目标责任书、运营期投资目标责任书、年度投资目标责任书文件"
,
},
xmkgrq
:
{
xmkgrq
:
{
type
:
DataTypes
.
DATE
,
type
:
DataTypes
.
DATE
,
get
()
{
get
()
{
...
@@ -82,9 +87,9 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
...
@@ -82,9 +87,9 @@ const TzTzmbzrs = sequelize.define('TzTzmbzrs', {
// 同步模型到数据库(创建表)
// 同步模型到数据库(创建表)
TzTzmbzrs
.
sync
({
TzTzmbzrs
.
sync
({
force
:
false
,
//
force: false,
// force: true ,//会删除已存在表并重新创建
// force: true ,//会删除已存在表并重新创建
//
alter: true
alter
:
true
})
})
.
then
(()
=>
{
.
then
(()
=>
{
console
.
log
(
'TzTzmbzrs 表同步成功'
);
console
.
log
(
'TzTzmbzrs 表同步成功'
);
...
...
router/projectRouter.js
View file @
5fe27de9
...
@@ -54,6 +54,12 @@ router.post('/updateTzmbzrs', projectTzController.updateTzmbzrs);
...
@@ -54,6 +54,12 @@ router.post('/updateTzmbzrs', projectTzController.updateTzmbzrs);
router
.
post
(
'/getTzmbzrsList'
,
projectTzController
.
getTzmbzrsList
);
router
.
post
(
'/getTzmbzrsList'
,
projectTzController
.
getTzmbzrsList
);
router
.
post
(
'/getTzmbzrsInfo'
,
projectTzController
.
getTzmbzrsInfo
);
router
.
post
(
'/getTzmbzrsInfo'
,
projectTzController
.
getTzmbzrsInfo
);
//投资控制
router
.
post
(
'/createTzkz'
,
projectTzController
.
createTzkz
);
router
.
post
(
'/updateTzkz'
,
projectTzController
.
updateTzkz
);
router
.
post
(
'/getTzkzList'
,
projectTzController
.
getTzkzList
);
router
.
post
(
'/getTzkzInfo'
,
projectTzController
.
getTzkzInfo
);
...
...
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