Files
zxjp-web/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml
2024-05-06 18:30:03 +08:00

180 lines
8.8 KiB
XML

<?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="com.cool.store.mapper.EmployeeTrainingMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.EmployeeTrainingDO">
<!--
WARNING - @mbg.generated
-->
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
<result column="region_id" jdbcType="BIGINT" property="regionId"/>
<result column="xfsg_user_detail_id" jdbcType="BIGINT" property="xfsgUserDetailId"/>
<result column="assign_flag" jdbcType="TINYINT" property="assignFlag"/>
<result column="training_start_time" jdbcType="TIMESTAMP" property="trainingStartTime"/>
<result column="training_end_time" jdbcType="TIMESTAMP" property="trainingEndTime"/>
<result column="training_store_id" jdbcType="VARCHAR" property="trainingStoreId"/>
<result column="training_teacher_user_id" jdbcType="VARCHAR" property="trainingTeacherUserId"/>
<result column="practical_assessment_user_id" jdbcType="VARCHAR" property="practicalAssessmentUserId"/>
<result column="estimated_assessment_time" jdbcType="TIMESTAMP" property="estimatedAssessmentTime"/>
<result column="actual_assessment_time" jdbcType="TIMESTAMP" property="actualAssessmentTime"/>
<result column="assessment_num" jdbcType="INTEGER" property="assessmentNum"/>
<result column="assessment_total_num" jdbcType="INTEGER" property="assessmentTotalNum"/>
<result column="theoretical_exam_status" jdbcType="TINYINT" property="theoreticalExamStatus"/>
<result column="theoretical_exam_score" jdbcType="INTEGER" property="theoreticalExamScore"/>
<result column="practical_exam_status" jdbcType="TINYINT" property="practicalExamStatus"/>
<result column="practical_exam_score" jdbcType="INTEGER" property="practicalExamScore"/>
<result column="assessment_status" jdbcType="TINYINT" property="assessmentStatus"/>
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="deleted" jdbcType="BIT" property="deleted"/>
</resultMap>
<select id="employeeTrainingMapper" resultType="com.cool.store.vo.EmployeeTrainingVO">
select
u.id,
u.username,
u.mobile,
u.region_id as regionId,
u.role_id as roleId,
u.shop_id as shopId,
u.register_time as registerTime,
s.shop_name as shopName,
e.id as employeeTrainingId,
e.assessment_num as assessmentNum,
e.assessment_total_num as assessmentTotalNum,
e.theoretical_exam_status as theoreticalExamStatus,
e.theoretical_exam_score as theoreticalExamScore,
e.practical_exam_status as practicalExamStatus,
e.practical_exam_score as practicalExamScore,
e.assessment_status as assessmentStatus
from xfsg_temp_user_detail u
left join xfsg_employee_training e on e.xfsg_user_detail_id = u.id
left join xfsg_shop_info s on s.id = u.shop_id
where u.deleted = 0
<if test="keyWord != null and keyWord != ''">
and (u.username like concat('%',#{keyWord},'%') or u.mobile like concat('%',#{keyWord},'%'))
</if>
<if test="regionIdList != null and regionIdList.size() > 0">
and u.region_id in
<foreach collection="regionIdList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="authRegionIdList != null and authRegionIdList.size() > 0">
and u.region_id in
<foreach collection="authRegionIdList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="assignFlag != null">
and e.assign_flag = #{assignFlag}
</if>
<if test="beginTime != null and beginTime != ''">
and u.register_time &gt;= #{beginTime}
</if>
<if test="endTime != null and endTime != ''">
and u.register_time &lt;= #{endTime}
</if>
<if test="shopIdList != null and shopIdList.size() > 0">
and u.shop_id in
<foreach collection="shopIdList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="theoreticalExamStatus != null">
and e.theoretical_exam_status = #{theoreticalExamStatus}
</if>
<if test="practicalExamStatus != null">
and e.practical_exam_status = #{practicalExamStatus}
</if>
<if test="assessmentStatus != null and assessmentStatus == 0">
and e.assessment_total_num > e.assessment_num
</if>
<if test="assessmentStatus != null and assessmentStatus == 1">
and e.assessment_total_num = e.assessment_num
</if>
</select>
<select id="trainingListByShopId" resultType="com.cool.store.vo.EmployeeTrainingVO">
select
u.id,
u.username,
u.mobile,
u.region_id as regionId,
u.role_id as roleId,
u.shop_id as shopId,
s.shop_name as shopName,
u.id_card as idCard,
e.id as employeeTrainingId,
e.training_store_id as trainingStoreId,
e.training_teacher_user_id as trainingTeacherUserId,
e.practical_assessment_user_id as practicalAssessmentUserId,
e.assessment_num as assessmentNum,
e.assessment_total_num as assessmentTotalNum,
e.theoretical_exam_status as theoreticalExamStatus,
e.theoretical_exam_score as theoreticalExamScore,
e.practical_exam_status as practicalExamStatus,
e.practical_exam_score as practicalExamScore,
e.assessment_status as assessmentStatus
from xfsg_temp_user_detail u
left join xfsg_employee_training e on e.xfsg_user_detail_id = u.id
left join xfsg_shop_info s on s.id = u.shop_id
where u.deleted = 0
<if test="trainingTeacherUserId != null and trainingTeacherUserId != ''">
and e.training_teacher_user_id = #{trainingTeacherUserId}
</if>
<if test="shopId != null">
and u.shop_id = #{shopId}
</if>
</select>
<select id="assessmentUserList" resultType="com.cool.store.vo.EmployeeTrainingVO">
select
u.id,
u.username,
u.mobile,
u.region_id as regionId,
u.role_id as roleId,
u.shop_id as shopId,
s.shop_name as shopName,
u.id_card as idCard,
e.id as employeeTrainingId,
e.training_store_id as trainingStoreId,
e.training_teacher_user_id as trainingTeacherUserId,
e.practical_assessment_user_id as practicalAssessmentUserId,
e.assessment_num as assessmentNum,
e.assessment_total_num as assessmentTotalNum,
e.theoretical_exam_status as theoreticalExamStatus,
e.theoretical_exam_score as theoreticalExamScore,
e.practical_exam_status as practicalExamStatus,
e.practical_exam_score as practicalExamScore,
e.assessment_status as assessmentStatus,
e.estimated_assessment_time as estimatedAssessmentTime,
e.actual_assessment_time as actualAssessmentTime,
e.training_start_time as trainingStartTime,
e.training_end_time as trainingEndTime
from xfsg_temp_user_detail u
left join xfsg_employee_training e on e.xfsg_user_detail_id = u.id
left join xfsg_shop_info s on s.id = u.shop_id
where u.deleted = 0
<if test="practicalAssessmentUserId != null and practicalAssessmentUserId != ''">
and e.practical_assessment_user_id = #{practicalAssessmentUserId}
</if>
<if test="assessmentStatus != null">
and e.assessment_status = #{assessmentStatus}
</if>
<if test="estimatedAssessmentBeginTime != null and estimatedAssessmentBeginTime != ''">
and e.estimated_assessment_time &gt;= #{estimatedAssessmentBeginTime}
</if>
<if test="estimatedAssessmentEndTime != null and estimatedAssessmentEndTime != ''">
and e.estimated_assessment_time &lt;= #{estimatedAssessmentEndTime}
</if>
<if test="actualAssessmentBeginTime != null and actualAssessmentBeginTime != ''">
and e.actual_assessment_time &gt;= #{actualAssessmentBeginTime}
</if>
<if test="actualAssessmentEndTime != null and actualAssessmentEndTime != ''">
and e.actual_assessment_time &lt;= #{actualAssessmentEndTime}
</if>
<if test="name != null and name != ''">
and u.username like concat('%',#{name},'%')
</if>
</select>
</mapper>