Browse Source

Merge branch 'tall3' of dd.tall.wiki:ccsens_wiki/ccsenscloud into tall3

tall3
zy_Java 4 years ago
parent
commit
0617270edc
  1. 13
      common/src/main/java/com/ccsens/common/api/TaskController.java
  2. 2
      common/src/main/java/com/ccsens/common/bean/dto/CClockingInDto.java
  3. 17
      common/src/main/java/com/ccsens/common/persist/dao/ProMemberDao.java
  4. 95
      common/src/main/java/com/ccsens/common/service/ClockingInService.java
  5. 2
      common/src/main/java/com/ccsens/common/service/ShareService.java
  6. 43
      common/src/main/resources/mapper_dao/ProMemberDao.xml

13
common/src/main/java/com/ccsens/common/api/TaskController.java

@ -2,12 +2,15 @@
// //
//import com.ccsens.cloudutil.annotation.MustLogin; //import com.ccsens.cloudutil.annotation.MustLogin;
//import com.ccsens.common.bean.dto.CClockingInDto; //import com.ccsens.common.bean.dto.CClockingInDto;
//import com.ccsens.common.bean.dto.CShareDto;
//import com.ccsens.common.bean.dto.CTaskDto; //import com.ccsens.common.bean.dto.CTaskDto;
// //
//import com.ccsens.common.bean.vo.CClockingInVo; //import com.ccsens.common.bean.vo.CClockingInVo;
//import com.ccsens.common.bean.vo.CShareVo;
//import com.ccsens.common.bean.vo.CTaskVo; //import com.ccsens.common.bean.vo.CTaskVo;
// //
//import com.ccsens.common.service.IClockingInService; //import com.ccsens.common.service.IClockingInService;
//import com.ccsens.common.service.IShareService;
//import com.ccsens.common.service.ITaskService; //import com.ccsens.common.service.ITaskService;
//import com.ccsens.util.JsonResponse; //import com.ccsens.util.JsonResponse;
//import com.ccsens.util.bean.dto.QueryDto; //import com.ccsens.util.bean.dto.QueryDto;
@ -37,6 +40,8 @@
// private ITaskService taskService; // private ITaskService taskService;
// @Resource // @Resource
// private IClockingInService clockingInService; // private IClockingInService clockingInService;
// @Resource
// private IShareService shareService;
// //
// @MustLogin // @MustLogin
// @ApiOperation(value = "查找永久日常任务", notes = "") // @ApiOperation(value = "查找永久日常任务", notes = "")
@ -101,4 +106,12 @@
// log.info("添加任务结束{}",taskList); // log.info("添加任务结束{}",taskList);
// return JsonResponse.newInstance().ok(taskList); // return JsonResponse.newInstance().ok(taskList);
// } // }
//
// @MustLogin
// @ApiOperation(value = "创建分享连接", notes = "")
// @RequestMapping(value = "/create", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<CShareVo.CreateShareUrl> createShareUrl(@ApiParam @Validated @RequestBody QueryDto<CShareDto.CreateShareUrl> params) {
// CShareVo.CreateShareUrl shareUrl = shareService.createShareUrl(params.getParam(), params.getUserId());
// return JsonResponse.newInstance().ok(shareUrl);
// }
//} //}

2
common/src/main/java/com/ccsens/common/bean/dto/CClockingInDto.java

@ -25,6 +25,8 @@ public class CClockingInDto {
private Long startTime; private Long startTime;
@ApiModelProperty("结束时间") @ApiModelProperty("结束时间")
private Long endTime; private Long endTime;
@ApiModelProperty("打卡角色")
private Long roleId;
@ApiModelProperty("成员id数组") @ApiModelProperty("成员id数组")
private List<Long> memberIdList; private List<Long> memberIdList;
} }

17
common/src/main/java/com/ccsens/common/persist/dao/ProMemberDao.java

@ -1,5 +1,6 @@
package com.ccsens.common.persist.dao; package com.ccsens.common.persist.dao;
import com.ccsens.common.bean.po.ProMember;
import com.ccsens.common.bean.vo.CClockingInVo; import com.ccsens.common.bean.vo.CClockingInVo;
import com.ccsens.common.bean.vo.CDeliverVo; import com.ccsens.common.bean.vo.CDeliverVo;
import com.ccsens.common.bean.vo.CMemberVo; import com.ccsens.common.bean.vo.CMemberVo;
@ -41,9 +42,10 @@ public interface ProMemberDao extends ProMemberMapper {
* 查询需要打卡的成员,排除当前登录用户 * 查询需要打卡的成员,排除当前登录用户
* @param projectId 项目id * @param projectId 项目id
* @param userOfMemberId 当前登录人的成员id * @param userOfMemberId 当前登录人的成员id
* @param roleId 角色id
* @return 打卡记录 * @return 打卡记录
*/ */
List<CClockingInVo.ClockRecord> queryMembersOfClock(@Param("projectId") Long projectId,@Param("userId") Long userOfMemberId); List<CClockingInVo.ClockRecord> queryMembersOfClock(@Param("projectId") Long projectId,@Param("userId") Long userOfMemberId,@Param("roleId") Long roleId);
/** /**
* 通过项目id和userId查找成员id和成员名 * 通过项目id和userId查找成员id和成员名
@ -63,9 +65,10 @@ public interface ProMemberDao extends ProMemberMapper {
/** /**
* 通过成员idList查询成员信息 * 通过成员idList查询成员信息
* @param memberIdList 成员idList * @param memberIdList 成员idList
* @return * @param roleId 角色id
* @return 成员信息
*/ */
List<CClockingInVo.ClockRecord> queryMemberByIdList(@Param("memberIdList") List<Long> memberIdList); List<CClockingInVo.ClockRecord> queryMemberByIdList(@Param("memberIdList") List<Long> memberIdList,@Param("roleId") Long roleId);
/** /**
* 修改手机号相同的成员的userId * 修改手机号相同的成员的userId
@ -79,4 +82,12 @@ public interface ProMemberDao extends ProMemberMapper {
* @return 返回项目id * @return 返回项目id
*/ */
List<Long> queryProjectIdByPhone(@Param("phone")String phone); List<Long> queryProjectIdByPhone(@Param("phone")String phone);
/**
* 根据根据成员id和角色id查询成员信息
* @param userOfMemberId 成员id
* @param roleId 角色id
* @return 成员信息
*/
ProMember queryMemberOfRole(@Param("memberId") Long userOfMemberId,@Param("roleId") Long roleId);
} }

95
common/src/main/java/com/ccsens/common/service/ClockingInService.java

@ -77,18 +77,20 @@ public class ClockingInService implements IClockingInService {
List<Long> memberIdList = new ArrayList<>(); List<Long> memberIdList = new ArrayList<>();
Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId); Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId);
memberIdList.add(userOfMemberId); memberIdList.add(userOfMemberId);
ProMember member = memberDao.selectByPrimaryKey(userOfMemberId); ProMember member = memberDao.queryMemberOfRole(userOfMemberId,params.getRoleId());
if (CollectionUtil.isEmpty(params.getMemberIdList())){ if (CollectionUtil.isEmpty(params.getMemberIdList())){
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMembersOfClock(params.getProjectId(),userOfMemberId); List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMembersOfClock(params.getProjectId(),userOfMemberId,params.getRoleId());
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList())); memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList()));
for (CClockingInVo.ClockingInInfo clockingInInfo : list) { for (CClockingInVo.ClockingInInfo clockingInInfo : list) {
CClockingInVo.ClockRecord clockRecord = new CClockingInVo.ClockRecord(); if (ObjectUtil.isNotNull(member)) {
clockRecord.setMemberId(member.getId()); CClockingInVo.ClockRecord clockRecord = new CClockingInVo.ClockRecord();
clockRecord.setMemberName(member.getName()); clockRecord.setMemberId(member.getId());
clockRecord.setMemberUserId(member.getUserId()); clockRecord.setMemberName(member.getName());
clockingInInfo.getRecordList().add(clockRecord); clockRecord.setMemberUserId(member.getUserId());
if (member.getUserId().equals(clockRecord.getMemberUserId())) { clockingInInfo.getRecordList().add(clockRecord);
clockRecord.setIsMine((byte)1); if (member.getUserId().equals(clockRecord.getMemberUserId())) {
clockRecord.setIsMine((byte)1);
}
} }
for (CClockingInVo.ClockRecord record : clockRecordList) { for (CClockingInVo.ClockRecord record : clockRecordList) {
CClockingInVo.ClockRecord otherClockRecord = new CClockingInVo.ClockRecord(); CClockingInVo.ClockRecord otherClockRecord = new CClockingInVo.ClockRecord();
@ -97,53 +99,59 @@ public class ClockingInService implements IClockingInService {
otherClockRecord.setMemberUserId(record.getMemberUserId()); otherClockRecord.setMemberUserId(record.getMemberUserId());
clockingInInfo.getRecordList().add(otherClockRecord); clockingInInfo.getRecordList().add(otherClockRecord);
if (member.getUserId().equals(otherClockRecord.getMemberUserId())) { if (member.getUserId().equals(otherClockRecord.getMemberUserId())) {
clockRecord.setIsMine((byte)1); record.setIsMine((byte)1);
} }
} }
} }
}else { }else {
//2.筛选成员 //2.筛选成员
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMemberByIdList(params.getMemberIdList()); List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMemberByIdList(params.getMemberIdList(),params.getRoleId());
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList())); if (CollectionUtil.isNotEmpty(clockRecordList)) {
for (CClockingInVo.ClockingInInfo clockingInInfo : list) { memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList()));
for (CClockingInVo.ClockRecord clockRecord : clockRecordList) { for (CClockingInVo.ClockingInInfo clockingInInfo : list) {
CClockingInVo.ClockRecord filterRecord = new CClockingInVo.ClockRecord(); for (CClockingInVo.ClockRecord clockRecord : clockRecordList) {
filterRecord.setMemberId(clockRecord.getMemberId()); CClockingInVo.ClockRecord filterRecord = new CClockingInVo.ClockRecord();
filterRecord.setMemberName(clockRecord.getMemberName()); filterRecord.setMemberId(clockRecord.getMemberId());
filterRecord.setMemberUserId(clockRecord.getMemberUserId()); filterRecord.setMemberName(clockRecord.getMemberName());
if (filterRecord.getMemberUserId().equals(userId)) { filterRecord.setMemberUserId(clockRecord.getMemberUserId());
filterRecord.setIsMine((byte)1); if (filterRecord.getMemberUserId().equals(userId)) {
filterRecord.setIsMine((byte)1);
}
clockingInInfo.getRecordList().add(filterRecord);
} }
clockingInInfo.getRecordList().add(filterRecord);
} }
} }
} }
//查询所有成员打卡记录 //查询所有成员打卡记录
List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList); if (CollectionUtil.isNotEmpty(memberIdList)) {
for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) { List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList);
for (CClockingInVo.ClockRecord record : clockRecords) { for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) {
if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) || format.format(new Date(record.getNight())).equals(clockingInInfo2.getDateTime())) { for (CClockingInVo.ClockRecord record : clockRecords) {
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) { if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) || format.format(new Date(record.getNight())).equals(clockingInInfo2.getDateTime())) {
if (clockRecord.getMemberId().equals(record.getMemberId())) { for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) {
if (clockRecord.getMemberId().equals(record.getMemberId())) {
clockRecord.setId(record.getId()); clockRecord.setId(record.getId());
clockRecord.setMemberName(record.getMemberName()); clockRecord.setMemberName(record.getMemberName());
clockRecord.setMemberId(record.getMemberId()); clockRecord.setMemberId(record.getMemberId());
clockRecord.setCheckerName(record.getCheckerName()); clockRecord.setCheckerName(record.getCheckerName());
clockRecord.setCheckerId(record.getCheckerId()); clockRecord.setCheckerId(record.getCheckerId());
clockRecord.setMorning(record.getMorning()); clockRecord.setMorning(record.getMorning());
clockRecord.setMorningStatus(record.getMorningStatus()); clockRecord.setMorningStatus(record.getMorningStatus());
clockRecord.setNight(record.getNight()); clockRecord.setNight(record.getNight());
clockRecord.setNightStatus(record.getNightStatus()); clockRecord.setNightStatus(record.getNightStatus());
if (record.getCheckerId().equals(member.getId())) { if (record.getCheckerId().equals(member.getId())) {
clockRecord.setIsChecker((byte)1); clockRecord.setIsChecker((byte)1);
}
} }
} }
} }
} }
} }
} }
List<CClockingInVo.ClockingInInfo> collect = list.stream().distinct().collect(Collectors.toList()); List<CClockingInVo.ClockingInInfo> collect = list.stream().distinct().collect(Collectors.toList());
//查询上次检查人 //查询上次检查人
for (CClockingInVo.ClockingInInfo clockingInInfo : collect) { for (CClockingInVo.ClockingInInfo clockingInInfo : collect) {
@ -290,7 +298,7 @@ public class ClockingInService implements IClockingInService {
list.add(firstCells); list.add(firstCells);
list.add(secondCells); list.add(secondCells);
for (CClockingInVo.ClockingInInfo clockingInInfo : clockingInInfos) { for (CClockingInVo.ClockingInInfo clockingInInfo : clockingInInfos) {
//添加考勤信息 //添加考勤人员信息
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo.getRecordList()) { for (CClockingInVo.ClockRecord clockRecord : clockingInInfo.getRecordList()) {
List<PoiUtil.PoiUtilCell> memberCells = new ArrayList<>(); List<PoiUtil.PoiUtilCell> memberCells = new ArrayList<>();
PoiUtil.PoiUtilCell cell = new PoiUtil.PoiUtilCell(); PoiUtil.PoiUtilCell cell = new PoiUtil.PoiUtilCell();
@ -308,17 +316,22 @@ public class ClockingInService implements IClockingInService {
PoiUtil.PoiUtilCell morning = new PoiUtil.PoiUtilCell(); PoiUtil.PoiUtilCell morning = new PoiUtil.PoiUtilCell();
if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getMorning()) || 0 == clockingInInfo.getRecordList().get(i).getMorning()){ if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getMorning()) || 0 == clockingInInfo.getRecordList().get(i).getMorning()){
morning.setValue("未打卡"); morning.setValue("未打卡");
}else{ }else if (2 == clockingInInfo.getRecordList().get(i).getMorningStatus()){
morning.setValue("已驳回");
}else {
morning.setValue(format.format(new Date(clockingInInfo.getRecordList().get(i).getMorning()))); morning.setValue(format.format(new Date(clockingInInfo.getRecordList().get(i).getMorning())));
} }
poiUtilCells.add(morning); poiUtilCells.add(morning);
PoiUtil.PoiUtilCell night = new PoiUtil.PoiUtilCell(); PoiUtil.PoiUtilCell night = new PoiUtil.PoiUtilCell();
if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getNight()) || 0 == clockingInInfo.getRecordList().get(i).getNight()){ if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getNight()) || 0 == clockingInInfo.getRecordList().get(i).getNight()){
night.setValue("未打卡"); night.setValue("未打卡");
}else{ }else if (2 == clockingInInfo.getRecordList().get(i).getNightStatus()){
night.setValue("已驳回");
}else {
night.setValue(format.format(new Date(clockingInInfo.getRecordList().get(i).getNight()))); night.setValue(format.format(new Date(clockingInInfo.getRecordList().get(i).getNight())));
} }
poiUtilCells.add(night); poiUtilCells.add(night);
} }
} }

2
common/src/main/java/com/ccsens/common/service/ShareService.java

@ -61,7 +61,7 @@ public class ShareService implements IShareService{
ProProjectShare proProjectShare = new ProProjectShare(); ProProjectShare proProjectShare = new ProProjectShare();
proProjectShare.setId(snowflake.nextId()); proProjectShare.setId(snowflake.nextId());
proProjectShare.setUserId(userId); proProjectShare.setUserId(userId);
proProjectShare.setUrl(param.getPath()+"&shareId="+md5Code); proProjectShare.setUrl(param.getPath()+"?share=1&shareId="+md5Code);
proProjectShare.setCode(md5Code); proProjectShare.setCode(md5Code);
proProjectShare.setProjectId(param.getProjectId()); proProjectShare.setProjectId(param.getProjectId());
proProjectShare.setRoleId(param.getRoleId()); proProjectShare.setRoleId(param.getRoleId());

43
common/src/main/resources/mapper_dao/ProMemberDao.xml

@ -45,15 +45,17 @@
<select id="queryMembersOfClock" resultType="com.ccsens.common.bean.vo.CClockingInVo$ClockRecord"> <select id="queryMembersOfClock" resultType="com.ccsens.common.bean.vo.CClockingInVo$ClockRecord">
SELECT SELECT
id AS memberId, m.id AS memberId,
`name` AS memberName, m.`name` AS memberName,
user_id AS memberUserId m.user_id AS memberUserId
FROM FROM
t_pro_member t_pro_member AS m
LEFT JOIN t_pro_role_member AS rm ON m.id = rm.member_id
WHERE WHERE
rec_status = 0 m.rec_status = 0 AND rm.rec_status = 0
AND project_id = #{projectId} AND m.project_id = #{projectId}
AND id != #{userId} AND rm.role_id = #{roleId}
AND m.id != #{userId}
</select> </select>
<select id="getByUserIdAndProjectId" resultType="com.ccsens.common.bean.vo.CMemberVo$MemberIdAndName"> <select id="getByUserIdAndProjectId" resultType="com.ccsens.common.bean.vo.CMemberVo$MemberIdAndName">
@ -84,14 +86,16 @@
<select id="queryMemberByIdList" resultType="com.ccsens.common.bean.vo.CClockingInVo$ClockRecord"> <select id="queryMemberByIdList" resultType="com.ccsens.common.bean.vo.CClockingInVo$ClockRecord">
SELECT SELECT
id AS memberId, m.id AS memberId,
`name` AS memberName, m.`name` AS memberName,
user_id AS memberUserId m.user_id AS memberUserId
FROM FROM
t_pro_member t_pro_member AS m
LEFT JOIN t_pro_role_member AS rm ON m.id = rm.member_id
WHERE WHERE
rec_status = 0 m.rec_status = 0 AND rm.rec_status = 0
AND id IN AND rm.role_id = #{roleId}
AND m.id IN
<foreach collection="memberIdList" item="id" open="(" separator="," close=")"> <foreach collection="memberIdList" item="id" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
@ -107,4 +111,17 @@
and rec_status = 0 and rec_status = 0
GROUP BY project_id GROUP BY project_id
</select> </select>
<select id="queryMemberOfRole" resultType="com.ccsens.common.bean.po.ProMember">
SELECT
m.*
FROM
t_pro_member AS m
LEFT JOIN t_pro_role_member AS rm ON m.id = rm.member_id
WHERE
m.rec_status = 0
AND rm.rec_status = 0
AND m.id = #{memberId}
AND rm.role_id = #{roleId}
</select>
</mapper> </mapper>

Loading…
Cancel
Save