hn_cloud_service/real-name/src/main/resources/mappers/person/PersonTrainMapper.xml

228 lines
11 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.bonus.hnrn.rnbmw.person.dao.PersonTrainDao">
<delete id="delWorkerPostById">
UPDATE bns_smz_bm_worker_train SET `is_active` = '0' WHERE `id` = #{id}
</delete>
<select id="getCount" resultType="java.lang.Integer">
SELECT count(1)
FROM bns_smz_bm_worker_train
WHERE is_active ='1'
<if test="params.keyWord!=null and params.keyWord!=''">
AND (
unit like concat ('%',#{params.keyWord},'%') or
name like concat ('%',#{params.keyWord},'%') or
post_name like concat ('%',#{params.keyWord},'%') or
train_name like concat ('%',#{params.keyWord},'%')
)
</if>
</select>
<select id="getList" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT id,unit,name,id_Number as idNumber,post_name as postName,phone,train_name as trainName,totalStudytime,trainStudytime,examScore
FROM bns_smz_bm_worker_train
WHERE is_active ='1'
<if test="params.keyWord!=null and params.keyWord!=''">
AND (
unit like concat ('%',#{params.keyWord},'%') or
name like concat ('%',#{params.keyWord},'%') or
post_name like concat ('%',#{params.keyWord},'%') or
train_name like concat ('%',#{params.keyWord},'%')
)
</if>
${params.orderBy}
LIMIT #{offset},#{limit}
</select>
<insert id="addWorkerPost">
INSERT INTO bns_smz_bm_worker_train(unit,name,id_Number,post_name,phone,train_name,totalStudytime,trainStudytime,examScore,create_time,is_active)
VALUES (#{unit}, #{name}, #{idNumber}, #{postName}, #{phone},#{trainName},#{totalStudytime},#{trainStudytime},#{examScore},now(),'1')
</insert>
<insert id="insertList">
INSERT INTO bns_smz_bm_worker_train (unit,name,id_Number,post_name,phone,train_name,totalStudytime,trainStudytime,examScore,create_time,is_active)
values
<foreach item="params" collection="list" separator=",">
(#{params.unit}, #{params.name}, #{params.idNumber}, #{params.postName}, #{params.phone},#{params.trainName},#{params.totalStudytime},#{params.trainStudytime},#{params.examScore},now(),'1')
</foreach>
</insert>
<update id="updateWorkerPost">
UPDATE bns_smz_bm_worker_train SET `unit` = #{unit}, `name` = #{name},
`id_Number` = #{idNumber}, `post_name` = #{postName}, `phone` = #{phone}, `train_name` = #{trainName},`totalStudytime` = #{totalStudytime},`trainStudytime` = #{trainStudytime},`examScore` = #{examScore},`update_time` = now() WHERE `id` = #{id}
</update>
<select id="getWorkerPostById" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT id,unit,name,id_Number as idNumber,post_name as postName,phone,train_name as trainName,totalStudytime,trainStudytime,examScore
FROM bns_smz_bm_worker_train
WHERE is_active ='1' and id = #{id}
</select>
<insert id="insertUserTrainInfo" parameterType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean" >
INSERT INTO bns_smz_bm_worker_train
(`id_number`, `trainType`, `projectType`, `source`, `yetAnswered`, `correctAnswered`,
`subjectiveScore`, `totalStudytime`, `trainStudytime`, `trainStatus`, `standStartTime`,
`standEndTime`, `examStatus`, `examScore`, `examTime`, `examTimeInfo`, `answerStudytime`,
`correctRate`, `standardStudyTime`, `requirementStudytime`, `totalQuestion`, `isMakeUp`,
`makeUpCount`, `makeUpScore`, `projectStatus`, `projectStartTime`, `is_active`)
VALUES (#{userId}, #{trainType},#{projectType}, #{source}, #{yetAnswered}, #{correctAnswered},
'1', #{totalStudytime}, #{trainStudytime}, #{trainStatus}, #{standStartTime},
#{standEndTime}, #{examStatus}, #{examScore}, #{examTime}, #{examTimeInfo}, #{answerStudytime},
#{correctRate}, #{standardStudyTime}, #{requirementStudytime}, #{totalQuestion}, #{isMakeUp},
#{makeUpCount}, #{makeUpScore}, #{projectStatus}, #{projectStartTime}, '1');
</insert>
<select id="getWorkerTrainList" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT
bwr.PROJECT_ID as `id`,bp.name as projectName,bw.name as `userName`,bwt.id_number as `userId`,sdd.name as postId,
bwt.trainStatus as trainStatus,bwt.trainType as trainType,bwt.totalStudytime as `totalStudytime`,bwt.trainStudytime as `trainStudytime`,
bwt.examStatus as `examStatus`,bwt.examScore as `examScore`
FROM bns_smz_bm_worker_train bwt
LEFT JOIN bns_smz_bm_worker_record bwr ON bwr.ID_NUMBER = bwt.id_number
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = bwt.id_number
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_sys_dic_detail sdd ON sdd.id = bwr.post_id
WHERE bp.IS_ACTIVE = '1'
<if test="bean.orgId != null and bean.orgId != ''">
<if test='bean.roleLevel == "1"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE company_id = #{bean.companyId})
</if>
<if test='bean.roleLevel == "2"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE PARENT_ID = #{bean.orgId})
</if>
<if test='bean.roleLevel == "3"'>
AND bp.company_id = #{bean.orgId}
</if>
<if test='bean.roleLevel == "4"'>
AND bp.id in (SELECT pro_id FROM bns_smz_bm_sub_pro_relation WHERE sub_id = #{bean.subId})
</if>
</if>
<!-- <if test="bean.orgId != null and bean.orgId != ''">-->
<!-- and bwr.orgId = #{bean.orgId}-->
<!-- </if>-->
<if test="bean.proId != null and bean.proId != ''">
and bwr.PROJECT_ID = #{bean.proId}
</if>
<if test="bean.trainStatus != null and bean.trainStatus != ''">
and bwt.trainStatus = #{bean.trainStatus}
</if>
<if test="bean.examStatus != null and bean.examStatus != ''">
and bwt.examStatus = #{bean.examStatus}
</if>
<if test="bean.keyWord != null and bean.keyWord != ''">
and(
bp.name like CONCAT('%',#{bean.keyWord},'%') or
bwt.id_number like CONCAT('%',#{bean.keyWord},'%') or
bw.name like CONCAT('%',#{bean.keyWord},'%')
)
</if>
${bean.orderBy}
</select>
<select id="getWorkerTrainCount" resultType="java.lang.Integer">
SELECT
count (1)
FROM bns_smz_bm_worker_train bwt
LEFT JOIN bns_smz_bm_worker_record bwr ON bwr.ID_NUMBER = bwt.id_number
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = bwt.id_number
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_sys_dic_detail sdd ON sdd.id = bwr.post_id
WHERE bp.IS_ACTIVE = '1'
<if test="bean.orgId != null and bean.orgId != ''">
<if test='bean.roleLevel == "1"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE company_id = #{bean.companyId})
</if>
<if test='bean.roleLevel == "2"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE PARENT_ID = #{bean.orgId})
</if>
<if test='bean.roleLevel == "3"'>
AND bp.company_id = #{bean.orgId}
</if>
<if test='bean.roleLevel == "4"'>
AND bp.id in (SELECT pro_id FROM bns_smz_bm_sub_pro_relation WHERE sub_id = #{bean.subId})
</if>
</if>
<!-- <if test="bean.orgId != null and bean.orgId != ''">-->
<!-- and bwr.orgId = #{bean.orgId}-->
<!-- </if>-->
<if test="bean.proId != null and bean.proId != ''">
and bwr.PROJECT_ID = #{bean.proId}
</if>
<if test="bean.trainStatus != null and bean.trainStatus != ''">
and bwt.trainStatus = #{bean.trainStatus}
</if>
<if test="bean.examStatus != null and bean.examStatus != ''">
and bwt.examStatus = #{bean.examStatus}
</if>
<if test="bean.keyWord != null and bean.keyWord != ''">
and(
bp.name like CONCAT('%',#{bean.keyWord},'%') or
bwt.id_number like CONCAT('%',#{bean.keyWord},'%') or
bw.name like CONCAT('%',#{bean.keyWord},'%')
)
</if>
</select>
<select id="getWorkerTrainById" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT bwt.id_number AS userId,bwt.trainType,bwt.projectType AS projectType,bwt.source,bwt.yetAnswered,
bwt.correctAnswered,bwt.subjectiveScore,bwt.totalStudytime,bwt.trainStudytime,
bwt.trainStatus,bwt.standStartTime,bwt.standEndTime,bwt.examStatus,
bwt.examScore,bwt.examTime,bwt.examTimeInfo,bwt.answerStudytime,bwt.correctRate,
bwt.standardStudyTime,bwt.requirementStudytime,bwt.totalQuestion,
bwt.isMakeUp,bwt.makeUpCount,bwt.makeUpScore,sdd.name as postId,
bwt.projectStatus,bwt.projectStartTime,bwt.is_active,bp.name as projectName,bw.name as `userName`
FROM bns_smz_bm_worker_train bwt
LEFT JOIN bns_smz_bm_worker_record bwr ON bwr.ID_NUMBER = bwt.id_number
LEFT JOIN bns_smz_bm_worker bw ON bw.ID_NUMBER = bwt.id_number
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_sys_dic_detail sdd ON sdd.id = bwr.post_id
WHERE bwt.id_number = #{id}
</select>
<select id="getWorkerIdCount" resultType="java.lang.String">
select ID_NUMBER as idNumber from bns_smz_bm_worker
</select>
<select id="getWorkerPostInfo" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT id,unit,name,id_Number as idNumber,post_name as postName,phone,train_name as trainName,totalStudytime,trainStudytime,examScore
FROM bns_smz_bm_worker_train
WHERE is_active ='1'
<if test="params.keyWord!=null and params.keyWord!=''">
AND (
unit like concat ('%',#{params.keyWord},'%') or
name like concat ('%',#{params.keyWord},'%') or
post_name like concat ('%',#{params.keyWord},'%') or
train_name like concat ('%',#{params.keyWord},'%')
)
</if>
ORDER BY id DESC
</select>
<select id="getWorkerPostByIdNumber" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT id,unit,name,id_Number as idNumber,post_name as postName,phone,train_name as trainName,totalStudytime,trainStudytime,examScore
FROM bns_smz_bm_worker_train
WHERE is_active ='1' and id_Number = #{idNumber}
</select>
<select id="getWorkerPostByPhone" resultType="com.bonus.hnrn.rnbmw.person.entity.UserTrainInfoBean">
SELECT id,unit,name,id_Number as idNumber,post_name as postName,phone,train_name as trainName,totalStudytime,trainStudytime,examScore
FROM bns_smz_bm_worker_train
WHERE is_active ='1' and phone = #{phone}
</select>
</mapper>