Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
165c662d
Commit
165c662d
authored
Jul 13, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加查询问卷反馈人员列表,问卷单选多选反馈统计,问卷问题反馈详情接口
parent
e73d4be8
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
503 additions
and
1 deletion
+503
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/dao/FeedbackDao.java
...java/com/mortals/xhx/module/feedback/dao/FeedbackDao.java
+26
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/dao/ibatis/FeedbackDaoImpl.java
...rtals/xhx/module/feedback/dao/ibatis/FeedbackDaoImpl.java
+48
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/FeedbackStaffInfoVo.java
...als/xhx/module/feedback/model/vo/FeedbackStaffInfoVo.java
+44
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/FeedbackVo.java
.../com/mortals/xhx/module/feedback/model/vo/FeedbackVo.java
+1
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/OptionSummaryVo.java
...mortals/xhx/module/feedback/model/vo/OptionSummaryVo.java
+39
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/QuestionAnswerVo.java
...ortals/xhx/module/feedback/model/vo/QuestionAnswerVo.java
+44
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/service/FeedbackService.java
.../mortals/xhx/module/feedback/service/FeedbackService.java
+31
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/service/impl/FeedbackQuestionServiceImpl.java
...le/feedback/service/impl/FeedbackQuestionServiceImpl.java
+1
-1
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/service/impl/FeedbackServiceImpl.java
...xhx/module/feedback/service/impl/FeedbackServiceImpl.java
+32
-0
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/web/FeedbackController.java
...m/mortals/xhx/module/feedback/web/FeedbackController.java
+133
-0
attendance-performance-manager/src/main/resources/sqlmap/module/feedback/FeedbackMapperExt.xml
...in/resources/sqlmap/module/feedback/FeedbackMapperExt.xml
+104
-0
No files found.
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/dao/FeedbackDao.java
View file @
165c662d
package
com.mortals.xhx.module.feedback.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.xhx.module.feedback.model.FeedbackEntity
;
import
com.mortals.xhx.module.feedback.model.vo.FeedbackStaffInfoVo
;
import
com.mortals.xhx.module.feedback.model.vo.OptionSummaryVo
;
import
com.mortals.xhx.module.feedback.model.vo.QuestionAnswerVo
;
import
java.util.List
;
/**
* 绩效反馈记录信息Dao
...
...
@@ -13,5 +19,25 @@ import java.util.List;
public
interface
FeedbackDao
extends
ICRUDDao
<
FeedbackEntity
,
Long
>{
/***
* 问卷反馈人员列表
* @param feedbackId
* @return
*/
List
<
FeedbackStaffInfoVo
>
getFeedbackStaffList
(
Long
feedbackId
);
/**
* 问卷单选多选反馈统计
* @param feedbackId
* @return
*/
List
<
OptionSummaryVo
>
getOptionSummaryList
(
Long
feedbackId
);
/**
* 问卷问题反馈详情
* @param questionId
* @param pageInfo
* @return
*/
Result
<
QuestionAnswerVo
>
getQuestionAnswerList
(
Long
questionId
,
PageInfo
pageInfo
);
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/dao/ibatis/FeedbackDaoImpl.java
View file @
165c662d
package
com.mortals.xhx.module.feedback.dao.ibatis
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.ParamDto
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.module.feedback.model.vo.FeedbackStaffInfoVo
;
import
com.mortals.xhx.module.feedback.model.vo.OptionSummaryVo
;
import
com.mortals.xhx.module.feedback.model.vo.QuestionAnswerVo
;
import
org.apache.ibatis.session.RowBounds
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.feedback.dao.FeedbackDao
;
import
com.mortals.xhx.module.feedback.model.FeedbackEntity
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
java.util.List
;
...
...
@@ -17,5 +27,43 @@ import java.util.List;
public
class
FeedbackDaoImpl
extends
BaseCRUDDaoMybatis
<
FeedbackEntity
,
Long
>
implements
FeedbackDao
{
@Override
public
List
<
FeedbackStaffInfoVo
>
getFeedbackStaffList
(
Long
feedbackId
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getFeedbackStaffList"
),
feedbackId
);
}
@Override
public
List
<
OptionSummaryVo
>
getOptionSummaryList
(
Long
feedbackId
)
{
return
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
"getOptionSummaryList"
),
feedbackId
);
}
@Override
public
Result
<
QuestionAnswerVo
>
getQuestionAnswerList
(
Long
questionId
,
PageInfo
pageInfo
)
{
String
sqlId
=
"getQuestionAnswerList"
;
Result
result
=
new
Result
();
List
list
=
null
;
int
count
=
this
.
getQuestionAnswerListCount
(
questionId
);
if
(
count
==
0
)
{
list
=
new
ArrayList
();
}
else
if
(
pageInfo
.
getPrePageResult
()
==
-
1
)
{
list
=
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
sqlId
),
questionId
);
}
else
{
if
(
pageInfo
.
getBeginIndex
()
>
count
)
{
pageInfo
.
setCurrPage
(
1
);
}
RowBounds
rowBounds
=
new
RowBounds
(
pageInfo
.
getBeginIndex
(),
pageInfo
.
getPrePageResult
());
list
=
this
.
getSqlSession
().
selectList
(
this
.
getSqlId
(
sqlId
),
questionId
,
rowBounds
);
}
pageInfo
.
setTotalResult
(
count
);
result
.
setPageInfo
(
pageInfo
);
result
.
setList
((
List
)
list
);
return
result
;
}
private
int
getQuestionAnswerListCount
(
Long
questionId
)
{
return
(
Integer
)
this
.
getSqlSession
().
selectOne
(
this
.
getSqlId
(
"getQuestionAnswerListCount"
),
questionId
);
}
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/FeedbackStaffInfoVo.java
0 → 100644
View file @
165c662d
package
com.mortals.xhx.module.feedback.model.vo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 问卷反馈人员信息视图
*/
@Data
public
class
FeedbackStaffInfoVo
{
/**
* 反馈问卷id号
*/
private
Long
feedbackId
;
/**
* 用户id
*/
private
Long
staffId
;
/**
* 员工姓名
*/
private
String
name
;
/**
* 所属部门Id
*/
private
Long
deptId
;
/**
* 所属部门名称
*/
private
String
deptName
;
/**
* 职位名称
*/
private
String
positionName
;
/**
* 反馈状态,0:未反馈,1:已反馈
*/
private
Integer
backStatus
;
/**
* 反馈时间
*/
private
Date
backTime
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/FeedbackVo.java
View file @
165c662d
...
...
@@ -18,4 +18,5 @@ public class FeedbackVo extends BaseEntityLong {
private
List
<
Long
>
staffList
;
private
Long
questionId
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/OptionSummaryVo.java
0 → 100644
View file @
165c662d
package
com.mortals.xhx.module.feedback.model.vo
;
import
lombok.Data
;
/**
* 问卷单选多选反馈统计视图
*/
@Data
public
class
OptionSummaryVo
{
/**
* 问题id号
*/
private
Long
questionId
;
/**
* 反馈问卷id号
*/
private
Long
feedbackId
;
/**
* 问题内容
*/
private
String
question
;
/**
* 问题类型 (1.单项选择,2.多项选择,3.文本框,4.多项文本框,5.文字,6.上传附件)
*/
private
Integer
questionType
;
/**
* 选项id号
*/
private
Long
optionId
;
/**
* 选项内容
*/
private
String
optionContent
;
/**
* 选项统计
*/
private
Integer
optionCount
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/model/vo/QuestionAnswerVo.java
0 → 100644
View file @
165c662d
package
com.mortals.xhx.module.feedback.model.vo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 问卷问题反馈详情视图
*/
@Data
public
class
QuestionAnswerVo
{
/**
* 问题id号
*/
private
Long
questionId
;
/**
* 反馈问卷id号
*/
private
Long
feedbackId
;
/**
* 问题内容
*/
private
String
question
;
/**
* 问题类型 (1.单项选择,2.多项选择,3.文本框,4.多项文本框,5.文字,6.上传附件)
*/
private
Integer
questionType
;
/**
* 用户id
*/
private
Long
staffId
;
/**
* 员工姓名
*/
private
String
name
;
/**
* 回答内容
*/
private
String
answer
;
/**
* 反馈时间
*/
private
Date
backTime
;
}
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/service/FeedbackService.java
View file @
165c662d
package
com.mortals.xhx.module.feedback.service
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.feedback.model.FeedbackEntity
;
import
com.mortals.xhx.module.feedback.dao.FeedbackDao
;
import
com.mortals.xhx.module.feedback.model.vo.FeedbackStaffInfoVo
;
import
com.mortals.xhx.module.feedback.model.vo.OptionSummaryVo
;
import
com.mortals.xhx.module.feedback.model.vo.QuestionAnswerVo
;
import
java.util.List
;
/**
* FeedbackService
*
...
...
@@ -13,4 +22,26 @@ import com.mortals.xhx.module.feedback.dao.FeedbackDao;
public
interface
FeedbackService
extends
ICRUDService
<
FeedbackEntity
,
Long
>{
FeedbackDao
getDao
();
/***
* 问卷反馈人员列表
* @param feedbackId
* @return
*/
List
<
FeedbackStaffInfoVo
>
getFeedbackStaffList
(
Long
feedbackId
)
throws
AppException
;
/**
* 问卷单选多选反馈统计
* @param feedbackId
* @return
*/
List
<
OptionSummaryVo
>
getOptionSummaryList
(
Long
feedbackId
)
throws
AppException
;
/**
* 问卷问题反馈详情
* @param questionId
* @param pageInfo
* @return
*/
Result
<
QuestionAnswerVo
>
getQuestionAnswerList
(
Long
questionId
,
PageInfo
pageInfo
)
throws
AppException
;
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/service/impl/FeedbackQuestionServiceImpl.java
View file @
165c662d
...
...
@@ -35,8 +35,8 @@ public class FeedbackQuestionServiceImpl extends AbstractCRUDServiceImpl<Feedbac
item
.
setQuestionId
(
entity
.
getId
());
item
.
setCreateUserId
(
this
.
getContextUserId
(
context
));
item
.
setCreateTime
(
new
Date
());
feedbackOptionService
.
save
(
item
);
}).
count
();
feedbackOptionService
.
save
(
entity
.
getFeedbackOptionList
());
}
super
.
saveAfter
(
entity
,
context
);
}
...
...
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/service/impl/FeedbackServiceImpl.java
View file @
165c662d
package
com.mortals.xhx.module.feedback.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.xhx.module.feedback.model.*
;
import
com.mortals.xhx.module.feedback.model.vo.FeedbackStaffInfoVo
;
import
com.mortals.xhx.module.feedback.model.vo.OptionSummaryVo
;
import
com.mortals.xhx.module.feedback.model.vo.QuestionAnswerVo
;
import
com.mortals.xhx.module.feedback.service.FeedbackStaffService
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
...
...
@@ -103,4 +108,31 @@ public class FeedbackServiceImpl extends AbstractCRUDServiceImpl<FeedbackDao, Fe
feedbackStaffService
.
removeList
(
staffEntityList
,
context
);
super
.
removeAfter
(
ids
,
context
,
result
);
}
@Override
public
List
<
FeedbackStaffInfoVo
>
getFeedbackStaffList
(
Long
feedbackId
)
throws
AppException
{
if
(
feedbackId
==
null
){
throw
new
AppException
(
"绩效反馈记录Id不能为空"
);
}
return
dao
.
getFeedbackStaffList
(
feedbackId
);
}
@Override
public
List
<
OptionSummaryVo
>
getOptionSummaryList
(
Long
feedbackId
)
throws
AppException
{
if
(
feedbackId
==
null
){
throw
new
AppException
(
"绩效反馈记录Id不能为空"
);
}
return
dao
.
getOptionSummaryList
(
feedbackId
);
}
@Override
public
Result
<
QuestionAnswerVo
>
getQuestionAnswerList
(
Long
questionId
,
PageInfo
pageInfo
)
throws
AppException
{
if
(
questionId
==
null
){
throw
new
AppException
(
"绩效反馈记录问题Id不能为空"
);
}
if
(
pageInfo
==
null
){
pageInfo
=
new
PageInfo
();
}
return
dao
.
getQuestionAnswerList
(
questionId
,
pageInfo
);
}
}
\ No newline at end of file
attendance-performance-manager/src/main/java/com/mortals/xhx/module/feedback/web/FeedbackController.java
View file @
165c662d
package
com.mortals.xhx.module.feedback.web
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.feedback.model.FeedbackAnswerEntity
;
import
com.mortals.xhx.module.feedback.model.vo.FeedbackStaffInfoVo
;
import
com.mortals.xhx.module.feedback.model.vo.OptionSummaryVo
;
import
com.mortals.xhx.module.feedback.model.vo.QuestionAnswerVo
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -42,10 +52,133 @@ public class FeedbackController extends BaseCRUDJsonBodyMappingController<Feedba
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
Map
<
String
,
String
>
backStatus
=
new
HashMap
<>();
backStatus
.
put
(
"0"
,
"未反馈"
);
backStatus
.
put
(
"1"
,
"已反馈"
);
this
.
addDict
(
model
,
"processStatus"
,
paramService
.
getParamBySecondOrganize
(
"Feedback"
,
"processStatus"
));
this
.
addDict
(
model
,
"weblink"
,
paramService
.
getParamBySecondOrganize
(
"Feedback"
,
"weblink"
));
this
.
addDict
(
model
,
"backStatus"
,
backStatus
);
super
.
init
(
model
,
context
);
}
/**
* 查询问卷反馈人员列表
* @param feedbackId
* @return
*/
@RequestMapping
(
value
=
{
"getStaffList"
},
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@UnAuth
public
Rest
<
Object
>
getFeedbackStaffList
(
Long
feedbackId
)
{
Rest
<
Object
>
ret
=
new
Rest
();
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
String
busiDesc
=
"查询问卷反馈人员列表"
;
int
code
=
1
;
try
{
List
<
FeedbackStaffInfoVo
>
result
=
this
.
getService
().
getFeedbackStaffList
(
feedbackId
);
if
(
CollectionUtils
.
isNotEmpty
(
result
))
{
Map
<
Integer
,
List
<
FeedbackStaffInfoVo
>>
groupMap
=
result
.
stream
().
collect
(
Collectors
.
groupingBy
(
FeedbackStaffInfoVo:
:
getBackStatus
));
if
(
groupMap
.
containsKey
(
1
))
{
model
.
put
(
"feedBack"
,
groupMap
.
get
(
1
).
size
());
}
else
{
model
.
put
(
"feedBack"
,
0
);
}
if
(
groupMap
.
containsKey
(
0
))
{
model
.
put
(
"notBack"
,
groupMap
.
get
(
0
).
size
());
}
else
{
model
.
put
(
"notBack"
,
0
);
}
}
else
{
model
.
put
(
"feedBack"
,
0
);
model
.
put
(
"notBack"
,
0
);
}
model
.
put
(
"data"
,
result
);
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
if
(!
ObjectUtils
.
isEmpty
(
context
)
&&
!
ObjectUtils
.
isEmpty
(
context
.
getUser
()))
{
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
}
catch
(
Exception
var9
)
{
code
=
-
1
;
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
}
this
.
init
(
model
,
context
);
ret
.
setCode
(
code
);
ret
.
setData
(
model
);
ret
.
setDict
(
model
.
get
(
"dict"
));
ret
.
setMsg
(
model
.
get
(
"message_info"
)
==
null
?
""
:
model
.
remove
(
"message_info"
).
toString
());
return
ret
;
}
/**
* 问卷单选多选反馈统计
* @param feedbackId
* @return
*/
@RequestMapping
(
value
=
{
"getOptionSummaryList"
},
method
=
{
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@UnAuth
public
Rest
<
Object
>
getOptionSummaryList
(
Long
feedbackId
)
{
Rest
<
Object
>
ret
=
new
Rest
();
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
String
busiDesc
=
"查询问卷单选多选反馈统计"
;
int
code
=
1
;
try
{
List
<
OptionSummaryVo
>
result
=
this
.
getService
().
getOptionSummaryList
(
feedbackId
);
model
.
put
(
"data"
,
result
);
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
if
(!
ObjectUtils
.
isEmpty
(
context
)
&&
!
ObjectUtils
.
isEmpty
(
context
.
getUser
()))
{
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
}
catch
(
Exception
var9
)
{
code
=
-
1
;
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
}
this
.
init
(
model
,
context
);
ret
.
setCode
(
code
);
ret
.
setData
(
model
);
ret
.
setDict
(
model
.
get
(
"dict"
));
ret
.
setMsg
(
model
.
get
(
"message_info"
)
==
null
?
""
:
model
.
remove
(
"message_info"
).
toString
());
return
ret
;
}
/**
* 问卷问题反馈详情
* @param query
* @return
*/
@PostMapping
({
"getQuestionAnswerList"
})
@UnAuth
public
Rest
<
Object
>
getQuestionAnswerList
(
@RequestBody
FeedbackEntity
query
)
{
Rest
<
Object
>
ret
=
new
Rest
();
Map
<
String
,
Object
>
model
=
new
HashMap
();
Context
context
=
this
.
getContext
();
String
busiDesc
=
"查询问卷问题反馈详情"
;
int
code
=
1
;
try
{
PageInfo
pageInfo
=
this
.
buildPageInfo
(
query
);
Result
<
QuestionAnswerVo
>
result
=
this
.
getService
().
getQuestionAnswerList
(
query
.
getQuestionId
(),
pageInfo
);
model
.
put
(
"data"
,
result
.
getList
());
model
.
put
(
"pageInfo"
,
result
.
getPageInfo
());
this
.
parsePageInfo
(
model
,
result
.
getPageInfo
());
code
=
this
.
doListAfter
(
query
,
(
Map
)
model
,
context
);
model
.
put
(
"message_info"
,
busiDesc
+
"成功"
);
if
(!
ObjectUtils
.
isEmpty
(
context
)
&&
!
ObjectUtils
.
isEmpty
(
context
.
getUser
()))
{
this
.
recordSysLog
(
this
.
request
,
busiDesc
+
" 【成功】"
);
}
}
catch
(
Exception
var9
)
{
code
=
-
1
;
this
.
doException
(
this
.
request
,
busiDesc
,
model
,
var9
);
}
this
.
init
(
model
,
context
);
ret
.
setCode
(
code
);
ret
.
setData
(
model
);
ret
.
setDict
(
model
.
get
(
"dict"
));
ret
.
setMsg
(
model
.
get
(
"message_info"
)
==
null
?
""
:
model
.
remove
(
"message_info"
).
toString
());
return
ret
;
}
}
\ No newline at end of file
attendance-performance-manager/src/main/resources/sqlmap/module/feedback/FeedbackMapperExt.xml
0 → 100644
View file @
165c662d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mortals.xhx.module.feedback.dao.ibatis.FeedbackDaoImpl"
>
<!-- 问卷反馈人员列表 -->
<select
id=
"getFeedbackStaffList"
parameterType=
"long"
resultType=
"com.mortals.xhx.module.feedback.model.vo.FeedbackStaffInfoVo"
>
SELECT
s.feedbackId,
s.staffId,
s1.`name`,
s1.deptId,
s1.deptName,
s1.positionName,
CASE IFNULL(a.id, 0) WHEN 0 THEN 0 ELSE 1 END AS backStatus,
MAX(a.createTime) AS backTime
FROM
mortals_xhx_feedback_staff s
LEFT JOIN mortals_xhx_feedback_answer a ON s.staffId = a.staffId AND s.feedbackId = a.feedbackId
LEFT JOIN mortals_xhx_staff s1 ON s.staffId = s1.id
WHERE
s.feedbackId = #{feedbackId}
GROUP BY
s.staffId;
</select>
<!-- 问卷单选多选反馈统计 -->
<select
id=
"getOptionSummaryList"
parameterType=
"long"
resultType=
"com.mortals.xhx.module.feedback.model.vo.OptionSummaryVo"
>
SELECT
q.id AS questionId,
q.feedbackId,
q.content AS question,
q.questionType,
o.optionId,
o.optionContent,
count(o.id) optionCount
FROM
mortals_xhx_feedback_question q,
mortals_xhx_feedback_answer a,
mortals_xhx_feedback_answer_option o
WHERE
q.id = a.questionId
AND q.feedbackId = a.feedbackId
AND a.id = o.answerId
AND (q.questionType = 1 OR q.questionType = 2)
AND q.feedbackId = #{feedbackId}
GROUP BY
q.id,
o.optionId;
</select>
<!-- 问卷问题反馈详情 -->
<select
id=
"getQuestionAnswerList"
parameterType=
"long"
resultType=
"com.mortals.xhx.module.feedback.model.vo.QuestionAnswerVo"
>
SELECT
q.id AS questionId,
q.feedbackId,
q.content AS question,
q.questionType,
a.staffId,
s.`name`,
a.content AS answer,
a.createTime AS backTime
FROM
mortals_xhx_feedback_question q,
mortals_xhx_feedback_answer a,
mortals_xhx_staff s
WHERE
q.id = a.questionId
AND q.feedbackId = a.feedbackId
AND a.staffId = s.id
AND q.questionType != 1
AND q.questionType != 2
AND q.id = #{questionId}
</select>
<!-- 获取 -->
<select
id=
"getQuestionAnswerListCount"
parameterType=
"long"
resultType=
"int"
>
select count(1)
from
(
SELECT
q.id AS questionId,
q.feedbackId,
q.content AS question,
q.questionType,
a.staffId,
s.`name`,
a.content AS answer,
a.createTime AS backTime
FROM
mortals_xhx_feedback_question q,
mortals_xhx_feedback_answer a,
mortals_xhx_staff s
WHERE
q.id = a.questionId
AND q.feedbackId = a.feedbackId
AND a.staffId = s.id
AND q.questionType != 1
AND q.questionType != 2
AND q.id = #{questionId}
) as a
</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