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);
/**
* 项目详情打分情况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
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

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

@ -164,13 +164,14 @@
0
END
) AS GROUP_MEMBER_FLAG,
SUM(
CASE
WHEN es.SCORE IS NOT NULL
AND es.USER_ID = #{userId} THEN
es.SCORE
ELSE
''
END AS USER_SCORE,
END) AS USER_SCORE,
IFNULL(
CONVERT (
avg(es.score),
@ -199,6 +200,21 @@
GROUP BY
ep.ID
</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

Loading…
Cancel
Save