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.common.bean.dto.CClockingInDto;
//import com.ccsens.common.bean.dto.CShareDto;
//import com.ccsens.common.bean.dto.CTaskDto;
//
//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.service.IClockingInService;
//import com.ccsens.common.service.IShareService;
//import com.ccsens.common.service.ITaskService;
//import com.ccsens.util.JsonResponse;
//import com.ccsens.util.bean.dto.QueryDto;
@ -37,6 +40,8 @@
// private ITaskService taskService;
// @Resource
// private IClockingInService clockingInService;
// @Resource
// private IShareService shareService;
//
// @MustLogin
// @ApiOperation(value = "查找永久日常任务", notes = "")
@ -101,4 +106,12 @@
// log.info("添加任务结束{}",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;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("打卡角色")
private Long roleId;
@ApiModelProperty("成员id数组")
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;
import com.ccsens.common.bean.po.ProMember;
import com.ccsens.common.bean.vo.CClockingInVo;
import com.ccsens.common.bean.vo.CDeliverVo;
import com.ccsens.common.bean.vo.CMemberVo;
@ -41,9 +42,10 @@ public interface ProMemberDao extends ProMemberMapper {
* 查询需要打卡的成员,排除当前登录用户
* @param projectId 项目id
* @param userOfMemberId 当前登录人的成员id
* @param roleId 角色id
* @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和成员名
@ -63,9 +65,10 @@ public interface ProMemberDao extends ProMemberMapper {
/**
* 通过成员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
@ -79,4 +82,12 @@ public interface ProMemberDao extends ProMemberMapper {
* @return 返回项目id
*/
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<>();
Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId);
memberIdList.add(userOfMemberId);
ProMember member = memberDao.selectByPrimaryKey(userOfMemberId);
ProMember member = memberDao.queryMemberOfRole(userOfMemberId,params.getRoleId());
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()));
for (CClockingInVo.ClockingInInfo clockingInInfo : list) {
CClockingInVo.ClockRecord clockRecord = new CClockingInVo.ClockRecord();
clockRecord.setMemberId(member.getId());
clockRecord.setMemberName(member.getName());
clockRecord.setMemberUserId(member.getUserId());
clockingInInfo.getRecordList().add(clockRecord);
if (member.getUserId().equals(clockRecord.getMemberUserId())) {
clockRecord.setIsMine((byte)1);
if (ObjectUtil.isNotNull(member)) {
CClockingInVo.ClockRecord clockRecord = new CClockingInVo.ClockRecord();
clockRecord.setMemberId(member.getId());
clockRecord.setMemberName(member.getName());
clockRecord.setMemberUserId(member.getUserId());
clockingInInfo.getRecordList().add(clockRecord);
if (member.getUserId().equals(clockRecord.getMemberUserId())) {
clockRecord.setIsMine((byte)1);
}
}
for (CClockingInVo.ClockRecord record : clockRecordList) {
CClockingInVo.ClockRecord otherClockRecord = new CClockingInVo.ClockRecord();
@ -97,53 +99,59 @@ public class ClockingInService implements IClockingInService {
otherClockRecord.setMemberUserId(record.getMemberUserId());
clockingInInfo.getRecordList().add(otherClockRecord);
if (member.getUserId().equals(otherClockRecord.getMemberUserId())) {
clockRecord.setIsMine((byte)1);
record.setIsMine((byte)1);
}
}
}
}else {
//2.筛选成员
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMemberByIdList(params.getMemberIdList());
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList()));
for (CClockingInVo.ClockingInInfo clockingInInfo : list) {
for (CClockingInVo.ClockRecord clockRecord : clockRecordList) {
CClockingInVo.ClockRecord filterRecord = new CClockingInVo.ClockRecord();
filterRecord.setMemberId(clockRecord.getMemberId());
filterRecord.setMemberName(clockRecord.getMemberName());
filterRecord.setMemberUserId(clockRecord.getMemberUserId());
if (filterRecord.getMemberUserId().equals(userId)) {
filterRecord.setIsMine((byte)1);
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMemberByIdList(params.getMemberIdList(),params.getRoleId());
if (CollectionUtil.isNotEmpty(clockRecordList)) {
memberIdList.addAll(clockRecordList.stream().map(CClockingInVo.ClockRecord::getMemberId).collect(Collectors.toList()));
for (CClockingInVo.ClockingInInfo clockingInInfo : list) {
for (CClockingInVo.ClockRecord clockRecord : clockRecordList) {
CClockingInVo.ClockRecord filterRecord = new CClockingInVo.ClockRecord();
filterRecord.setMemberId(clockRecord.getMemberId());
filterRecord.setMemberName(clockRecord.getMemberName());
filterRecord.setMemberUserId(clockRecord.getMemberUserId());
if (filterRecord.getMemberUserId().equals(userId)) {
filterRecord.setIsMine((byte)1);
}
clockingInInfo.getRecordList().add(filterRecord);
}
clockingInInfo.getRecordList().add(filterRecord);
}
}
}
//查询所有成员打卡记录
List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList);
for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) {
for (CClockingInVo.ClockRecord record : clockRecords) {
if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) || format.format(new Date(record.getNight())).equals(clockingInInfo2.getDateTime())) {
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) {
if (clockRecord.getMemberId().equals(record.getMemberId())) {
if (CollectionUtil.isNotEmpty(memberIdList)) {
List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList);
for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) {
for (CClockingInVo.ClockRecord record : clockRecords) {
if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) || format.format(new Date(record.getNight())).equals(clockingInInfo2.getDateTime())) {
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) {
if (clockRecord.getMemberId().equals(record.getMemberId())) {
clockRecord.setId(record.getId());
clockRecord.setMemberName(record.getMemberName());
clockRecord.setMemberId(record.getMemberId());
clockRecord.setCheckerName(record.getCheckerName());
clockRecord.setCheckerId(record.getCheckerId());
clockRecord.setMorning(record.getMorning());
clockRecord.setMorningStatus(record.getMorningStatus());
clockRecord.setNight(record.getNight());
clockRecord.setNightStatus(record.getNightStatus());
if (record.getCheckerId().equals(member.getId())) {
clockRecord.setIsChecker((byte)1);
clockRecord.setId(record.getId());
clockRecord.setMemberName(record.getMemberName());
clockRecord.setMemberId(record.getMemberId());
clockRecord.setCheckerName(record.getCheckerName());
clockRecord.setCheckerId(record.getCheckerId());
clockRecord.setMorning(record.getMorning());
clockRecord.setMorningStatus(record.getMorningStatus());
clockRecord.setNight(record.getNight());
clockRecord.setNightStatus(record.getNightStatus());
if (record.getCheckerId().equals(member.getId())) {
clockRecord.setIsChecker((byte)1);
}
}
}
}
}
}
}
List<CClockingInVo.ClockingInInfo> collect = list.stream().distinct().collect(Collectors.toList());
//查询上次检查人
for (CClockingInVo.ClockingInInfo clockingInInfo : collect) {
@ -290,7 +298,7 @@ public class ClockingInService implements IClockingInService {
list.add(firstCells);
list.add(secondCells);
for (CClockingInVo.ClockingInInfo clockingInInfo : clockingInInfos) {
//添加考勤信息
//添加考勤人员信息
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo.getRecordList()) {
List<PoiUtil.PoiUtilCell> memberCells = new ArrayList<>();
PoiUtil.PoiUtilCell cell = new PoiUtil.PoiUtilCell();
@ -308,17 +316,22 @@ public class ClockingInService implements IClockingInService {
PoiUtil.PoiUtilCell morning = new PoiUtil.PoiUtilCell();
if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getMorning()) || 0 == clockingInInfo.getRecordList().get(i).getMorning()){
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())));
}
poiUtilCells.add(morning);
PoiUtil.PoiUtilCell night = new PoiUtil.PoiUtilCell();
if (ObjectUtil.isNull(clockingInInfo.getRecordList().get(i).getNight()) || 0 == clockingInInfo.getRecordList().get(i).getNight()){
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())));
}
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.setId(snowflake.nextId());
proProjectShare.setUserId(userId);
proProjectShare.setUrl(param.getPath()+"&shareId="+md5Code);
proProjectShare.setUrl(param.getPath()+"?share=1&shareId="+md5Code);
proProjectShare.setCode(md5Code);
proProjectShare.setProjectId(param.getProjectId());
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 AS memberId,
`name` AS memberName,
user_id AS memberUserId
m.id AS memberId,
m.`name` AS memberName,
m.user_id AS memberUserId
FROM
t_pro_member
t_pro_member AS m
LEFT JOIN t_pro_role_member AS rm ON m.id = rm.member_id
WHERE
rec_status = 0
AND project_id = #{projectId}
AND id != #{userId}
m.rec_status = 0 AND rm.rec_status = 0
AND m.project_id = #{projectId}
AND rm.role_id = #{roleId}
AND m.id != #{userId}
</select>
<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 AS memberId,
`name` AS memberName,
user_id AS memberUserId
m.id AS memberId,
m.`name` AS memberName,
m.user_id AS memberUserId
FROM
t_pro_member
t_pro_member AS m
LEFT JOIN t_pro_role_member AS rm ON m.id = rm.member_id
WHERE
rec_status = 0
AND id IN
m.rec_status = 0 AND rm.rec_status = 0
AND rm.role_id = #{roleId}
AND m.id IN
<foreach collection="memberIdList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
@ -107,4 +111,17 @@
and rec_status = 0
GROUP BY project_id
</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>

Loading…
Cancel
Save