提交 205051d4 编写于 作者: F fancy

钉钉考勤打卡统计对象

上级 e87d5468
......@@ -73,6 +73,8 @@ public class DingdingPersonStatisticQueue extends AbstractQueue<Date> {
personForMonth.setOnDutyTimes(onduty);
personForMonth.setOffDutyTimes(business.dingdingAttendanceFactory().dingdingPersonForMonthDutyTimesCount(year, month,
person.getDistinguishedName(), AttendanceDingtalkDetail.OffDuty));
personForMonth.setResultNormal(business.dingdingAttendanceFactory().dingdingPersonForMonthTimeResultCount(year, month,
person.getDistinguishedName(), AttendanceDingtalkDetail.TIMERESULT_NORMAL));
personForMonth.setLateTimes(business.dingdingAttendanceFactory().dingdingPersonForMonthTimeResultCount(year, month,
person.getDistinguishedName(), AttendanceDingtalkDetail.TIMERESULT_Late));
personForMonth.setLeaveEarlyTimes(business.dingdingAttendanceFactory().dingdingPersonForMonthTimeResultCount(year, month,
......
......@@ -69,6 +69,8 @@ public class DingdingUnitStatisticQueue extends AbstractQueue<Date> {
unitForDay.setOnDutyTimes(on);
unitForDay.setOffDutyTimes(business.dingdingAttendanceFactory().
dingdingUnitForDayDutyTimesCount(dateString, unit, AttendanceDingtalkDetail.OffDuty));
unitForDay.setResultNormal(business.dingdingAttendanceFactory().dingdingUnitForDayTimeResultCount(dateString, unit,
AttendanceDingtalkDetail.TIMERESULT_NORMAL));
unitForDay.setLateTimes(business.dingdingAttendanceFactory().dingdingUnitForDayTimeResultCount(dateString, unit,
AttendanceDingtalkDetail.TIMERESULT_Late));
unitForDay.setLeaveEarlyTimes(business.dingdingAttendanceFactory().dingdingUnitForDayTimeResultCount(dateString, unit,
......@@ -108,6 +110,7 @@ public class DingdingUnitStatisticQueue extends AbstractQueue<Date> {
Long workDay = business.dingdingAttendanceFactory().sumWorkDayUnitForDayWithMonth(year, month, unit);
Long onduty = business.dingdingAttendanceFactory().sumOnDutyUnitForDayWithMonth(year, month, unit);
Long offDuty = business.dingdingAttendanceFactory().sumOffDutyUnitForDayWithMonth(year, month, unit);
Long normal = business.dingdingAttendanceFactory().sumNormalUnitForDayWithMonth(year, month, unit);
Long late = business.dingdingAttendanceFactory().sumLateTimesUnitForDayWithMonth(year, month, unit);
Long leaveearly = business.dingdingAttendanceFactory().sumLeaveEarlyUnitForDayWithMonth(year, month, unit);
Long notSign = business.dingdingAttendanceFactory().sumNotSignedUnitForDayWithMonth(year, month, unit);
......@@ -128,6 +131,7 @@ public class DingdingUnitStatisticQueue extends AbstractQueue<Date> {
unitForMonth.setWorkDayCount(workDay);
unitForMonth.setOnDutyTimes(onduty);
unitForMonth.setOffDutyTimes(offDuty);
unitForMonth.setResultNormal(normal);
unitForMonth.setLateTimes(late);
unitForMonth.setLeaveEarlyTimes(leaveearly);
unitForMonth.setNotSignedCount(notSign);
......
......@@ -393,6 +393,18 @@ public class DingdingAttendanceFactory extends AbstractFactory {
query.select(cb.sum(root.get(StatisticDingdingUnitForDay_.offDutyTimes))).where(p);
return em.createQuery(query).getSingleResult();
}
public Long sumNormalUnitForDayWithMonth(String year, String month, String unit) throws Exception {
EntityManager em = this.entityManagerContainer().get(StatisticDingdingUnitForDay.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Long> query = cb.createQuery(Long.class);
Root<StatisticDingdingUnitForDay> root = query.from(StatisticDingdingUnitForDay.class);
Predicate p = cb.equal(root.get(StatisticDingdingUnitForDay_.statisticYear), year);
p = cb.and(p, cb.equal(root.get(StatisticDingdingUnitForDay_.statisticMonth), month));
p = cb.and(p, cb.equal(root.get(StatisticDingdingUnitForDay_.o2Unit), unit));
query.select(cb.sum(root.get(StatisticDingdingUnitForDay_.resultNormal))).where(p);
return em.createQuery(query).getSingleResult();
}
public Long sumLateTimesUnitForDayWithMonth(String year, String month, String unit) throws Exception {
EntityManager em = this.entityManagerContainer().get(StatisticDingdingUnitForDay.class);
CriteriaBuilder cb = em.getCriteriaBuilder();
......
......@@ -83,6 +83,10 @@ public class StatisticDingdingPersonForMonth extends SliceJpaObject {
@Column(name = "xoffDutyTimes")
private Long offDutyTimes;
@FieldDescribe("正常签到次数")
@Column(name = "xresultNormal")
private Long resultNormal;
@FieldDescribe("迟到次数")
@Column(name = "xlateTimes")
private Long lateTimes;
......@@ -104,6 +108,14 @@ public class StatisticDingdingPersonForMonth extends SliceJpaObject {
private Long notSignedCount;
public Long getResultNormal() {
return resultNormal;
}
public void setResultNormal(Long resultNormal) {
this.resultNormal = resultNormal;
}
public String getO2User() {
return o2User;
}
......
......@@ -83,6 +83,11 @@ public class StatisticDingdingUnitForDay extends SliceJpaObject {
@Column(name = "xoffDutyTimes")
private Long offDutyTimes;
@FieldDescribe("正常签到次数")
@Column(name = "xresultNormal")
private Long resultNormal;
@FieldDescribe("迟到人数")
@Column(name = "xlateTimes")
private Long lateTimes;
......@@ -104,6 +109,14 @@ public class StatisticDingdingUnitForDay extends SliceJpaObject {
private Long notSignedCount;
public Long getResultNormal() {
return resultNormal;
}
public void setResultNormal(Long resultNormal) {
this.resultNormal = resultNormal;
}
public String getStatisticDate() {
return statisticDate;
}
......
......@@ -79,6 +79,10 @@ public class StatisticDingdingUnitForMonth extends SliceJpaObject {
@Column(name = "xoffDutyTimes")
private Long offDutyTimes;
@FieldDescribe("正常签到次数")
@Column(name = "xresultNormal")
private Long resultNormal;
@FieldDescribe("迟到人数")
@Column(name = "xlateTimes")
private Long lateTimes;
......@@ -99,6 +103,13 @@ public class StatisticDingdingUnitForMonth extends SliceJpaObject {
@Column(name = "xNotSignedCount")
private Long notSignedCount;
public Long getResultNormal() {
return resultNormal;
}
public void setResultNormal(Long resultNormal) {
this.resultNormal = resultNormal;
}
public String getO2Unit() {
return o2Unit;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册