Browse Source

查询项目下的交付物记录

tall3
ma 4 years ago
parent
commit
302c14c61f
  1. 2
      common/src/main/java/com/ccsens/common/bean/vo/CDeliverVo.java
  2. 2
      common/src/main/java/com/ccsens/common/persist/dao/ProDeliverDao.java
  3. 8
      common/src/main/java/com/ccsens/common/persist/dao/ProRoleTaskDao.java
  4. 28
      common/src/main/java/com/ccsens/common/service/DeliverService.java
  5. 33
      common/src/main/resources/mapper_dao/ProDeliverDao.xml
  6. 14
      common/src/main/resources/mapper_dao/ProRoleTaskDao.xml

2
common/src/main/java/com/ccsens/common/bean/vo/CDeliverVo.java

@ -40,7 +40,7 @@ public class CDeliverVo {
@ApiModelProperty("上传时间")
private Long time;
@ApiModelProperty("文本内容")
private Long content;
private String content;
@ApiModelProperty("检查人列表")
private List<CheckerInfo> checkerList;
}

2
common/src/main/java/com/ccsens/common/persist/dao/ProDeliverDao.java

@ -22,5 +22,5 @@ public interface ProDeliverDao extends ProDeliverMapper {
* @param params 项目id
* @return 所有项目及交付物
*/
CDeliverVo.DeliverOfProject queryDeliverOfProject(CDeliverDto.QueryDeliverOfProject params);
List<CDeliverVo.DeliverOfTask> queryDeliverOfProject(CDeliverDto.QueryDeliverOfProject params);
}

8
common/src/main/java/com/ccsens/common/persist/dao/ProRoleTaskDao.java

@ -25,4 +25,12 @@ public interface ProRoleTaskDao extends ProRoleTaskMapper {
* @param newRoleTaskList 角色任务关系列表
*/
void insertAllRoleTask(@Param("roleTaskList") List<ProRoleTask> newRoleTaskList);
/**
* 查询我负责的任务
* @param taskDetailId 任务详情id
* @param userOfRoles 角色id列表
* @return 角色任务id
*/
List<Long> isMyTask(@Param("taskDetailId") Long taskDetailId,@Param("roleIdList") List<Long> userOfRoles);
}

28
common/src/main/java/com/ccsens/common/service/DeliverService.java

@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.ccsens.common.bean.dto.CDeliverDto;
import com.ccsens.common.bean.po.ProDeliver;
import com.ccsens.common.bean.po.ProDeliverChecker;
import com.ccsens.common.bean.po.ProRoleTask;
import com.ccsens.common.bean.po.ProTaskSub;
import com.ccsens.common.bean.vo.CDeliverVo;
import com.ccsens.common.bean.vo.CProjectVo;
@ -40,6 +41,12 @@ public class DeliverService implements IDeliverService{
@Resource
private ProDeliverCheckerDao deliverCheckerDao;
@Resource
private ProRoleTaskDao roleTaskDao;
@Resource
private ProRoleDao roleDao;
@Resource
private ProRoleMemberDao roleMemberDao;
@Resource
private Snowflake snowflake;
@Override
@ -62,6 +69,20 @@ public class DeliverService implements IDeliverService{
throw new BaseException(CommonCodeError.NOT_TASK);
}
Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId);
if (ObjectUtil.isNull(userOfMemberId)) {
throw new BaseException(CommonCodeError.NO_POWER);
}
List<Long> userOfRoles = roleMemberDao.findMemberOfRoleIds(userOfMemberId);
//查看是否是我负责的任务
if (CollectionUtil.isNotEmpty(userOfRoles)) {
List<Long> isMyTask = roleTaskDao.isMyTask(taskSub.getTaskDetailId(), userOfRoles);
if (CollectionUtil.isEmpty(isMyTask)) {
throw new BaseException(CommonCodeError.NO_POWER);
}
}else {
throw new BaseException(CommonCodeError.NO_POWER);
}
ProDeliver proDeliver = new ProDeliver();
proDeliver.setId(snowflake.nextId());
proDeliver.setTaskSubId(params.getTaskSubId());
@ -128,8 +149,11 @@ public class DeliverService implements IDeliverService{
if (ObjectUtil.isNull(projectById)) {
throw new BaseException(CommonCodeError.PROJECT_NOT_FOUND);
}
CDeliverVo.DeliverOfProject deliverOfProject = deliverDao.queryDeliverOfProject(params);
return null;
List<CDeliverVo.DeliverOfTask> deliverOfTask = deliverDao.queryDeliverOfProject(params);
CDeliverVo.DeliverOfProject deliverOfProject = new CDeliverVo.DeliverOfProject();
deliverOfProject.setProjectName(projectById.getName());
deliverOfProject.setDeliverOfTaskList(deliverOfTask);
return deliverOfProject;
}
}

33
common/src/main/resources/mapper_dao/ProDeliverDao.xml

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.common.persist.dao.ProDeliverDao">
<resultMap id="delivOfTask" type="com.ccsens.common.bean.vo.CDeliverVo$DeliverOfTask">
<resultMap id="deliverOfTask" type="com.ccsens.common.bean.vo.CDeliverVo$DeliverOfTask">
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="taskName" property="taskName"/>
@ -18,7 +18,7 @@
</collection>
</resultMap>
<select id="queryDeliverOfTask" resultType="com.ccsens.common.bean.vo.CDeliverVo$DeliverOfTask">
<select id="queryDeliverOfTask" resultMap="deliverOfTask">
SELECT
d.id,
m.`name`,
@ -41,12 +41,35 @@
WHERE
d.rec_status = 0 AND c.rec_status = 0 AND ts.rec_status = 0 AND td.rec_status = 0
AND c.rec_status = 0
AND task_sub_id = #{taskSubId}
AND d.task_sub_id = #{taskSubId}
ORDER BY d.time DESC
</select>
<select id="queryDeliverOfProject" resultType="com.ccsens.common.bean.vo.CDeliverVo$DeliverOfProject">
<select id="queryDeliverOfProject" resultMap="deliverOfTask">
SELECT
d.id,
m.`name`,
td.`name` AS taskName,
d.time,
d.content,
c.id As checkId,
m1.`name` AS checkerName,
m1.id AS checkerId,
c.`status`,
c.score,
c.remark
FROM
t_pro_deliver AS d
LEFT JOIN t_pro_deliver_checker AS c ON d.id = c.deliver_id
LEFT JOIN t_pro_task_sub AS ts ON ts.id = d.task_sub_id
LEFT JOIN t_pro_task_detail AS td ON td.id = ts.task_detail_id
LEFT JOIN t_pro_member AS m ON m.id = d.member_id AND m.rec_status = 0
LEFT JOIN t_pro_member AS m1 ON m1.id = c.member_id AND m1.rec_status = 0
WHERE
d.rec_status = 0 AND c.rec_status = 0 AND ts.rec_status = 0 AND td.rec_status = 0
AND c.rec_status = 0
AND d.project_id = #{projectId}
ORDER BY d.time DESC
</select>
</mapper>

14
common/src/main/resources/mapper_dao/ProRoleTaskDao.xml

@ -31,4 +31,18 @@
</foreach>
</select>
<select id="isMyTask" resultType="java.lang.Long">
SELECT
id
FROM
t_pro_role_task
WHERE
task_id = #{taskDetailId}
AND role_id IN
<foreach collection="roleIdList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>

Loading…
Cancel
Save