Browse Source

修改考勤相关接口

tall3
ma 4 years ago
parent
commit
79c0702e96
  1. 2
      common/src/main/java/com/ccsens/common/bean/dto/CClockingInDto.java
  2. 13
      common/src/main/java/com/ccsens/common/bean/vo/CClockingInVo.java
  3. 7
      common/src/main/java/com/ccsens/common/persist/dao/ProClockingInDao.java
  4. 26
      common/src/main/java/com/ccsens/common/service/ClockingInService.java
  5. 16
      common/src/main/resources/mapper_dao/ProClockingInDao.xml

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

@ -56,7 +56,7 @@ public class CClockingInDto {
@NotNull(message = "项目信息错误") @NotNull(message = "项目信息错误")
@ApiModelProperty("项目id") @ApiModelProperty("项目id")
private Long projectId; private Long projectId;
@ApiModelProperty("审批类型(0-修改,1-驳回)") @ApiModelProperty("审批类型(0-修改,1-驳回,2审核通过)")
private Byte type; private Byte type;
@ApiModelProperty("早打卡时间") @ApiModelProperty("早打卡时间")
private Long morning; private Long morning;

13
common/src/main/java/com/ccsens/common/bean/vo/CClockingInVo.java

@ -44,6 +44,10 @@ public class CClockingInVo {
private Long checkerId; private Long checkerId;
@ApiModelProperty("检查人名字") @ApiModelProperty("检查人名字")
private String checkerName; private String checkerName;
@ApiModelProperty("上次检查人id")
private Long lastCheckerId;
@ApiModelProperty("上次检查人名字")
private String lastCheckerName;
@ApiModelProperty("打卡人不是不是我(0-否,1-是)") @ApiModelProperty("打卡人不是不是我(0-否,1-是)")
private Byte isMine = 0; private Byte isMine = 0;
@ApiModelProperty("检查人是不是我(0-否,1-是)") @ApiModelProperty("检查人是不是我(0-否,1-是)")
@ -56,4 +60,13 @@ public class CClockingInVo {
@ApiModelProperty("文件路径") @ApiModelProperty("文件路径")
private String url; private String url;
} }
@Data
@ApiModel("上一次检查人")
public static class LastChecker{
@ApiModelProperty("上一次检查人Id")
private Long lastCheckerId;
@ApiModelProperty("上次检查人名字")
private String lastCheckerName;
}
} }

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

@ -28,4 +28,11 @@ public interface ProClockingInDao extends ProClockingInMapper {
* @return 打卡记录 * @return 打卡记录
*/ */
ProClockingIn queryHaveData(@Param("memberId") Long memberId,@Param("time") long currentTimeMillis); ProClockingIn queryHaveData(@Param("memberId") Long memberId,@Param("time") long currentTimeMillis);
/**
* 查询上一次打卡的检查人
* @param memberId 打卡人id
* @return 上一次检查人的信息
*/
CClockingInVo.LastChecker queryLastChecker(@Param("memberId") Long memberId);
} }

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

@ -144,7 +144,20 @@ public class ClockingInService implements IClockingInService {
} }
} }
} }
return list.stream().distinct().collect(Collectors.toList()); List<CClockingInVo.ClockingInInfo> collect = list.stream().distinct().collect(Collectors.toList());
//查询上次检查人
for (CClockingInVo.ClockingInInfo clockingInInfo : collect) {
if (clockingInInfo.getDateTime().equals(format.format(new Date(System.currentTimeMillis())))) {
for (CClockingInVo.ClockRecord clockRecord : clockingInInfo.getRecordList()) {
CClockingInVo.LastChecker lastChecker = clockingInDao.queryLastChecker(clockRecord.getMemberId());
if (ObjectUtil.isNotNull(lastChecker)) {
clockRecord.setLastCheckerId(lastChecker.getLastCheckerId());
clockRecord.setLastCheckerName(lastChecker.getLastCheckerName());
}
}
}
}
return collect;
} }
@Override @Override
@ -224,6 +237,17 @@ public class ClockingInService implements IClockingInService {
} }
clockingInDao.updateByPrimaryKeySelective(proClockingIn); clockingInDao.updateByPrimaryKeySelective(proClockingIn);
} }
//审核通过
if (2 == params.getType()) {
ProClockingIn proClockingIn = new ProClockingIn();
proClockingIn.setId(params.getId());
if (ObjectUtil.isNotNull(params.getMorning())) {
proClockingIn.setMorningStatus((byte)3);
}
if (ObjectUtil.isNotNull(params.getNight())) {
proClockingIn.setNightStatus((byte)3);
}
}
} }
@Override @Override

16
common/src/main/resources/mapper_dao/ProClockingInDao.xml

@ -47,4 +47,20 @@
LIMIT 1 LIMIT 1
</select> </select>
<select id="queryLastChecker" resultType="com.ccsens.common.bean.vo.CClockingInVo$LastChecker">
SELECT
checker_id AS lastCheckerId,
m.`name` AS lastCheckerName
FROM
t_pro_clocking_in AS c
LEFT JOIN t_pro_member AS m ON m.id = c.checker_id
WHERE
c.rec_status = 0
AND m.rec_status = 0
AND c.member_id = #{memberId}
ORDER BY
c.created_at DESC
LIMIT 1
</select>
</mapper> </mapper>
Loading…
Cancel
Save