Browse Source

查询考勤信息

tall3
ma 4 years ago
parent
commit
a3b67f479c
  1. 13
      common/src/main/java/com/ccsens/common/api/TaskController.java
  2. 7
      common/src/main/java/com/ccsens/common/persist/dao/ProMemberDao.java
  3. 64
      common/src/main/java/com/ccsens/common/service/ClockingInService.java
  4. 4
      common/src/main/resources/application.yml
  5. 3
      common/src/main/resources/druid-dev.yml
  6. 14
      common/src/main/resources/mapper_dao/ProMemberDao.xml

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

@ -1,10 +1,13 @@
//package com.ccsens.common.api;
//
//import com.ccsens.cloudutil.annotation.MustLogin;
//import com.ccsens.common.bean.dto.CClockingInDto;
//import com.ccsens.common.bean.dto.CTaskDto;
//
//import com.ccsens.common.bean.vo.CClockingInVo;
//import com.ccsens.common.bean.vo.CTaskVo;
//
//import com.ccsens.common.service.IClockingInService;
//import com.ccsens.common.service.ITaskService;
//import com.ccsens.util.JsonResponse;
//import com.ccsens.util.bean.dto.QueryDto;
@ -32,6 +35,8 @@
//
// @Resource
// private ITaskService taskService;
// @Resource
// private IClockingInService clockingInService;
//
// @MustLogin
// @ApiOperation(value = "查找永久日常任务", notes = "")
@ -63,4 +68,12 @@
// return JsonResponse.newInstance().ok(regularTask);
// }
//
//
// @MustLogin
// @ApiOperation(value = "查询考勤信息", notes = "")
// @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<List<CClockingInVo.ClockingInInfo>> queryDeliverOfTask(@ApiParam @Validated @RequestBody QueryDto<CClockingInDto.QueryClockingIn> params) throws Exception{
// List<CClockingInVo.ClockingInInfo> clockingInInfos = clockingInService.queryClockingIn(params.getParam(), params.getUserId());
// return JsonResponse.newInstance().ok(clockingInInfos);
// }
//}

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

@ -59,4 +59,11 @@ public interface ProMemberDao extends ProMemberMapper {
* @return 返回所有成员的userId
*/
List<String> queryUserIdByMemberId(@Param("memberIdList")List<Long> memberIdList);
/**
* 通过成员idList查询成员信息
* @param memberIdList 成员idList
* @return
*/
List<CClockingInVo.ClockRecord> queryMemberByIdList(@Param("memberIdList") List<Long> memberIdList);
}

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

@ -39,8 +39,9 @@ public class ClockingInService implements IClockingInService {
@Override
public List<CClockingInVo.ClockingInInfo> queryClockingIn(CClockingInDto.QueryClockingIn params, Long userId) {
//创建时间
//返回值
List<CClockingInVo.ClockingInInfo> list = new ArrayList<>();
//创建时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date startTimeParam = new Date(params.getStartTime());
Date endTimeParam = new Date(params.getEndTime());
@ -62,38 +63,53 @@ public class ClockingInService implements IClockingInService {
list.add(end);
//添加成员信息
//1.查询全部
List<Long> memberIdList = new ArrayList<>();
Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId);
memberIdList.add(userOfMemberId);
ProMember member = memberDao.selectByPrimaryKey(userOfMemberId);
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMembersOfClock(params.getProjectId(),userOfMemberId);
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());
clockingInInfo.getRecordList().add(clockRecord);
clockingInInfo.getRecordList().addAll(clockRecordList);
if (CollectionUtil.isEmpty(params.getMemberIdList())){
Long userOfMemberId = memberDao.findUserOfMemberId(params.getProjectId(), userId);
memberIdList.add(userOfMemberId);
ProMember member = memberDao.selectByPrimaryKey(userOfMemberId);
List<CClockingInVo.ClockRecord> clockRecordList = memberDao.queryMembersOfClock(params.getProjectId(),userOfMemberId);
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());
clockingInInfo.getRecordList().add(clockRecord);
for (CClockingInVo.ClockRecord record : clockRecordList) {
CClockingInVo.ClockRecord otherClockRecord = new CClockingInVo.ClockRecord();
otherClockRecord.setMemberId(record.getMemberId());
otherClockRecord.setMemberName(record.getMemberName());
clockingInInfo.getRecordList().add(otherClockRecord);
}
}
}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.getId());
filterRecord.setMemberName(clockRecord.getMemberName());
clockingInInfo.getRecordList().add(filterRecord);
}
}
}
List<CClockingInVo.ClockingInInfo> newList = list.stream().distinct().collect(Collectors.toList());
//查询所有成员打卡记录
List<CClockingInVo.ClockRecord> clockRecords = clockingInDao.queryByMemberId(memberIdList);
if(CollectionUtil.isNotEmpty(clockRecords)) {
for (CClockingInVo.ClockRecord clockRecord : clockRecords) {
String morning = format.format(new Date(clockRecord.getMorning()));
for (CClockingInVo.ClockingInInfo clockingInInfo : newList) {
if (clockingInInfo.getDateTime().equals(morning)) {
for (CClockingInVo.ClockRecord record : clockingInInfo.getRecordList()) {
if (clockRecord.getMemberId().equals(record.getMemberId())){
BeanUtil.copyProperties(clockRecord,record);
}
}
for (CClockingInVo.ClockingInInfo clockingInInfo2 : list) {
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo2.getRecordList()) {
for (CClockingInVo.ClockRecord record : clockRecords) {
if (format.format(new Date(record.getMorning())).equals(clockingInInfo2.getDateTime()) && clockRecord.getMemberId().equals(record.getMemberId())) {
clockRecord.setCheckerId(record.getCheckerId());
clockRecord.setCheckerName(record.getCheckerName());
}
}
}
}
return newList;
return list.stream().distinct().collect(Collectors.toList());
}
@Override

4
common/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: prod
include: util-prod,common
active: test
include: util-test,common

3
common/src/main/resources/druid-dev.yml

@ -27,7 +27,8 @@ spring:
testOnReturn: false
testWhileIdle: true
timeBetweenEvictionRunsMillis: 60000
url: jdbc:mysql://49.233.89.188:3306/defaultwbs?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true
url: jdbc:mysql://49.233.89.188:3306/defaultwbs?useUnicode=true&characterEncoding=UTF-8
# url: jdbc:mysql://49.233.89.188:3306/defaultwbs?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true
# url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
validationQuery: SELECT 1 FROM DUAL

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

@ -71,4 +71,18 @@
</foreach>
</if>
</select>
<select id="queryMemberByIdList" resultType="com.ccsens.common.bean.vo.CClockingInVo$ClockRecord">
SELECT
id AS memberId,
`name` AS memberName
FROM
t_pro_member
WHERE
rec_status = 0
AND id IN
<foreach collection="memberIdList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>

Loading…
Cancel
Save