package cn.com.lzt.attendancewarnmsg.dao; import java.util.List; import org.jeecgframework.minidao.annotation.Arguments; import org.jeecgframework.minidao.annotation.MiniDao; import org.jeecgframework.minidao.annotation.ResultType; import org.jeecgframework.minidao.annotation.Sql; import org.jeecgframework.minidao.pojo.MiniDaoPage; import cn.com.lzt.attendancewarnmsg.dto.AttendanceWarnMsgDto; import cn.com.lzt.attendancewarnmsg.dto.ProjectAbnormalDetailDto; import cn.com.lzt.projarrangedetail.entity.ProjarrangeDetailEntity; /** *考勤预警消息 * */ @MiniDao public interface AttendanceWarnMsgMinidao { /** * 考勤预警消息首页数据展示 * @author zbw * 2017-11-5 * @param arrangeDutyDto * @param page * @param rows * @param authSql * @return */ @Arguments({"attendanceWarnMsgDto", "page", "rows","authSql"}) @ResultType(AttendanceWarnMsgDto.class) public MiniDaoPage getAttendanceWarnMsgDtoPage( AttendanceWarnMsgDto attendanceWarnMsgDto, int page, int rows, String authSql); /** * 项目排班详细表duty_type * @author hualong.zhao * @date 2017-12-20 * @return */ @Arguments({ "dutyType","ymdDate" }) @ResultType(ProjarrangeDetailEntity.class) @Sql(" SELECT"+ " t4.*"+ " FROM"+ " t_bus_user_arrange_detail t1"+ " LEFT JOIN t_bus_calendar t2 ON t1.calendarid = t2.id"+ " LEFT JOIN t_bus_arrange_duty t3 ON t1.shiftid = t3.id"+ " LEFT JOIN t_bus_projarrange_detail t4 ON t4.id = t1.projarrange_detailid"+ " WHERE"+ " 1=1"+ " <#if dutyType ?exists && dutyType?length gt 0>"+ " and t3.duty_type = :dutyType"+ " "+ " "+ " <#if ymdDate ?exists && ymdDate?length gt 0>"+ " and t2.ymd_date = :ymdDate"+ " "+ " ") public List getSpecialDutyBydateAndDutyType(String dutyType, String ymdDate); /** * 通过预警消息表, 结合考勤的班次表, 查看项目维度下的考勤异常信息 * @author hualong.zhao * @date 2017-12-20 * @param ymdDate * @return */ @Arguments({ "ymdDate" }) @ResultType(ProjectAbnormalDetailDto.class) public List getProjectAbnormalDetail(String ymdDate); /** * 无入参查询 , 查询系统的人事部人员 和管理层人员 * 【查询对象】 1,人事部:A_HR 所有人 2,M管理层(总顾问+副经理+总经理) * @author hualong.zhao * @date 2017-12-27 * @return AttendanceWarnMsgDto 其他值为空 只有userId 和 orgId 有值 */ @ResultType(AttendanceWarnMsgDto.class) @Sql("SELECT baseuser.id as userId FROM t_s_base_user baseuser LEFT JOIN t_s_role_user roleuser ON baseuser.id = roleuser.userid LEFT JOIN t_s_role role ON roleuser.roleid = role.id WHERE (role.rolecode LIKE 'A_HR%' OR role.rolecode LIKE 'M%') AND baseuser.status = '1' AND baseuser.delete_flag != '1'") public List getAllLeaderUserIdList(); @Arguments({ "orgid" }) @ResultType(AttendanceWarnMsgDto.class) @Sql(" SELECT"+ " tsru.userid as userId, :orgid as orgId "+ " FROM"+ " t_s_role_user tsru"+ " LEFT JOIN t_s_role tsr ON tsru.roleid = tsr.id"+ " LEFT JOIN t_s_user tur ON tsru.userid = tur.id"+ " WHERE"+ " tur.dev_flag = 0"+ " AND tsru.userid IN ("+ " SELECT"+ " user_id"+ " FROM"+ " t_s_user_org"+ " WHERE"+ " STATUS = 0"+ " AND org_id = :orgid"+ " ) GROUP BY tsru.userid ") public List getAllQYJLUserIdListByOrgid(String orgid); }