Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
platform
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
王琮
platform
Commits
819e7229
Commit
819e7229
authored
Oct 28, 2021
by
王琮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后端代码
parent
a498fe4c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
581 additions
and
3 deletions
+581
-3
QuestionnaireCtrl.java
src/main/java/com/tiptimes/ctrl/QuestionnaireCtrl.java
+152
-0
QuestionnaireDao.java
src/main/java/com/tiptimes/dao/QuestionnaireDao.java
+33
-0
Questionnaire.java
src/main/java/com/tiptimes/model/Questionnaire.java
+28
-1
Record.java
src/main/java/com/tiptimes/model/Record.java
+12
-2
Review.java
src/main/java/com/tiptimes/model/Review.java
+50
-0
QuestionnaireService.java
src/main/java/com/tiptimes/service/QuestionnaireService.java
+84
-0
QuestionnaireServiceImpl.java
...a/com/tiptimes/service/impl/QuestionnaireServiceImpl.java
+124
-0
Questionnaire.xml
src/main/resources/mapper/Questionnaire.xml
+98
-0
No files found.
src/main/java/com/tiptimes/ctrl/QuestionnaireCtrl.java
0 → 100644
View file @
819e7229
package
com
.
tiptimes
.
ctrl
;
import
com.tiptimes.model.Answer
;
import
com.tiptimes.model.Questionnaire
;
import
com.tiptimes.model.Record
;
import
com.tiptimes.model.Review
;
import
com.tiptimes.service.QuestionnaireService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Controller
@RequestMapping
({
"/questionnaire"
})
public
class
QuestionnaireCtrl
{
@Autowired
private
QuestionnaireService
questionnaireService
;
public
QuestionnaireCtrl
()
{
}
/**
* 数据上报
* @param questionnaire 上报数据
* @return
*/
@RequestMapping
({
"/save"
})
@ResponseBody
public
Map
<
String
,
Object
>
save
(
@RequestBody
Questionnaire
questionnaire
){
int
result
;
//1.通过上报人和问卷id查询上报记录id
Long
recordId
=
this
.
questionnaireService
.
selectRecordId
(
questionnaire
.
getId
(),
questionnaire
.
getCreateId
());
//2.若recordId为空去添加上报记录,并返回自增id
if
(
recordId
==
null
)
{
Record
record
=
new
Record
(
questionnaire
.
getId
(),
questionnaire
.
getQuestionnaireName
(),
0
,
""
,
questionnaire
.
getCreateName
(),
new
Date
(),
questionnaire
.
getCreateId
());
recordId
=
this
.
questionnaireService
.
insertRecord
(
record
);
}
//3.根据上报记录id删除原上报数据
this
.
questionnaireService
.
delAnswer
(
recordId
);
//4.新增新的上报数据
List
<
Answer
>
answerList
=
questionnaire
.
getAnswersList
();
result
=
this
.
questionnaireService
.
insertAnswer
(
answerList
,
recordId
);
//5.根据类型判断是否修改上报状态
if
(
questionnaire
.
getType
()==
1
)
{
//上报
//修改数据上报状态
Record
r
=
new
Record
();
r
.
setId
(
recordId
);
r
.
setProcessStatus
(
1
);
result
=
this
.
questionnaireService
.
updateRecord
(
r
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
();
if
(
result
>
0
)
{
map
.
put
(
"result"
,
true
);
map
.
put
(
"msg"
,
"操作成功"
);
}
else
{
map
.
put
(
"result"
,
false
);
map
.
put
(
"msg"
,
"操作失败"
);
}
return
map
;
}
/**
* 审核页面操作
* @param record 驳回
* @return
*/
@RequestMapping
({
"/checkReject"
})
@ResponseBody
public
Map
<
String
,
Object
>
checkReject
(
@RequestBody
Record
record
){
if
(
record
.
getReviews
()!=
null
)
{
//1.通过记录id删除原有备注
this
.
questionnaireService
.
delView
(
record
.
getReviews
().
get
(
0
).
getRecordId
());
//2.添加新的备注
this
.
questionnaireService
.
insertReview
(
record
.
getReviews
(),
record
.
getReviews
().
get
(
0
).
getRecordId
());
}
int
result
=
this
.
questionnaireService
.
updateRecord
(
record
);
Map
<
String
,
Object
>
map
=
new
HashMap
();
if
(
result
>
0
)
{
map
.
put
(
"result"
,
true
);
map
.
put
(
"msg"
,
"操作成功"
);
}
else
{
map
.
put
(
"result"
,
false
);
map
.
put
(
"msg"
,
"操作失败"
);
}
return
map
;
}
/**
* 根据上报id查看上报数据详情
* @param recordId 记录id
* @return
*/
@RequestMapping
({
"/selectDetails"
})
@ResponseBody
public
Map
<
String
,
Object
>
selectDetails
(
Long
recordId
){
//1.根据记录id查询上报数据详情
List
<
Answer
>
answerList
=
this
.
questionnaireService
.
selectAnswerByRecordId
(
recordId
);
//2.根据记录id查询审核备注详情
List
<
Review
>
reviews
=
this
.
questionnaireService
.
selectReviewByRecordId
(
recordId
);
Map
<
String
,
Object
>
map
=
new
HashMap
();
map
.
put
(
"result"
,
true
);
map
.
put
(
"msg"
,
""
);
Map
<
String
,
Object
>
data
=
new
HashMap
();
data
.
put
(
"answerList"
,
answerList
);
if
(
reviews
.
size
()>
0
)
{
data
.
put
(
"reviews"
,
reviews
);
}
//3.根据记录id查询状态
Record
record
=
this
.
questionnaireService
.
selectById
(
recordId
);
if
(
record
.
getProcessStatus
()==
2
)
{
data
.
put
(
"reason"
,
record
.
getReason
());
}
map
.
put
(
"data"
,
data
);
return
map
;
}
/**
* 保存备注
* @param review 备注
* @return
*/
@RequestMapping
({
"/review"
})
@ResponseBody
public
Map
<
String
,
Object
>
review
(
@RequestBody
List
<
Review
>
review
){
Map
<
String
,
Object
>
map
=
new
HashMap
();
if
(
review
==
null
||
review
.
size
()==
0
)
{
map
.
put
(
"result"
,
false
);
map
.
put
(
"msg"
,
"不存在需要保存的备注"
);
return
map
;
}
int
result
;
//1.通过记录id删除原有备注
this
.
questionnaireService
.
delView
(
review
.
get
(
0
).
getRecordId
());
//2.添加新的备注
result
=
this
.
questionnaireService
.
insertReview
(
review
,
review
.
get
(
0
).
getRecordId
());
if
(
result
>
0
)
{
map
.
put
(
"result"
,
true
);
map
.
put
(
"msg"
,
"操作成功"
);
}
else
{
map
.
put
(
"result"
,
false
);
map
.
put
(
"msg"
,
"操作失败"
);
}
return
map
;
}
}
src/main/java/com/tiptimes/dao/QuestionnaireDao.java
0 → 100644
View file @
819e7229
package
com
.
tiptimes
.
dao
;
import
com.tiptimes.model.Answer
;
import
com.tiptimes.model.Record
;
import
com.tiptimes.model.Review
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
QuestionnaireDao
{
Long
selectRecordId
(
@Param
(
"questionnaireUuid"
)
Long
questionnaireUuid
,
@Param
(
"createId"
)
String
createId
);
Long
insertRecord
(
Record
record
);
Integer
delAnswer
(
@Param
(
"recordId"
)
Long
recordId
);
Integer
insertAnswer
(
@Param
(
"list"
)
List
<
Answer
>
answerList
,
@Param
(
"recordId"
)
Long
recordId
);
Integer
updateRecord
(
Record
record
);
Integer
delView
(
@Param
(
"recordId"
)
Long
recordId
);
Integer
insertReview
(
@Param
(
"list"
)
List
<
Review
>
list
,
@Param
(
"recordId"
)
Long
recordId
);
List
<
Answer
>
selectAnswerByRecordId
(
@Param
(
"recordId"
)
Long
recordId
);
List
<
Review
>
selectReviewByRecordId
(
@Param
(
"recordId"
)
Long
recordId
);
Record
selectById
(
Long
recordId
);
}
src/main/java/com/tiptimes/model/Questionnaire.java
View file @
819e7229
...
@@ -2,7 +2,7 @@ package com.tiptimes.model;
...
@@ -2,7 +2,7 @@ package com.tiptimes.model;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
public
class
Questionnaire
{
//问卷
表
public
class
Questionnaire
{
//问卷
相关数据返回Vo
private
Long
id
;
//问卷id
private
Long
id
;
//问卷id
private
String
questionnaireName
;
//问卷名称
private
String
questionnaireName
;
//问卷名称
private
int
status
;
//问卷状态 1:启用(默认值);0:停用'
private
int
status
;
//问卷状态 1:启用(默认值);0:停用'
...
@@ -10,6 +10,17 @@ public class Questionnaire {//问卷表
...
@@ -10,6 +10,17 @@ public class Questionnaire {//问卷表
private
Date
createTime
;
//创建时间
private
Date
createTime
;
//创建时间
private
List
<
Answer
>
answersList
;
//问卷数据
private
List
<
Answer
>
answersList
;
//问卷数据
private
String
createId
;
//上报人员唯一标识
private
String
createId
;
//上报人员唯一标识
private
String
createName
;
//上报人(众创空间)
private
Integer
type
;
//0暂存 1上报
private
List
<
Review
>
reviewList
;
//审核备注
public
List
<
Review
>
getReviewList
()
{
return
reviewList
;
}
public
void
setReviewList
(
List
<
Review
>
reviewList
)
{
this
.
reviewList
=
reviewList
;
}
public
String
getCreateId
()
{
public
String
getCreateId
()
{
return
createId
;
return
createId
;
...
@@ -19,6 +30,22 @@ public class Questionnaire {//问卷表
...
@@ -19,6 +30,22 @@ public class Questionnaire {//问卷表
this
.
createId
=
createId
;
this
.
createId
=
createId
;
}
}
public
String
getCreateName
()
{
return
createName
;
}
public
void
setCreateName
(
String
createName
)
{
this
.
createName
=
createName
;
}
public
Integer
getType
()
{
return
type
;
}
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
public
List
<
Answer
>
getAnswersList
()
{
public
List
<
Answer
>
getAnswersList
()
{
return
answersList
;
return
answersList
;
}
}
...
...
src/main/java/com/tiptimes/model/Record.java
View file @
819e7229
package
com
.
tiptimes
.
model
;
package
com
.
tiptimes
.
model
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
public
class
Record
{
//上报记录表
public
class
Record
{
//上报记录表
private
Long
id
;
//记录id
private
Long
id
;
//记录id
...
@@ -10,6 +11,16 @@ public class Record {//上报记录表
...
@@ -10,6 +11,16 @@ public class Record {//上报记录表
private
String
createBy
;
//上报人(众创空间)
private
String
createBy
;
//上报人(众创空间)
private
Date
createTime
;
//上报时间
private
Date
createTime
;
//上报时间
private
String
createId
;
//上报人员唯一标识
private
String
createId
;
//上报人员唯一标识
private
List
<
Review
>
reviews
;
public
List
<
Review
>
getReviews
()
{
return
reviews
;
}
public
void
setReviews
(
List
<
Review
>
reviews
)
{
this
.
reviews
=
reviews
;
}
public
Long
getId
()
{
public
Long
getId
()
{
return
id
;
return
id
;
}
}
...
@@ -77,9 +88,8 @@ public class Record {//上报记录表
...
@@ -77,9 +88,8 @@ public class Record {//上报记录表
public
Record
()
{
public
Record
()
{
}
}
public
Record
(
Long
id
,
Long
questionnaireUuid
,
String
questionnaireName
,
int
processStatus
,
String
reason
,
public
Record
(
Long
questionnaireUuid
,
String
questionnaireName
,
int
processStatus
,
String
reason
,
String
createBy
,
Date
createTime
,
String
createId
)
{
String
createBy
,
Date
createTime
,
String
createId
)
{
this
.
id
=
id
;
this
.
questionnaireUuid
=
questionnaireUuid
;
this
.
questionnaireUuid
=
questionnaireUuid
;
this
.
questionnaireName
=
questionnaireName
;
this
.
questionnaireName
=
questionnaireName
;
this
.
processStatus
=
processStatus
;
this
.
processStatus
=
processStatus
;
...
...
src/main/java/com/tiptimes/model/Review.java
0 → 100644
View file @
819e7229
package
com
.
tiptimes
.
model
;
public
class
Review
{
//评审备注详情表
private
Long
id
;
private
Long
questionsId
;
//问题id
private
Long
recordId
;
//记录id
private
String
remark
;
//驳回原因
public
Long
getId
()
{
return
id
;
}
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getQuestionsId
()
{
return
questionsId
;
}
public
void
setQuestionsId
(
Long
questionsId
)
{
this
.
questionsId
=
questionsId
;
}
public
Long
getRecordId
()
{
return
recordId
;
}
public
void
setRecordId
(
Long
recordId
)
{
this
.
recordId
=
recordId
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
Review
(
Long
id
,
Long
questionsId
,
Long
recordId
,
String
remark
)
{
this
.
id
=
id
;
this
.
questionsId
=
questionsId
;
this
.
recordId
=
recordId
;
this
.
remark
=
remark
;
}
public
Review
()
{
}
}
src/main/java/com/tiptimes/service/QuestionnaireService.java
0 → 100644
View file @
819e7229
package
com
.
tiptimes
.
service
;
import
com.tiptimes.model.Answer
;
import
com.tiptimes.model.Record
;
import
com.tiptimes.model.Review
;
import
java.util.List
;
public
interface
QuestionnaireService
{
/**
* 根据上报人和问卷id查询上报记录id
* @param questionnaireUuid 问卷id
* @param createId 上报人唯一标识
* @return
*/
Long
selectRecordId
(
Long
questionnaireUuid
,
String
createId
);
/**
* 添加上报记录数据
* @param record 上报记录
* @return
*/
Long
insertRecord
(
Record
record
);
/**
* 根据上报记录id删除原上报数据
* @param recordId 上报记录id
* @return
*/
Integer
delAnswer
(
Long
recordId
);
/**
* 新增新的上报数据
* @param answerList
* @param recordId
* @return
*/
Integer
insertAnswer
(
List
<
Answer
>
answerList
,
Long
recordId
);
/**
* 修改数据上报状态
* @param record
* @return
*/
Integer
updateRecord
(
Record
record
);
/**
* 通过记录id删除原有备注
* @param recordId
* @return
*/
Integer
delView
(
Long
recordId
);
/**
* 添加新的备注
* @param review
* @return
*/
Integer
insertReview
(
List
<
Review
>
review
,
Long
recordId
);
/**
*根据记录id查询上报数据详情
* @param recordId 记录id
* @return
*/
List
<
Answer
>
selectAnswerByRecordId
(
Long
recordId
);
/**
*根据记录id查询评审备注详情
* @param recordId 记录id
* @return
*/
List
<
Review
>
selectReviewByRecordId
(
Long
recordId
);
/**
*根据记录id查询评审备注详情
* @param recordId 记录id
* @return
*/
Record
selectById
(
Long
recordId
);
}
src/main/java/com/tiptimes/service/impl/QuestionnaireServiceImpl.java
0 → 100644
View file @
819e7229
package
com
.
tiptimes
.
service
.
impl
;
import
com.tiptimes.dao.QuestionnaireDao
;
import
com.tiptimes.model.Answer
;
import
com.tiptimes.model.Record
;
import
com.tiptimes.model.Review
;
import
com.tiptimes.service.QuestionnaireService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
@Service
public
class
QuestionnaireServiceImpl
implements
QuestionnaireService
{
@Autowired
private
QuestionnaireDao
questionnaireDao
;
/**
* 根据上报人和问卷id查询上报记录id
* @param questionnaireUuid 问卷id
* @param createId 上报人唯一标识
* @return
*/
@Override
@Transactional
(
readOnly
=
true
)
public
Long
selectRecordId
(
Long
questionnaireUuid
,
String
createId
)
{
return
questionnaireDao
.
selectRecordId
(
questionnaireUuid
,
createId
);
}
/**
* 添加上报记录
* @param record 上报记录
* @return
*/
@Override
@Transactional
public
Long
insertRecord
(
Record
record
)
{
return
questionnaireDao
.
insertRecord
(
record
);
}
/**
* 根据上报记录id删除原上报数据
* @param recordId 上报记录id
* @return
*/
@Override
@Transactional
public
Integer
delAnswer
(
Long
recordId
)
{
return
questionnaireDao
.
delAnswer
(
recordId
);
}
/**
* 添加上报数据
* @param answerList
* @param recordId
* @return
*/
@Override
@Transactional
public
Integer
insertAnswer
(
List
<
Answer
>
answerList
,
Long
recordId
)
{
return
questionnaireDao
.
insertAnswer
(
answerList
,
recordId
);
}
/**
* 修改上报记录
* @param record
* @return
*/
@Override
@Transactional
public
Integer
updateRecord
(
Record
record
)
{
return
questionnaireDao
.
updateRecord
(
record
);
}
/**
* 通过记录id删除原有备注
* @param recordId
* @return
*/
@Override
@Transactional
public
Integer
delView
(
Long
recordId
)
{
return
questionnaireDao
.
delView
(
recordId
);
}
/**
* 添加新的备注
* @param review
* @return
*/
@Override
@Transactional
public
Integer
insertReview
(
List
<
Review
>
review
,
Long
recordId
)
{
return
questionnaireDao
.
insertReview
(
review
,
recordId
);
}
/**
* 通过记录id删除原有备注
* @param recordId
* @return
*/
@Override
public
List
<
Answer
>
selectAnswerByRecordId
(
Long
recordId
)
{
return
questionnaireDao
.
selectAnswerByRecordId
(
recordId
);
}
/**
* 根据记录id查询评审备注详情
* @param recordId 记录id
* @return
*/
@Override
public
List
<
Review
>
selectReviewByRecordId
(
Long
recordId
)
{
return
questionnaireDao
.
selectReviewByRecordId
(
recordId
);
}
@Override
public
Record
selectById
(
Long
recordId
)
{
return
questionnaireDao
.
selectById
(
recordId
);
}
}
src/main/resources/mapper/Questionnaire.xml
0 → 100644
View file @
819e7229
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.tiptimes.dao.QuestionnaireDao"
>
<insert
id=
"insertRecord"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
INSERT INTO t_record
(
questionnaire_uuid,
questionnaire_name,
process_status,
reason,
create_time,
create_by,
create_id
)
VALUES
(
#{questionnaireUuid},
#{questionnaireName},
#{processStatus},
#{reason},
#{createTime},
#{createBy},
#{createId}
)
</insert>
<insert
id=
"insertAnswer"
parameterType=
"com.tiptimes.model.Answer"
>
INSERT INTO t_answer (`options_id`, `value`, `group`, `record_id`) VALUES
<foreach
collection=
"list"
item=
"list"
separator=
","
>
( #{list.optionsId}, #{list.value}, #{list.group} , #{recordId})
</foreach>
</insert>
<insert
id=
"insertReview"
>
INSERT INTO t_review (`questions_id`, `remark`, `record_id`) VALUES
<foreach
collection=
"list"
item=
"list"
separator=
","
>
( #{list.questionsId}, #{list.remark}, #{recordId})
</foreach>
</insert>
<update
id=
"updateRecord"
>
UPDATE t_record
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"processStatus != null and processStatus != ''"
>
process_status = #{processStatus},
</if>
<if
test=
"reason != null and reason != ''"
>
reason = #{reason},
</if>
</trim>
WHERE id = #{id}
</update>
<delete
id=
"delAnswer"
>
DELETE FROM
t_answer
WHERE
record_id=#{recordId}
</delete>
<delete
id=
"delView"
>
DELETE FROM
t_review
WHERE
record_id=#{recordId}
</delete>
<select
id=
"selectRecordId"
resultType=
"java.lang.Long"
>
SELECT id FROM t_record
WHERE questionnaire_uuid=#{questionnaireUuid} AND
create_id = #{createId}
</select>
<select
id=
"selectAnswerByRecordId"
resultType=
"com.tiptimes.model.Answer"
>
SELECT
options_id AS 'optionsId',
`value`,
`group`
FROM
t_answer
WHERE
record_id =#{recordId}
</select>
<select
id=
"selectReviewByRecordId"
resultType=
"com.tiptimes.model.Review"
>
SELECT
questions_id AS 'questionsId',
`remark`
FROM
t_review
WHERE
record_id =#{recordId}
</select>
<select
id=
"selectById"
resultType=
"com.tiptimes.model.Record"
>
SELECT process_status AS 'processStatus',reason
FROM t_record
WHERE id=#{recordId}
</select>
</mapper>
\ 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