| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="reportAttendanceServiceDaoImpl">
- <!-- 查询实收金额 -->
- <select id="getMonthAttendanceCount" parameterType="Map" resultType="Map">
- select count(1) count from (
- select distinct t.staff_id
- from attendance_classes_task t
- left join u_user s on t.staff_id = s.user_id and s.status_cd = '0'
- left join u_org_staff_rel uosr on uosr.staff_id = s.user_id and uosr.status_cd = '0'
- left join u_org uo on uosr.org_id = uo.org_id and uo.status_cd = '0'
- where 1 =1
- and t.status_cd = '0'
- <if test="staffName !=null and staffName != ''">
- and s.staff_name like concat('%',#{staffName},'%')
- </if>
- <if test="departmentId !=null and departmentId != ''">
- and uo.org_id = #{departmentId}
- </if>
- <if test="taskId !=null and taskId != ''">
- and t.task_id= #{taskId}
- </if>
- <if test="classId !=null and classId != ''">
- and t.class_id= #{classId}
- </if>
- <if test="staffId !=null and staffId != ''">
- and t.staff_id= #{staffId}
- </if>
- <if test="taskYear !=null and taskYear != ''">
- and t.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and t.task_month= #{taskMonth}
- </if>
- ) tt
- </select>
- <!-- 查询房屋个数 add by wuxw 2018-07-03 -->
- <select id="getMonthAttendance" parameterType="Map" resultType="Map">
- SELECT
- t.staff_name staffName,
- t.staff_id staffId,
- uo.org_name departmentName,
- t.classes_id classesId,
- ac.classes_name classesName,
- (
- SELECT
- count(1)
- FROM
- attendance_classes_task_detail b,
- attendance_classes_task act
- WHERE
- ac.classes_id = act.class_id
- AND act.status_cd = '0'
- AND act.task_id = b.task_id
- AND b.state = '10000'
- and b.value < now()
- <if test="taskYear !=null and taskYear != ''">
- and act.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and act.task_month= #{taskMonth}
- </if>
- ) noClockIn,
- (
- SELECT
- count(1)
- FROM
- attendance_classes_task_detail b,
- attendance_classes_task act
- WHERE
- ac.classes_id = act.class_id
- AND act.status_cd = '0'
- AND act.task_id = b.task_id
- AND b.state in ('30000','70000')
- <if test="taskYear !=null and taskYear != ''">
- and act.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and act.task_month= #{taskMonth}
- </if>
- ) clockIn,
- (
- SELECT
- count(1)
- FROM
- attendance_classes_task_detail b,
- attendance_classes_task act
- WHERE
- ac.classes_id = act.class_id
- AND act.status_cd = '0'
- AND act.task_id = b.task_id
- AND b.state = '40000'
- <if test="taskYear !=null and taskYear != ''">
- and act.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and act.task_month= #{taskMonth}
- </if>
- ) late,
- (
- SELECT
- count(1)
- FROM
- attendance_classes_task_detail b,
- attendance_classes_task act
- WHERE
- ac.classes_id = act.class_id
- AND act.status_cd = '0'
- AND act.task_id = b.task_id
- AND b.state = '50000'
- <if test="taskYear !=null and taskYear != ''">
- and act.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and act.task_month= #{taskMonth}
- </if>
- ) early,
- (
- SELECT
- count(1)
- FROM
- attendance_classes_task_detail b,
- attendance_classes_task act
- WHERE
- ac.classes_id = act.class_id
- AND act.status_cd = '0'
- AND act.task_id = b.task_id
- AND b.state = '60000'
- <if test="taskYear !=null and taskYear != ''">
- and act.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and act.task_month= #{taskMonth}
- </if>
- ) free
- FROM
- attendance_classes_staff t
- INNER JOIN attendance_classes ac ON t.classes_id = ac.classes_id
- AND ac.status_cd = '0'
- LEFT JOIN u_user s ON t.staff_id = s.user_id
- AND s.status_cd = '0'
- LEFT JOIN u_org_staff_rel uosr ON uosr.staff_id = s.user_id
- AND uosr.status_cd = '0'
- LEFT JOIN u_org uo ON uosr.org_id = uo.org_id
- AND uo.status_cd = '0'
- WHERE
- t.status_cd = '0'
- <if test="staffName !=null and staffName != ''">
- and t.staff_name like concat('%',#{staffName},'%')
- </if>
- <if test="departmentId !=null and departmentId != ''">
- and uo.org_id = #{departmentId}
- </if>
- <if test="classId !=null and classId != ''">
- and t.classes_id= #{classId}
- </if>
- <if test="staffId !=null and staffId != ''">
- and t.staff_id= #{staffId}
- </if>
- <if test="storeId !=null and storeId != ''">
- and t.store_id = #{storeId}
- </if>
- <if test="page != -1 and page != null ">
- limit #{page}, #{row}
- </if>
- </select>
- <select id="getMonthAttendanceDetail" parameterType="Map" resultType="Map">
- select t.detail_id detailId,t.spec_cd specCd,t.`value`,t.check_time checkTime,t.state,t.face_path facePath,t.create_time createTime,act.task_day taskDay,td.`name` stateName
- from attendance_classes_task_detail t
- left join attendance_classes_task act on t.task_id = act.task_id and act.status_cd = '0'
- left join t_dict td on t.state = td.status_cd and td.table_name = 'attendance_classes_task_detail' and td.table_columns = 'state'
- where
- t.status_cd = '0'
- and act.class_id = #{classId}
- and act.staff_id in
- <foreach collection="staffIds" item="item" index="index" open="(" close=")" separator=",">
- #{item}
- </foreach>
- <if test="taskYear !=null and taskYear != ''">
- and act.task_year= #{taskYear}
- </if>
- <if test="taskMonth !=null and taskMonth != ''">
- and act.task_month= #{taskMonth}
- </if>
- order by t.`value`
- </select>
- </mapper>
|