Browse Source

多人打分的时候,需要处理没有打分历史的情况

hotfix/yujt_opt
zhangyuan 6 years ago
parent
commit
1f1a9394fb
  1. 10
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/project/dao/PropertyProjectDao.java
  2. 11
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/project/service/impl/PropertyProjectServiceImpl.java
  3. 18
      epdc-cloud-property/src/main/resources/mapper/project/PropertyProjectDao.xml

10
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/project/dao/PropertyProjectDao.java

@ -78,6 +78,16 @@ public interface PropertyProjectDao extends BaseDao<PropertyProjectEntity> {
*/ */
ProjectDetailResultDTO selectDetailByIdV2(ProjectDetailFormDTO dto); ProjectDetailResultDTO selectDetailByIdV2(ProjectDetailFormDTO dto);
/**
* 项目详情打分情况V2
*
* @return java.util.List<com.elink.esua.epdc.dto.project.PropertyProjectDTO>
* @params [params]
* @author zhangyuan
* @since 2019/10/11 14:54
*/
ProjectDetailResultDTO selectScoreByIdV2(ProjectDetailFormDTO dto);
/** /**
* 查询需要修改组织机构信息事件 * 查询需要修改组织机构信息事件
* *

11
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/project/service/impl/PropertyProjectServiceImpl.java

@ -208,7 +208,16 @@ public class PropertyProjectServiceImpl extends BaseServiceImpl<PropertyProjectD
@Override @Override
public ProjectDetailResultDTO getProjectDetailByIdV2(ProjectDetailFormDTO dto) { public ProjectDetailResultDTO getProjectDetailByIdV2(ProjectDetailFormDTO dto) {
return baseDao.selectDetailByIdV2(dto); ProjectDetailResultDTO projectDetailResultDTO = baseDao.selectDetailByIdV2(dto);
// 没有打分的情况需要额外判断
if (projectDetailResultDTO != null && "0".equals(projectDetailResultDTO.getUserScore())) {
ProjectDetailResultDTO score = baseDao.selectScoreByIdV2(dto);
// 如果没有打分情况,赋空表示未打分
if (score == null) {
projectDetailResultDTO.setUserScore("");
}
}
return projectDetailResultDTO;
} }
@Override @Override

18
epdc-cloud-property/src/main/resources/mapper/project/PropertyProjectDao.xml

@ -164,13 +164,14 @@
0 0
END END
) AS GROUP_MEMBER_FLAG, ) AS GROUP_MEMBER_FLAG,
SUM(
CASE CASE
WHEN es.SCORE IS NOT NULL WHEN es.SCORE IS NOT NULL
AND es.USER_ID = #{userId} THEN AND es.USER_ID = #{userId} THEN
es.SCORE es.SCORE
ELSE ELSE
'' ''
END AS USER_SCORE, END) AS USER_SCORE,
IFNULL( IFNULL(
CONVERT ( CONVERT (
avg(es.score), avg(es.score),
@ -199,6 +200,21 @@
GROUP BY GROUP BY
ep.ID ep.ID
</select> </select>
<select id="selectScoreByIdV2" resultType="com.elink.esua.epdc.dto.project.result.ProjectDetailResultDTO">
SELECT
es.SCORE as USER_SCORE
FROM
epdc_property_project ep
LEFT JOIN epdc_group eg ON ep.id = eg.REFERENCE_BUSINESS_ID
LEFT JOIN epdc_user_group eu ON eg.id = eu.GROUP_ID
AND eu.DEL_FLAG = '0'
LEFT JOIN epdc_property_project_score es ON ep.id = es.PROJECT_ID
AND ep.PROPERTY_ID = es.PROPERTY_ID
AND es.DEL_FLAG = '0'
WHERE
ep.id = #{id}
AND es.USER_ID = #{userId}
</select>
<select id="selectListOfOrganizationInfo" resultType="com.elink.esua.epdc.dto.project.PropertyProjectDTO"> <select id="selectListOfOrganizationInfo" resultType="com.elink.esua.epdc.dto.project.PropertyProjectDTO">
SELECT SELECT

Loading…
Cancel
Save