hn_cloud_service/HnRealNameBmw/src/main/resources/mappers/person/SalaryWitnessMapper.xml

296 lines
12 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.SalaryWitnessDao">
<select id="getCount" resultType="java.lang.Integer">
SELECT count(1) from (
SELECT
bw.ID_NUMBER as idNumber
FROM bns_smz_bm_worker bw
LEFT JOIN bns_smz_bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_bm_worker_witness bww on bww.ID_NUMBER = bw.ID_NUMBER AND bww.witness_type = '2' and bww.IS_ACTIVE = '1'
LEFT JOIN bns_smz_bm_worker_payroll bwp ON bwp.ID_NUMBER = bw.ID_NUMBER AND bwp.is_active = '1'
LEFT JOIN bns_smz_sys_user su ON su.id = bwp.upload_id
WHERE bw.IS_ACTIVE = '1'
<if test='params.roleLevel == "4" and params.subId!=null and params.subId!=""'>
and bwr.SUB_ID=#{params.subId}
</if>
<if test="params.orgId != null and params.orgId != ''">
<if test='params.roleLevel == "1"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE company_id = #{params.companyId})
</if>
<if test='params.roleLevel == "2"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE PARENT_ID = #{params.orgId})
</if>
<if test='params.roleLevel == "3"'>
AND bp.company_id = #{params.orgId}
</if>
<if test='params.roleLevel == "4"'>
AND bp.id in (SELECT pro_id FROM bns_smz_bm_sub_pro_relation WHERE sub_id = #{params.subId})
</if>
</if>
<if test="params.proId != null and params.proId !='' ">
and bp.id = #{params.proId}
</if>
<if test="params.keyWord!=null and params.keyWord!='' ">
and (
bw.`ID_NUMBER` like concat ('%',#{params.keyWord},'%') or
bwp.ROLL_BANK_NAME like concat ('%',#{params.keyWord},'%') or
bw.`name` like concat ('%',#{params.keyWord},'%') or
bwp.BANK_CARD like concat ('%',#{params.keyWord},'%') or
bwp.BANK_NAME like concat ('%',#{params.keyWord},'%')
)
</if>
group by bw.ID_NUMBER
)a where 1=1
</select>
<select id="getWagesInfo" resultType="com.bonus.hnrn.rnbmw.person.entity.SalaryWitnessBean" >
SELECT
bw.ID_NUMBER AS idNumber,
bw.NAME,
bwp.BANK_CARD AS bankCard,
bwp.BANK_ID as bankId,
sdd.`name` AS bankName,
bwp.ROLL_BANK_NAME AS rollBankName,
GROUP_CONCAT( bww.witness_path ) AS witnessPath,
GROUP_CONCAT( bwp.path ) AS bankPath,
bwp.upload_time AS uploadTime,
bwp.upload_id AS uploadId,
su.USERNAME AS uploadName,
count( bww.witness_path ) AS photoNum,
bp.name as proName,
bwr.PROJECT_ID AS proId
FROM bns_smz_bm_worker bw
LEFT JOIN bns_smz_bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_bm_worker_witness bww on bww.ID_NUMBER = bw.ID_NUMBER AND bww.witness_type = '2' and bww.IS_ACTIVE = '1'
LEFT JOIN bns_smz_bm_worker_payroll bwp ON bwp.ID_NUMBER = bw.ID_NUMBER AND bwp.is_active = '1'
LEFT JOIN bns_smz_sys_user su ON su.id = bwp.upload_id
LEFT JOIN bns_smz_sys_dic_detail sdd ON sdd.id = bwp.BANK_ID
WHERE bw.IS_ACTIVE = '1'
<if test='params.roleLevel == "4" and params.subId!=null and params.subId!=""'>
and bwr.SUB_ID=#{params.subId}
</if>
<if test="params.orgId != null and params.orgId != ''">
<if test='params.roleLevel == "1"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE company_id = #{params.companyId})
</if>
<if test='params.roleLevel == "2"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE PARENT_ID = #{params.orgId})
</if>
<if test='params.roleLevel == "3"'>
AND bp.company_id = #{params.orgId}
</if>
<if test='params.roleLevel == "4"'>
AND bp.id in (SELECT pro_id FROM bns_smz_bm_sub_pro_relation WHERE sub_id = #{params.subId})
</if>
</if>
<if test="params.proId != null and params.proId !='' ">
and bp.id = #{params.proId}
</if>
<if test="params.keyWord!=null and params.keyWord!='' ">
and (
bw.`ID_NUMBER` like concat ('%',#{params.keyWord},'%') or
bwp.ROLL_BANK_NAME like concat ('%',#{params.keyWord},'%') or
bw.`name` like concat ('%',#{params.keyWord},'%') or
bwp.BANK_CARD like concat ('%',#{params.keyWord},'%') or
bwp.BANK_NAME like concat ('%',#{params.keyWord},'%')
)
</if>
group by bw.ID_NUMBER
${params.orderBy}
limit #{offset}, #{limit}
</select>
<select id="getRollBankName" resultType="com.bonus.hnrn.rnbmw.person.entity.SalaryWitnessBean">
select ID_NUMBER as idNumber, ROLL_BANK_NAME as rollBankName from bns_smz_bm_worker_payroll where ID_NUMBER =#{idNumber}
</select>
<update bns_smz_id="updateSalaryWintnessInfo">
update bns_smz_bm_worker_payroll set BANK_CARD = #{bankCard},ROLL_BANK_NAME = #{rollBankName},BANK_ID = #{bankName}
where ID_NUMBER = #{idNumber}
;
insert into bns_smz_bm_worker_payroll_history
(ID_NUMBER,BANK_CARD,BANK_ID,ROLL_BANK_NAME,upload_time,upload_id,is_active)
values (#{idNumber},#{bankCard},#{bankName},#{rollBankName},now(),#{userId},'1')
</update>
<select id="getWageAndWageCard" resultType="com.bonus.hnrn.rnbmw.person.entity.SalaryWitnessBean" >
select
bw.ID_NUMBER as idNumber,
bw.name,
bwp.BANK_CARD as bankCard,
bwp.BANK_NAME as bankName,
bwp.ROLL_BANK_NAME as rollBankName ,
concat(bwp.path) as witnessPath,
bwp.upload_time as uploadTime,
bwp.upload_id as uploadId,
su.USERNAME as uploadName
FROM bns_smz_bm_worker bw
LEFT JOIN bns_smz_bm_worker_payroll bwp on bwp.ID_NUMBER = bw.ID_NUMBER
LEFT JOIN bns_smz_sys_user su on su.id = bwp.upload_id
where
bw.IS_ACTIVE = 1 and bwp.ID_NUMBER = #{idNumber} and bwp.is_active = 1
</select>
<select id="getCountCS" resultType="java.lang.Integer">
SELECT count(1) from (
SELECT
bw.ID_NUMBER as idNumber
FROM bns_smz_bm_worker bw
LEFT JOIN bns_smz_bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_bm_worker_witness bww on bww.ID_NUMBER = bw.ID_NUMBER AND bww.witness_type = '2' and bww.IS_ACTIVE = '1'
LEFT JOIN bns_smz_bm_worker_payroll bwp ON bwp.ID_NUMBER = bw.ID_NUMBER AND bwp.is_active = '1'
LEFT JOIN bns_smz_sys_user su ON su.id = bwp.upload_id
WHERE bw.IS_ACTIVE = '1'
<if test="params.orgId != null and params.orgId != ''">
<if test='params.roleLevel == "1"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE company_id = #{params.companyId})
</if>
<if test='params.roleLevel == "2"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE PARENT_ID = #{params.orgId})
</if>
<if test='params.roleLevel == "3"'>
AND bp.company_id = #{params.orgId}
</if>
<if test='params.roleLevel == "4"'>
AND bp.id in (SELECT pro_id FROM bns_smz_bm_sub_pro_relation WHERE sub_id = #{params.subId})
</if>
</if>
<if test="params.proId != null and params.proId !='' ">
and bp.id = #{params.proId}
</if>
<if test="params.keyWord!=null and params.keyWord!='' ">
and (
bw.`ID_NUMBER` like concat ('%',#{params.keyWord},'%') or
bwp.ROLL_BANK_NAME like concat ('%',#{params.keyWord},'%') or
bw.`name` like concat ('%',#{params.keyWord},'%') or
bwp.BANK_CARD like concat ('%',#{params.keyWord},'%') or
bwp.BANK_NAME like concat ('%',#{params.keyWord},'%')
)
</if>
group by bw.ID_NUMBER
)a where 1=1
</select>
<select id="getWagesInfoCS" resultType="com.bonus.hnrn.rnbmw.person.entity.SalaryWitnessBean">
SELECT
bw.ID_NUMBER AS idNumber,
bw.NAME,
bwp.BANK_CARD AS bankCard,
bwp.BANK_NAME AS bankName,
bwp.ROLL_BANK_NAME AS rollBankName,
GROUP_CONCAT( bww.witness_path ) AS witnessPath,
GROUP_CONCAT( bwp.path ) AS bankPath,
bwp.upload_time AS uploadTime,
bwp.upload_id AS uploadId,
su.USERNAME AS uploadName,
count( bww.witness_path ) AS photoNum,
bp.name as proName,
bwr.PROJECT_ID AS proId
FROM bns_smz_bm_worker bw
LEFT JOIN bns_smz_bm_worker_record bwr on bwr.ID_NUMBER = bw.ID_NUMBER
LEFT JOIN bns_smz_bm_project bp ON bp.ID = bwr.PROJECT_ID
LEFT JOIN bns_smz_bm_worker_witness bww on bww.ID_NUMBER = bw.ID_NUMBER AND bww.witness_type = '2' and bww.IS_ACTIVE = '1'
LEFT JOIN bns_smz_bm_worker_payroll bwp ON bwp.ID_NUMBER = bw.ID_NUMBER AND bwp.is_active = '1'
LEFT JOIN bns_smz_sys_user su ON su.id = bwp.upload_id
WHERE bw.IS_ACTIVE = '1'
<if test="params.orgId != null and params.orgId != ''">
<if test='params.roleLevel == "1"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE company_id = #{params.companyId})
</if>
<if test='params.roleLevel == "2"'>
AND bp.company_id in(SELECT id FROM bns_smz_pm_organization WHERE PARENT_ID = #{params.orgId})
</if>
<if test='params.roleLevel == "3"'>
AND bp.company_id = #{params.orgId}
</if>
<if test='params.roleLevel == "4"'>
AND bp.id in (SELECT pro_id FROM bns_smz_bm_sub_pro_relation WHERE sub_id = #{params.subId})
</if>
</if>
<if test="params.proId != null and params.proId !='' ">
and bp.id = #{params.proId}
</if>
<if test="params.keyWord!=null and params.keyWord!='' ">
and (
bw.`ID_NUMBER` like concat ('%',#{params.keyWord},'%') or
bwp.ROLL_BANK_NAME like concat ('%',#{params.keyWord},'%') or
bw.`name` like concat ('%',#{params.keyWord},'%') or
bwp.BANK_CARD like concat ('%',#{params.keyWord},'%') or
bwp.BANK_NAME like concat ('%',#{params.keyWord},'%')
)
</if>
group by bw.ID_NUMBER
${params.orderBy}
limit #{offset}, #{limit}
</select>
<select id="getHistoryList" resultType="com.bonus.hnrn.rnbmw.person.entity.SalaryWitnessBean">
SELECT
h.BANK_CARD as bankCard,
sdd.`name` AS bankName,
h.ROLL_BANK_NAME AS rollBankName,
h.upload_time as time
FROM `bm_worker_payroll_history` h
LEFT JOIN bns_smz_sys_dic_detail sdd ON sdd.id = h.BANK_ID
WHERE h.ID_NUMBER =#{params.idNumber}
ORDER BY h.upload_time DESC
</select>
<select id="getHistoryCount" resultType="java.lang.Integer">
SELECT count(1) from (
SELECT
h.BANK_CARD as bankCard,
sdd.`name` AS bankName,
h.ROLL_BANK_NAME AS rollBankName,
h.upload_time as time
FROM `bm_worker_payroll_history` h
LEFT JOIN bns_smz_sys_dic_detail sdd ON sdd.id = h.BANK_ID
WHERE h.ID_NUMBER =#{params.idNumber}
)a
</select>
<update bns_smz_id="delSalaryWitnessInfo">
update bns_smz_bm_worker_payroll set IS_ACTIVE = '0' where ID_NUMBER = #{idNumber};
update bns_smz_bm_worker_witness set IS_ACTIVE = '0' where witness_type = '2' and ID_NUMBER = #{idNumber};
</update>
<insert id="addSalaryWitnessPhoto">
insert into bns_smz_bm_worker_payroll
(ID_NUMBER,BANK_CARD,BANK_NAME,ROLL_BANK_NAME,PROJECT_ID,path,upload_time,upload_id,is_active)
values (#{idNumber},#{bankCard},#{bankName},#{rollBankName},null,#{witnessPath},now(),#{userId},'1')
</insert>
<insert id="addSalaryWitnessPhotoTwo">
insert into bns_smz_bm_worker_witness
(ID_NUMBER,witness_path,witness_type,upload_date,upload_time,upload_id,is_active)
values (#{idNumber},#{witnessPath},'2',now(),now(),#{userId},'1')
</insert>
<insert id="addBankInfo">
replace into bns_smz_bm_worker_payroll
(ID_NUMBER,BANK_CARD,BANK_ID,ROLL_BANK_NAME,upload_time,upload_id,is_active)
values (#{idNumber},#{bankCard},#{bankName},#{rollBankName},#{uploadTime},#{userId},'1')
;
insert into bns_smz_bm_worker_payroll_history
(ID_NUMBER,BANK_CARD,BANK_ID,ROLL_BANK_NAME,upload_time,upload_id,is_active)
values (#{idNumber},#{bankCard},#{bankName},#{rollBankName},#{uploadTime},#{userId},'1')
</insert>
<update bns_smz_id="updateDeletePhoto">
update bns_smz_bm_worker_witness set is_active = '0' where witness_path = #{deletePath}
</update>
</mapper>