<?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="cn.timer.api.dao.kqmk.KqglAssoMonthPunchSummaryMapper"> <resultMap id="BaseResultMap" type="cn.timer.api.bean.kqmk.KqglAssoMonthPunchSummary" > <id column="id" property="id" /> <result column="name" property="name" /> <result column="num" property="num" /> <result column="dept" property="dept" /> <result column="post" property="post" /> <result column="att_group" property="attGroup" /> <result column="shift" property="shift" /> <result column="days_on_duty" property="daysOnDuty" /> <result column="actual_att_days" property="actualAttDays" /> <result column="days_off" property="daysOff" /> <result column="working_hours" property="workingHours" /> <result column="late_times" property="lateTimes" /> <result column="late_hours" property="lateHours" /> <result column="serious_late_times" property="seriousLateTimes" /> <result column="serious_late_hours" property="seriousLateHours" /> <result column="absen_late_times" property="absenLateTimes" /> <result column="early_leave_times" property="earlyLeaveTimes" /> <result column="length_early_leave" property="lengthEarlyLeave" /> <result column="number_work_card_shortage" property="numberWorkCardShortage" /> <result column="number_duty_card_shortage" property="numberDutyCardShortage" /> <result column="absenteeism_days" property="absenteeismDays" /> <result column="length_business_trip" property="lengthBusinessTrip" /> <result column="time_out" property="timeOut" /> <result column="total_overtime_hours" property="totalOvertimeHours" /> <result column="working_turn_compen_leave" property="workingTurnCompenLeave" /> <result column="rest_turn_compen_leave" property="restTurnCompenLeave" /> <result column="holiday_turn_compen_leave" property="holidayTurnCompenLeave" /> <result column="working_transfer_overtime" property="workingTransferOvertime" /> <result column="rest_transfer_overtime" property="restTransferOvertime" /> <result column="holiday_transfer_overtime" property="holidayTransferOvertime" /> <result column="day1" property="day1" /> <result column="day2" property="day2" /> <result column="day3" property="day3" /> <result column="day4" property="day4" /> <result column="day5" property="day5" /> <result column="day6" property="day6" /> <result column="day7" property="day7" /> <result column="day8" property="day8" /> <result column="day9" property="day9" /> <result column="day10" property="day10" /> <result column="day11" property="day11" /> <result column="day12" property="day12" /> <result column="day13" property="day13" /> <result column="day14" property="day14" /> <result column="day15" property="day15" /> <result column="day16" property="day16" /> <result column="day17" property="day17" /> <result column="day18" property="day18" /> <result column="day19" property="day19" /> <result column="day20" property="day20" /> <result column="day21" property="day21" /> <result column="day22" property="day22" /> <result column="day23" property="day23" /> <result column="day24" property="day24" /> <result column="day25" property="day25" /> <result column="day26" property="day26" /> <result column="day27" property="day27" /> <result column="day28" property="day28" /> <result column="day29" property="day29" /> <result column="day30" property="day30" /> <result column="day31" property="day31" /> <result column="belong_year" property="belongYear" /> <result column="belong_month" property="belongMonth" /> <result column="org_code" property="orgCode" /> <result column="last_modified" property="lastModified" /> </resultMap> <resultMap id="SummarydataMap" type="cn.timer.api.dto.kqmk.KqglAssoMonthPunchSummaryDto" > <id column="id" property="id" /> <result column="name" property="name" /> <result column="num" property="num" /> <result column="dept" property="dept" /> <result column="post" property="post" /> <result column="att_group" property="attGroup" /> <result column="attname" property="attname" /> <result column="shift" property="shift" /> <result column="days_on_duty" property="daysOnDuty" /> <result column="actual_att_days" property="actualAttDays" /> <result column="days_off" property="daysOff" /> <result column="working_hours" property="workingHours" /> <result column="late_times" property="lateTimes" /> <result column="late_hours" property="lateHours" /> <result column="serious_late_times" property="seriousLateTimes" /> <result column="serious_late_hours" property="seriousLateHours" /> <result column="absen_late_times" property="absenLateTimes" /> <result column="early_leave_times" property="earlyLeaveTimes" /> <result column="length_early_leave" property="lengthEarlyLeave" /> <result column="number_work_card_shortage" property="numberWorkCardShortage" /> <result column="number_duty_card_shortage" property="numberDutyCardShortage" /> <result column="absenteeism_days" property="absenteeismDays" /> <result column="length_business_trip" property="lengthBusinessTrip" /> <result column="time_out" property="timeOut" /> <result column="total_overtime_hours" property="totalOvertimeHours" /> <result column="working_turn_compen_leave" property="workingTurnCompenLeave" /> <result column="rest_turn_compen_leave" property="restTurnCompenLeave" /> <result column="holiday_turn_compen_leave" property="holidayTurnCompenLeave" /> <result column="working_transfer_overtime" property="workingTransferOvertime" /> <result column="rest_transfer_overtime" property="restTransferOvertime" /> <result column="holiday_transfer_overtime" property="holidayTransferOvertime" /> <result column="day1" property="day1" /> <result column="day2" property="day2" /> <result column="day3" property="day3" /> <result column="day4" property="day4" /> <result column="day5" property="day5" /> <result column="day6" property="day6" /> <result column="day7" property="day7" /> <result column="day8" property="day8" /> <result column="day9" property="day9" /> <result column="day10" property="day10" /> <result column="day11" property="day11" /> <result column="day12" property="day12" /> <result column="day13" property="day13" /> <result column="day14" property="day14" /> <result column="day15" property="day15" /> <result column="day16" property="day16" /> <result column="day17" property="day17" /> <result column="day18" property="day18" /> <result column="day19" property="day19" /> <result column="day20" property="day20" /> <result column="day21" property="day21" /> <result column="day22" property="day22" /> <result column="day23" property="day23" /> <result column="day24" property="day24" /> <result column="day25" property="day25" /> <result column="day26" property="day26" /> <result column="day27" property="day27" /> <result column="day28" property="day28" /> <result column="day29" property="day29" /> <result column="day30" property="day30" /> <result column="day31" property="day31" /> <result column="belong_year" property="belongYear" /> <result column="belong_month" property="belongMonth" /> <result column="org_code" property="orgCode" /> <result column="last_modified" property="lastModified" /> <collection property="balanceTo" ofType="cn.timer.api.dto.kqmk.BalanceSheetDataDto"> <result column="leaverulesid" property="leaverulesid"/> <result column="balancedays" property="balancedays"/> </collection> </resultMap> <resultMap id="DailyDetailsMap" type="cn.timer.api.dto.kqmk.DailyDetailsDto" > <result column="name" property="name" /> <result column="num" property="num" /> <result column="dept" property="dept" /> <result column="post" property="post" /> <result column="address" property="address" /> <result column="remarks" property="remarks" /> <result column="cardtype" property="cardtype" /> <result column="macaddress" property="macaddress" /> <result column="macname" property="macname" /> <result column="bcszid" property="bcszid" /> <result column="bcname" property="bcname" /> <result column="bcsbdk1" property="bcsbdk1" /> <result column="bcxbdk1" property="bcxbdk1" /> <result column="bcsbdk2" property="bcsbdk2" /> <result column="bcxbdk2" property="bcxbdk2" /> <result column="bcsbdk3" property="bcsbdk3" /> <result column="bcxbdk3" property="bcxbdk3" /> <result column="attname" property="attname" /> <result column="attdate" property="attdate" /> <result column="userid" property="userid" /> <result column="data" property="data" /> <result column="sbdk1" property="sbdk1" /> <result column="sbdk1jg" property="sbdk1jg" /> <result column="xbdk1" property="xbdk1" /> <result column="xbdk1jg" property="xbdk1jg" /> <result column="sbdk2" property="sbdk2" /> <result column="sbdk2jg" property="sbdk2jg" /> <result column="xbdk2" property="xbdk2" /> <result column="xbdk2jg" property="xbdk2jg" /> <result column="sbdk3" property="sbdk3" /> <result column="sbdk3jg" property="sbdk3jg" /> <result column="xbdk3" property="xbdk3" /> <result column="xbdk3jg" property="xbdk3jg" /> <result column="ydkcs" property="ydkcs" /> <result column="gzsc" property="gzsc" /> <result column="qyid" property="qyid" /> <result column="dksj" property="dksj" /> <result column="yzcdcs" property="yzcdcs" /> <result column="yzcdsc" property="yzcdsc" /> <result column="kgcdfzs" property="kgcdfzs" /> <result column="daysonduty" property="daysonduty" /> <result column="daysoff" property="daysoff" /> <result column="lengthbusinesstrip" property="lengthbusinesstrip" /> <result column="timeout" property="timeout" /> <result column="totalovertimehours" property="totalovertimehours" /> <result column="workingturncompenleave" property="workingturncompenleave" /> <result column="restturncompenleave" property="restturncompenleave" /> <result column="holidayturncompenleave" property="holidayturncompenleave" /> <result column="workingtransferovertime" property="workingtransferovertime" /> <result column="resttransferovertime" property="resttransferovertime" /> <result column="holidaytransferovertime" property="holidaytransferovertime" /> <result column="leaverulesid" property="leaverulesid" /> <result column="duration" property="duration" /> <collection property="balanceTo" ofType="cn.timer.api.dto.kqmk.BalanceSheetDataDto"> <result column="leaverulesid" property="leaverulesid"/> <result column="balancedays" property="balancedays"/> </collection> </resultMap> <select id="AttendanceSummaryData" resultMap="SummarydataMap"> select sum.*, (select kqz.name from kqgl_main_kqz kqz where kqz.id = sum.att_group) as attname, yz.leaverulesid as leaverulesid, yz.duration as balancedays from kqgl_asso_month_punch_summary sum LEFT JOIN (SELECT les.id as leaverulesid, hz.user_id, hz.duration FROM kqgl_asso_leave_rules les LEFT JOIN (select ry.user_id,ry.leave_type_id,SUM(ry.duration) as duration from ( select rel.user_id,rel.leave_type_id,rel.duration from kqgl_asso_relation_summary rel where rel.approval_type = 2 and rel.app_time >= #{param.staapptime} and rel.app_time <= #{param.endapptime} GROUP BY rel.user_id,rel.leave_type_id,rel.duration ) as ry GROUP BY ry.user_id,ry.leave_type_id ) as hz on hz.leave_type_id = les.id WHERE les.org_code = #{param.orgCode} AND (les.leave_type = 2 OR les.is_open = 1) ) as yz on yz.user_id = sum.num where sum.org_code = #{param.orgCode} and sum.belong_year = #{param.year} and sum.belong_month = #{param.month} <if test="param.query != null and param.query != ''"> and ( sum.`name` like CONCAT('%',#{param.query},'%') or sum.num like CONCAT('%',#{param.query},'%')) </if> <if test="param.attid != null and param.attid != ''"> and sum.att_group = #{param.attid} </if> </select> <select id="Dailydetails" resultMap="DailyDetailsMap"> select sum.`name`,sum.num,sum.dept,sum.post, (select kqz.name from kqgl_main_kqz kqz where kqz.id = sum.att_group) as attname, '' address, '' remarks, '' cardtype, '' macaddress, '' macname, IFNULL(rtj.bcszid, '') bcszid, IFNULL(rtj.bcname, '') bcname, IFNULL(rtj.bcsbdk1, '') bcsbdk1, IFNULL(rtj.bcxbdk1, '') bcxbdk1, IFNULL(rtj.bcsbdk2, '') bcsbdk2, IFNULL(rtj.bcxbdk2, '') bcxbdk2, IFNULL(rtj.bcsbdk3, '') bcsbdk3, IFNULL(rtj.bcxbdk3, '') bcxbdk3, IFNULL(rtj.attdate, '') attdate, IFNULL(rtj.userid,'') userid, IFNULL(rtj.data,'') data, IFNULL(rtj.sbdk1,'') sbdk1, IFNULL(rtj.sbdk1jg,'') sbdk1jg, IFNULL(rtj.xbdk1 ,'') xbdk1, IFNULL(rtj.xbdk1jg,'') xbdk1jg, IFNULL(rtj.sbdk2 ,'') sbdk2, IFNULL(rtj.sbdk2jg ,'') sbdk2jg, IFNULL(rtj.xbdk2 ,'') xbdk2, IFNULL(rtj.xbdk2jg,'') xbdk2jg, IFNULL(rtj.sbdk3 ,'') sbdk3, IFNULL(rtj.sbdk3jg ,'') sbdk3jg, IFNULL(rtj.xbdk3,'') xbdk3, IFNULL(rtj.xbdk3jg ,'') xbdk3jg, IFNULL(rtj.ydkcs ,'') ydkcs, IFNULL(rtj.gzsc ,'') gzsc, IFNULL(rtj.qyid,'') qyid, IFNULL(rtj.dksj ,'') dksj, IFNULL(rtj.yzcdcs ,'') yzcdcs, IFNULL(rtj.yzcdsc ,'') yzcdsc, IFNULL(rtj.kgcdfzs,'') kgcdfzs, sum.days_on_duty as daysonduty, sum.days_off as daysoff, sum.length_business_trip as lengthbusinesstrip, sum.time_out as timeout, sum.total_overtime_hours as totalovertimehours, sum.working_turn_compen_leave as workingturncompenleave, sum.rest_turn_compen_leave as restturncompenleave, sum.holiday_turn_compen_leave as holidayturncompenleave, sum.working_transfer_overtime as workingtransferovertime, sum.rest_transfer_overtime as resttransferovertime, sum.holiday_transfer_overtime as holidaytransferovertime, mrtj.leaverulesid, mrtj.duration as balancedays from kqgl_asso_month_punch_summary sum LEFT JOIN ( select DISTINCT info.`name` as username , dkjl.attdate,bcsz.id as bcszid, bcsz.`name` as bcname,bcsz.sbdk1 as bcsbdk1,bcsz.xbdk1 as bcxbdk1,bcsz.sbdk2 as bcsbdk2,bcsz.xbdk2 as bcxbdk2,bcsz.sbdk3 as bcsbdk3,bcsz.xbdk3 as bcxbdk3, dkmx.`userid`,dkmx.`data` ,dkmx.`sbdk1`,dkmx.`sbdk1jg`,dkmx.`xbdk1` ,dkmx.`xbdk1jg`,dkmx.`sbdk2` ,dkmx.`sbdk2jg` ,dkmx.`xbdk2` , dkmx.`xbdk2jg`,dkmx.`sbdk3` ,dkmx.`sbdk3jg` ,dkmx.`xbdk3`,dkmx.`xbdk3jg` ,dkmx.`ydkcs` ,dkmx.`gzsc` ,dkmx.`qyid`,dkmx.`dksj` , dkmx.`yzcdcs` ,dkmx.`yzcdsc` ,dkmx.`kgcdfzs` from kqgl_asso_dkmx dkmx LEFT JOIN yggl_main_emp as info on info.emp_num = dkmx.userid and info.org_code = 117 LEFT JOIN kqgl_asso_dkjl as dkjl on dkjl.dkmxid = dkmx.id LEFT JOIN kqgl_asso_bcsz as bcsz on bcsz.id = dkjl.bcid where dkmx.qyid = #{param.orgCode} and dkmx.`data` = #{param.times} ) as rtj on rtj.userid = sum.num LEFT JOIN (SELECT les.id as leaverulesid,hz.user_id,hz.duration FROM kqgl_asso_leave_rules les LEFT JOIN (select ry.user_id,ry.leave_type_id,SUM(ry.duration) as duration from ( select rel.user_id,rel.leave_type_id,rel.duration from kqgl_asso_relation_summary rel where rel.approval_type = 2 and rel.app_time = #{param.times} GROUP BY rel.user_id,rel.leave_type_id,rel.duration ) as ry GROUP BY ry.user_id,ry.leave_type_id) as hz on hz.leave_type_id = les.id WHERE les.org_code = #{param.orgCode} AND (les.leave_type = 2 OR les.is_open = 1) ) as mrtj on mrtj.user_id = sum.num where sum.org_code = #{param.orgCode} and sum.belong_year = #{param.year} and sum.belong_month = #{param.month} <if test="param.query != null and param.query != ''"> and ( sum.`name` like CONCAT('%',#{param.query},'%') or sum.num like CONCAT('%',#{param.query},'%')) </if> <if test="param.attid != null and param.attid != ''"> and sum.att_group = #{param.attid} </if> </select> </mapper>