295 lines
12 KiB
XML
295 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.gzrn.rnbmw.person.dao.ContractDao">
|
|
|
|
|
|
<select id="getContractManageList" resultType="com.bonus.gzrn.rnbmw.person.entity.ContractBean">
|
|
select * from (
|
|
SELECT
|
|
bwc.id,
|
|
bw.`NAME`,
|
|
bp.NAME AS proName,
|
|
bw.ID_NUMBER AS idNumber,
|
|
sdd.NAME AS postName,
|
|
bwc.effectDate,
|
|
bwc.contractValidDate,
|
|
bwc.contractCode,
|
|
bwc.contractType,
|
|
bwc.contractType AS miurInsurance,
|
|
IF( bwc.sub_contract_url IS NULL, bwc.person_contract_url, bwc.sub_contract_url ) AS url,
|
|
IF(bwc.contractType = '纸质合同','已签订',
|
|
IF(( bwc.is_audit = 0 ),'待签订',
|
|
IF(( bwc.is_audit = 2 ),'审核不通过',
|
|
IF(bwc.is_audit = 1,
|
|
IF(( bwcd.is_sign != 0 AND bwcd.is_sign != 1 ),'待签署',
|
|
IF( bwcd.is_sign = 0 , '未签署', IF ( bwcd.is_sign = 1 , '已签署', '未签署' ))),'未签订'
|
|
)))) AS stauts
|
|
|
|
FROM
|
|
bm_worker_record bwr
|
|
LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bwr.ID_NUMBER
|
|
AND bwc.is_active = '1'
|
|
LEFT JOIN bm_worker_contract_details bwcd ON bwcd.part_b_idCard = bwr.ID_NUMBER
|
|
AND bwcd.contract_id = bwc.id
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bwr.POST_ID
|
|
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID
|
|
WHERE
|
|
bwr.IS_ACTIVE = '1'
|
|
<if test="params != null and params !=''">
|
|
<if test="params.companyId != null and params.companyId !=''">
|
|
and bp.company_id = #{params.companyId}
|
|
</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.`NAME` like CONCAT('%',#{params.keyWord},'%') OR
|
|
bw.ID_NUMBER like CONCAT('%',#{params.keyWord},'%') OR
|
|
sdd.name like CONCAT('%',#{params.keyWord},'%') OR
|
|
bwc.effectDate like CONCAT('%',#{params.keyWord},'%') OR
|
|
bwc.contractCode like CONCAT('%',#{params.keyWord},'%') OR
|
|
bwc.contractType like CONCAT('%',#{params.keyWord},'%')
|
|
)
|
|
</if>
|
|
</if>
|
|
and bw.IS_ACTIVE = '1'
|
|
GROUP BY bwr.ID_NUMBER ) r
|
|
<where>
|
|
<if test="params != null and params !=''">
|
|
<if test="params.contractStatus != null and params.contractStatus !=''">
|
|
and r.stauts = #{params.contractStatus}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
order by r.stauts ASC
|
|
limit #{offset}, #{limit}
|
|
</select>
|
|
|
|
<select id="getContractManageCount" resultType="java.lang.Integer">
|
|
SELECT count(1)
|
|
from (
|
|
SELECT
|
|
IF(bwc.contractType = '纸质合同','已签订',
|
|
IF(( bwc.is_audit = 0 ),'待签订',
|
|
IF(( bwc.is_audit = 2 ),'审核不通过',
|
|
IF(bwc.is_audit = 1,
|
|
IF(( bwcd.is_sign != 0 AND bwcd.is_sign != 1 ),'待签署',
|
|
IF( bwcd.is_sign = 0 , '未签署', IF ( bwcd.is_sign = 1 , '已签署', '未签署' ))),'未签订'
|
|
)))) AS stauts
|
|
FROM bm_worker_record bwr
|
|
LEFT JOIN bm_worker_contract bwc ON bwc.idCard=bwr.ID_NUMBER and bwc.is_active = '1'
|
|
LEFT JOIN bm_worker_contract_details bwcd ON bwcd.part_b_idCard = bwr.ID_NUMBER and bwcd.contract_id=bwc.id
|
|
INNER JOIN bm_worker bw ON bw.ID_NUMBER=bwr.ID_NUMBER and bw.IS_ACTIVE = '1'
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id=bwr.POST_ID
|
|
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID
|
|
where bwr.IS_ACTIVE = '1'
|
|
<if test="params != null and params !=''">
|
|
<if test="params.companyId != null and params.companyId !=''">
|
|
and bp.company_id = #{params.companyId}
|
|
</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.`NAME` like CONCAT('%',#{params.keyWord},'%') OR
|
|
bw.ID_NUMBER like CONCAT('%',#{params.keyWord},'%') OR
|
|
sdd.name like CONCAT('%',#{params.keyWord},'%') OR
|
|
bwc.effectDate like CONCAT('%',#{params.keyWord},'%') OR
|
|
bwc.contractCode like CONCAT('%',#{params.keyWord},'%') OR
|
|
bwc.contractType like CONCAT('%',#{params.keyWord},'%')
|
|
)
|
|
</if>
|
|
</if>
|
|
|
|
GROUP BY bwr.ID_NUMBER
|
|
) r
|
|
<where>
|
|
<if test="params != null and params !=''">
|
|
<if test="params.contractStatus != null and params.contractStatus !=''">
|
|
and r.stauts = #{params.contractStatus}
|
|
</if>
|
|
</if>
|
|
</where>
|
|
</select>
|
|
|
|
<!--新增合同见证照片-->
|
|
<insert id="addContractPhoto">
|
|
insert into bm_worker_witness
|
|
(ID_NUMBER, witness_path, witness_type, upload_date, upload_time, upload_id,contract_id, is_active)
|
|
values (#{idNumber}, #{witnessPath}, '1', #{uploadDate}, #{uploadTime}, #{uploadId},#{id}, '1')
|
|
</insert>
|
|
<!--新增合同见证基本信息-->
|
|
<insert id="addContractInfo">
|
|
insert into bm_worker_contract
|
|
(idCard, contractCode, laborContractType, role, contractValidDate, contractInvalidDate,
|
|
contractType, wageApprovedWay, wageCriterion, miurInsurance, whetherOnJob, endowmentInsurance,id
|
|
<if test="contractType == '纸质合同'">
|
|
,is_audit
|
|
</if>
|
|
)
|
|
values (#{idNumber}, #{contractCode}, #{laborContractType}, #{role}, #{contractValidDate},
|
|
#{contractInvalidDate},
|
|
#{contractType}, #{wageApprovedWay}, #{wageCriterion}, #{miurInsurance}, #{whetherOnJob},
|
|
#{endowmentInsurance},#{id}
|
|
<if test="contractType == '纸质合同'">
|
|
,1
|
|
</if>
|
|
)
|
|
</insert>
|
|
|
|
<!-- 电子合同信息 -->
|
|
<select id="getContractDetails" resultType="com.bonus.gzrn.rnbmw.person.entity.ContractBean">
|
|
SELECT bw.`NAME`,
|
|
bw.ID_NUMBER as idNumber,
|
|
face_url as faceUrl,
|
|
short_message as shortMessage,
|
|
message,
|
|
message_time as messageTime,
|
|
video_url as videoUrl
|
|
FROM bm_worker_contract_details bwcd
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwcd.part_b_idCard
|
|
WHERE bwcd.part_b_idCard = #{idNumber} and contract_id = #{id}
|
|
</select>
|
|
<!-- 纸质照片信息 -->
|
|
<select id="getContractPhoto" resultType="com.bonus.gzrn.rnbmw.person.entity.ContractBean">
|
|
SELECT u.USERNAME as uploadName,
|
|
bww.upload_time as uploadTime,
|
|
bww.witness_path as witnessPath
|
|
from bm_worker_witness bww
|
|
LEFT JOIN sys_user u ON u.id = bww.upload_id
|
|
WHERE bww.is_active = '1' and bww.witness_type = '1'
|
|
AND bww.ID_NUMBER = #{idNumber}
|
|
</select>
|
|
|
|
<delete id="delContract">
|
|
update bm_worker_contract set is_active = '0' where idCard = #{idNumber}
|
|
<if test="delId != '' and delId != null">
|
|
and id = #{delId}
|
|
</if>
|
|
;
|
|
update bm_worker_contract_details set is_active = '0' where part_b_idCard = #{idNumber}
|
|
<if test="delId != '' and delId != null">
|
|
and contract_id = #{delId}
|
|
</if>
|
|
;
|
|
</delete>
|
|
<delete id="delContractPhoto">
|
|
update bm_worker_witness set is_active = '0' where ID_NUMBER = #{idNumber}
|
|
<if test="delId != '' and delId != null">
|
|
and contract_id = #{delId}
|
|
</if>
|
|
and witness_type = '1'
|
|
</delete>
|
|
|
|
<select id="getContractSingletonCount" resultType="java.lang.Integer">
|
|
select count(1) from (
|
|
SELECT
|
|
1
|
|
FROM
|
|
bm_worker_record bwr
|
|
LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bwr.ID_NUMBER
|
|
LEFT JOIN bm_worker_contract_details bwcd ON bwcd.part_b_idCard = bwr.ID_NUMBER
|
|
AND bwcd.contract_id = bwc.id
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bwr.POST_ID
|
|
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID
|
|
where bwr.IS_ACTIVE = '1'
|
|
<if test="params != null and params !=''">
|
|
<if test="params.companyId != null and params.companyId !=''">
|
|
and bp.company_id = #{params.companyId}
|
|
</if>
|
|
<if test="params.idNumber != null and params.idNumber !=''">
|
|
and bwr.ID_NUMBER = #{params.idNumber}
|
|
</if>
|
|
<if test="params.keyword !=null and params.keyword !=''">
|
|
and(
|
|
bwc.contractCode like CONCAT('%',#{params.keyword},'%')
|
|
)
|
|
</if>
|
|
</if>
|
|
and bw.IS_ACTIVE = '1'
|
|
) a
|
|
</select>
|
|
<select id="getContractSingletonList" resultType="com.bonus.gzrn.rnbmw.person.entity.ContractBean">
|
|
SELECT
|
|
bwc.id,
|
|
bw.id_number as idNumber,
|
|
bwc.contractCode,
|
|
bwc.contractType,
|
|
bwc.contractType AS miurInsurance,
|
|
bwc.upload_time as uploadTime,
|
|
IF
|
|
( bwc.sub_contract_url IS NULL, bwc.person_contract_url, bwc.sub_contract_url ) AS url,
|
|
IF(bwc.is_active = '1','有效','无效') as isActive
|
|
FROM
|
|
bm_worker_record bwr
|
|
LEFT JOIN bm_worker_contract bwc ON bwc.idCard = bwr.ID_NUMBER
|
|
LEFT JOIN bm_worker_contract_details bwcd ON bwcd.part_b_idCard = bwr.ID_NUMBER
|
|
AND bwcd.contract_id = bwc.id
|
|
LEFT JOIN bm_worker bw ON bw.ID_NUMBER = bwr.ID_NUMBER
|
|
LEFT JOIN sys_dic_detail sdd ON sdd.id = bwr.POST_ID
|
|
LEFT JOIN bm_project bp ON bp.id = bwr.PROJECT_ID
|
|
where bwr.IS_ACTIVE = '1'
|
|
<if test="params != null and params !=''">
|
|
<if test="params.companyId != null and params.companyId !=''">
|
|
and bp.company_id = #{params.companyId}
|
|
</if>
|
|
<if test="params.idNumber != null and params.idNumber !=''">
|
|
and bwr.ID_NUMBER = #{params.idNumber}
|
|
</if>
|
|
<if test="params.keyword !=null and params.keyword !=''">
|
|
and(
|
|
bwc.contractCode like CONCAT('%',#{params.keyword},'%')
|
|
)
|
|
</if>
|
|
</if>
|
|
and bw.IS_ACTIVE = '1'
|
|
limit #{offset}, #{limit}
|
|
</select>
|
|
|
|
<select id="getPaperBookContract" resultType="com.bonus.gzrn.rnbmw.person.entity.ContractBean">
|
|
SELECT
|
|
bwc.contractCode,
|
|
bwc.laborContractType,
|
|
bwc.role,
|
|
bwc.contractValidDate,
|
|
bwc.contractInvalidDate,
|
|
bwc.contractType,
|
|
bwc.wageApprovedWay,
|
|
bwc.wageCriterion,
|
|
bwc.miurInsurance,
|
|
bwc.whetherOnJob,
|
|
bwc.endowmentInsurance,
|
|
GROUP_CONCAT(bww.witness_path) as witnessPath
|
|
FROM
|
|
bm_worker_contract bwc
|
|
LEFT JOIN bm_worker_witness bww ON bwc.idCard = bww.ID_NUMBER and bwc.id = bww.contract_id and bww.witness_type = '1'
|
|
WHERE bwc.idCard = #{idNumber} and bwc.id = #{id}
|
|
GROUP BY bwc.idCard,bwc.id
|
|
</select>
|
|
<select id="getCountByIdNmuber" resultType="java.lang.Integer">
|
|
SELECT
|
|
count(*)
|
|
FROM
|
|
bm_worker
|
|
WHERE
|
|
id_number = #{idNumber}
|
|
AND is_active = '1'
|
|
</select>
|
|
<select id="getContractCount" resultType="com.bonus.gzrn.rnbmw.person.entity.ContractBean">
|
|
SELECT
|
|
*
|
|
FROM
|
|
bm_worker_contract bwc
|
|
WHERE
|
|
bwc.is_active = '1'
|
|
AND bwc.idCard = #{idNumber}
|
|
</select>
|
|
|
|
|
|
</mapper> |