refactor: 重命名 ruoyi-info-collection 模块为 ccdi-info-collection
- 重命名模块目录 ruoyi-info-collection -> ccdi-info-collection - 更新所有 pom.xml 中的模块引用 - 更新 IDEA 配置文件 (compiler.xml, encodings.xml) - Java 包名保持不变 (com.ruoyi.info.collection) - 编译测试通过
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiBaseStaffMapper">
|
||||
|
||||
<!-- 员工基本信息ResultMap(用于列表查询,不包含亲属) -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiBaseStaffVO" id="CcdiBaseStaffVOResult">
|
||||
<id property="staffId" column="staff_id"/>
|
||||
<result property="name" column="name"/>
|
||||
<result property="deptId" column="dept_id"/>
|
||||
<result property="deptName" column="dept_name"/>
|
||||
<result property="idCard" column="id_card"/>
|
||||
<result property="phone" column="phone"/>
|
||||
<result property="hireDate" column="hire_date"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectBaseStaffPageWithDept" resultMap="CcdiBaseStaffVOResult">
|
||||
SELECT
|
||||
e.staff_id, e.name, e.dept_id, e.id_card, e.phone, e.hire_date, e.status, e.create_time,
|
||||
d.dept_name
|
||||
FROM ccdi_base_staff e
|
||||
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
|
||||
<where>
|
||||
<if test="query.name != null and query.name != ''">
|
||||
AND e.name LIKE CONCAT('%', #{query.name}, '%')
|
||||
</if>
|
||||
<if test="query.staffId != null">
|
||||
AND e.staff_id = #{query.staffId}
|
||||
</if>
|
||||
<if test="query.deptId != null">
|
||||
AND e.dept_id = #{query.deptId}
|
||||
</if>
|
||||
<if test="query.idCard != null and query.idCard != ''">
|
||||
AND e.id_card LIKE CONCAT('%', #{query.idCard}, '%')
|
||||
</if>
|
||||
<if test="query.status != null and query.status != ''">
|
||||
AND e.status = #{query.status}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY e.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 批量插入或更新员工信息(只更新非null字段) -->
|
||||
<insert id="insertOrUpdateBatch" parameterType="java.util.List">
|
||||
INSERT INTO ccdi_base_staff
|
||||
(staff_id, name, dept_id, id_card, phone, hire_date, status,
|
||||
create_time, create_by, update_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.staffId}, #{item.name}, #{item.deptId}, #{item.idCard},
|
||||
#{item.phone}, #{item.hireDate}, #{item.status}, NOW(),
|
||||
#{item.createBy}, #{item.updateBy}, NOW())
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
name = COALESCE(VALUES(name), name),
|
||||
dept_id = COALESCE(VALUES(dept_id), dept_id),
|
||||
phone = COALESCE(VALUES(phone), phone),
|
||||
hire_date = COALESCE(VALUES(hire_date), hire_date),
|
||||
status = COALESCE(VALUES(status), status),
|
||||
update_by = COALESCE(VALUES(update_by), update_by),
|
||||
update_time = NOW()
|
||||
</insert>
|
||||
|
||||
<!-- 批量插入员工信息 -->
|
||||
<insert id="insertBatch" parameterType="java.util.List">
|
||||
INSERT INTO ccdi_base_staff
|
||||
(staff_id, name, dept_id, id_card, phone, hire_date, status,
|
||||
create_time, create_by, update_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.staffId}, #{item.name}, #{item.deptId}, #{item.idCard},
|
||||
#{item.phone}, #{item.hireDate}, #{item.status}, NOW(),
|
||||
#{item.createBy}, #{item.updateBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 查询员工选项(用于下拉选择框) -->
|
||||
<!-- 支持按员工ID或姓名模糊搜索,只返回在职员工 -->
|
||||
<select id="selectStaffOptions" resultType="com.ruoyi.info.collection.domain.vo.CcdiBaseStaffOptionVO">
|
||||
SELECT
|
||||
e.staff_id,
|
||||
e.name,
|
||||
e.dept_id,
|
||||
d.dept_name
|
||||
FROM ccdi_base_staff e
|
||||
LEFT JOIN sys_dept d ON e.dept_id = d.dept_id
|
||||
<where>
|
||||
e.status = '0'
|
||||
<if test="query != null and query != ''">
|
||||
AND (CAST(e.staff_id AS CHAR) LIKE CONCAT('%', #{query}, '%')
|
||||
OR e.name LIKE CONCAT('%', #{query}, '%'))
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY e.staff_id
|
||||
LIMIT 100
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,94 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiBizIntermediaryMapper">
|
||||
|
||||
<!-- 批量插入个人中介 -->
|
||||
<insert id="insertBatch" parameterType="java.util.List">
|
||||
INSERT INTO ccdi_biz_intermediary (
|
||||
biz_id, person_type, person_sub_type, relation_type,
|
||||
name, gender, id_type, person_id, mobile, wechat_no,
|
||||
contact_address, company, social_credit_code, position,
|
||||
related_num_id, data_source, remark,
|
||||
created_by, updated_by, create_time, update_time
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.bizId}, #{item.personType}, #{item.personSubType}, #{item.relationType},
|
||||
#{item.name}, #{item.gender}, #{item.idType}, #{item.personId}, #{item.mobile}, #{item.wechatNo},
|
||||
#{item.contactAddress}, #{item.company}, #{item.socialCreditCode}, #{item.position},
|
||||
#{item.relatedNumId}, #{item.dataSource}, #{item.remark},
|
||||
#{item.createdBy}, #{item.updatedBy}, #{item.createTime}, #{item.updateTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 批量更新个人中介 -->
|
||||
<update id="updateBatch" parameterType="java.util.List">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
UPDATE ccdi_biz_intermediary
|
||||
<set>
|
||||
<if test="item.personType != null">person_type = #{item.personType},</if>
|
||||
<if test="item.personSubType != null">person_sub_type = #{item.personSubType},</if>
|
||||
<if test="item.relationType != null">relation_type = #{item.relationType},</if>
|
||||
<if test="item.name != null and item.name != ''">name = #{item.name},</if>
|
||||
<if test="item.gender != null">gender = #{item.gender},</if>
|
||||
<if test="item.idType != null">id_type = #{item.idType},</if>
|
||||
<if test="item.personId != null and item.personId != ''">person_id = #{item.personId},</if>
|
||||
<if test="item.mobile != null">mobile = #{item.mobile},</if>
|
||||
<if test="item.wechatNo != null">wechat_no = #{item.wechatNo},</if>
|
||||
<if test="item.contactAddress != null">contact_address = #{item.contactAddress},</if>
|
||||
<if test="item.company != null">company = #{item.company},</if>
|
||||
<if test="item.socialCreditCode != null">social_credit_code = #{item.socialCreditCode},</if>
|
||||
<if test="item.position != null">position = #{item.position},</if>
|
||||
<if test="item.relatedNumId != null">related_num_id = #{item.relatedNumId},</if>
|
||||
<if test="item.dataSource != null">data_source = #{item.dataSource},</if>
|
||||
<if test="item.remark != null">remark = #{item.remark},</if>
|
||||
<if test="item.updatedBy != null">updated_by = #{item.updatedBy},</if>
|
||||
update_time = #{item.updateTime}
|
||||
</set>
|
||||
WHERE biz_id = #{item.bizId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<!-- 批量导入个人中介数据(使用ON DUPLICATE KEY UPDATE) -->
|
||||
<insert id="importPersonBatch">
|
||||
INSERT INTO ccdi_biz_intermediary (
|
||||
biz_id, person_type, person_sub_type, relation_type,
|
||||
name, gender, id_type, person_id, mobile, wechat_no,
|
||||
contact_address, company, social_credit_code, position,
|
||||
related_num_id, data_source, remark,
|
||||
created_by, updated_by, create_time, update_time
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.bizId}, #{item.personType}, #{item.personSubType}, #{item.relationType},
|
||||
#{item.name}, #{item.gender}, #{item.idType}, #{item.personId}, #{item.mobile}, #{item.wechatNo},
|
||||
#{item.contactAddress}, #{item.company}, #{item.socialCreditCode}, #{item.position},
|
||||
#{item.relatedNumId}, #{item.dataSource}, #{item.remark},
|
||||
#{item.createdBy}, #{item.updatedBy}, #{item.createTime}, #{item.updateTime}
|
||||
)
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
name = IF(VALUES(name) IS NOT NULL AND VALUES(name) != '', VALUES(name), name),
|
||||
gender = IF(VALUES(gender) IS NOT NULL, VALUES(gender), gender),
|
||||
id_type = IF(VALUES(id_type) IS NOT NULL AND VALUES(id_type) != '', VALUES(id_type), id_type),
|
||||
person_id = IF(VALUES(person_id) IS NOT NULL AND VALUES(person_id) != '', VALUES(person_id), person_id),
|
||||
mobile = IF(VALUES(mobile) IS NOT NULL AND VALUES(mobile) != '', VALUES(mobile), mobile),
|
||||
wechat_no = IF(VALUES(wechat_no) IS NOT NULL AND VALUES(wechat_no) != '', VALUES(wechat_no), wechat_no),
|
||||
contact_address = IF(VALUES(contact_address) IS NOT NULL AND VALUES(contact_address) != '', VALUES(contact_address), contact_address),
|
||||
company = IF(VALUES(company) IS NOT NULL AND VALUES(company) != '', VALUES(company), company),
|
||||
social_credit_code = IF(VALUES(social_credit_code) IS NOT NULL AND VALUES(social_credit_code) != '', VALUES(social_credit_code), social_credit_code),
|
||||
position = IF(VALUES(position) IS NOT NULL AND VALUES(position) != '', VALUES(position), position),
|
||||
related_num_id = IF(VALUES(related_num_id) IS NOT NULL AND VALUES(related_num_id) != '', VALUES(related_num_id), related_num_id),
|
||||
relation_type = IF(VALUES(relation_type) IS NOT NULL AND VALUES(relation_type) != '', VALUES(relation_type), relation_type),
|
||||
person_type = IF(VALUES(person_type) IS NOT NULL AND VALUES(person_type) != '', VALUES(person_type), person_type),
|
||||
person_sub_type = IF(VALUES(person_sub_type) IS NOT NULL AND VALUES(person_sub_type) != '', VALUES(person_sub_type), person_sub_type),
|
||||
data_source = IF(VALUES(data_source) IS NOT NULL AND VALUES(data_source) != '', VALUES(data_source), data_source),
|
||||
remark = IF(VALUES(remark) IS NOT NULL, VALUES(remark), remark),
|
||||
update_time = NOW(),
|
||||
update_by = VALUES(updated_by)
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,98 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiCustEnterpriseRelationMapper">
|
||||
|
||||
<!-- 信贷客户实体关联信息ResultMap -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiCustEnterpriseRelationVO" id="CcdiCustEnterpriseRelationVOResult">
|
||||
<id property="id" column="id"/>
|
||||
<result property="personId" column="person_id"/>
|
||||
<result property="relationPersonPost" column="relation_person_post"/>
|
||||
<result property="socialCreditCode" column="social_credit_code"/>
|
||||
<result property="enterpriseName" column="enterprise_name"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="dataSource" column="data_source"/>
|
||||
<result property="isEmployee" column="is_employee"/>
|
||||
<result property="isEmpFamily" column="is_emp_family"/>
|
||||
<result property="isCustomer" column="is_customer"/>
|
||||
<result property="isCustFamily" column="is_cust_family"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询信贷客户实体关联列表 -->
|
||||
<select id="selectRelationPage" resultMap="CcdiCustEnterpriseRelationVOResult">
|
||||
SELECT
|
||||
id, person_id, relation_person_post,
|
||||
social_credit_code, enterprise_name, status, remark,
|
||||
data_source, is_employee, is_emp_family, is_customer,
|
||||
is_cust_family, created_by, create_time, updated_by,
|
||||
update_time
|
||||
FROM ccdi_cust_enterprise_relation
|
||||
<where>
|
||||
<if test="query.personId != null and query.personId != ''">
|
||||
AND person_id LIKE CONCAT('%', #{query.personId}, '%')
|
||||
</if>
|
||||
<if test="query.socialCreditCode != null and query.socialCreditCode != ''">
|
||||
AND social_credit_code LIKE CONCAT('%', #{query.socialCreditCode}, '%')
|
||||
</if>
|
||||
<if test="query.enterpriseName != null and query.enterpriseName != ''">
|
||||
AND enterprise_name LIKE CONCAT('%', #{query.enterpriseName}, '%')
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
AND status = #{query.status}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询信贷客户实体关联详情 -->
|
||||
<select id="selectRelationById" resultMap="CcdiCustEnterpriseRelationVOResult">
|
||||
SELECT
|
||||
id, person_id, relation_person_post,
|
||||
social_credit_code, enterprise_name, status, remark,
|
||||
data_source, is_employee, is_emp_family, is_customer,
|
||||
is_cust_family, created_by, create_time, updated_by,
|
||||
update_time
|
||||
FROM ccdi_cust_enterprise_relation
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<!-- 判断身份证号和统一社会信用代码的组合是否已存在 -->
|
||||
<select id="existsByPersonIdAndSocialCreditCode" resultType="boolean">
|
||||
SELECT COUNT(1) > 0
|
||||
FROM ccdi_cust_enterprise_relation
|
||||
WHERE person_id = #{personId}
|
||||
AND social_credit_code = #{socialCreditCode}
|
||||
</select>
|
||||
|
||||
<!-- 批量查询已存在的person_id + social_credit_code组合 -->
|
||||
<!-- 优化导入性能:一次性查询所有组合,避免N+1查询问题 -->
|
||||
<select id="batchExistsByCombinations" resultType="string">
|
||||
SELECT CONCAT(person_id, '|', social_credit_code) AS combination
|
||||
FROM ccdi_cust_enterprise_relation
|
||||
WHERE CONCAT(person_id, '|', social_credit_code) IN
|
||||
<foreach collection="combinations" item="combination" open="(" separator="," close=")">
|
||||
#{combination}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 批量插入信贷客户实体关联数据 -->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO ccdi_cust_enterprise_relation
|
||||
(person_id, relation_person_post, social_credit_code, enterprise_name,
|
||||
status, remark, data_source, is_employee, is_emp_family, is_customer, is_cust_family,
|
||||
created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.personId}, #{item.relationPersonPost}, #{item.socialCreditCode}, #{item.enterpriseName},
|
||||
#{item.status}, #{item.remark}, #{item.dataSource}, #{item.isEmployee}, #{item.isEmpFamily}, #{item.isCustomer}, #{item.isCustFamily},
|
||||
#{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,128 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiCustFmyRelationMapper">
|
||||
|
||||
<resultMap id="CcdiCustFmyRelationVOResult" type="com.ruoyi.info.collection.domain.vo.CcdiCustFmyRelationVO">
|
||||
<id property="id" column="id"/>
|
||||
<result property="personId" column="person_id"/>
|
||||
<result property="relationType" column="relation_type"/>
|
||||
<result property="relationName" column="relation_name"/>
|
||||
<result property="gender" column="gender"/>
|
||||
<result property="birthDate" column="birth_date"/>
|
||||
<result property="relationCertType" column="relation_cert_type"/>
|
||||
<result property="relationCertNo" column="relation_cert_no"/>
|
||||
<result property="mobilePhone1" column="mobile_phone1"/>
|
||||
<result property="mobilePhone2" column="mobile_phone2"/>
|
||||
<result property="wechatNo1" column="wechat_no1"/>
|
||||
<result property="wechatNo2" column="wechat_no2"/>
|
||||
<result property="wechatNo3" column="wechat_no3"/>
|
||||
<result property="contactAddress" column="contact_address"/>
|
||||
<result property="relationDesc" column="relation_desc"/>
|
||||
<result property="effectiveDate" column="effective_date"/>
|
||||
<result property="invalidDate" column="invalid_date"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="dataSource" column="data_source"/>
|
||||
<result property="isEmpFamily" column="is_emp_family"/>
|
||||
<result property="isCustFamily" column="is_cust_family"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询信贷客户家庭关系 -->
|
||||
<select id="selectRelationPage" resultMap="CcdiCustFmyRelationVOResult">
|
||||
SELECT
|
||||
r.id, r.person_id, r.relation_type, r.relation_name,
|
||||
r.gender, r.birth_date, r.relation_cert_type, r.relation_cert_no,
|
||||
r.mobile_phone1, r.mobile_phone2, r.wechat_no1, r.wechat_no2, r.wechat_no3,
|
||||
r.contact_address, r.relation_desc, r.effective_date, r.invalid_date,
|
||||
r.status, r.remark, r.data_source, r.is_emp_family, r.is_cust_family,
|
||||
r.created_by, r.create_time, r.updated_by, r.update_time
|
||||
FROM ccdi_cust_fmy_relation r
|
||||
WHERE r.is_cust_family = 1
|
||||
<if test="query.personId != null and query.personId != ''">
|
||||
AND r.person_id LIKE CONCAT('%', #{query.personId}, '%')
|
||||
</if>
|
||||
<if test="query.relationType != null and query.relationType != ''">
|
||||
AND r.relation_type = #{query.relationType}
|
||||
</if>
|
||||
<if test="query.relationName != null and query.relationName != ''">
|
||||
AND r.relation_name LIKE CONCAT('%', #{query.relationName}, '%')
|
||||
</if>
|
||||
ORDER BY r.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 根据ID查询详情 -->
|
||||
<select id="selectRelationById" resultMap="CcdiCustFmyRelationVOResult">
|
||||
SELECT
|
||||
r.id, r.person_id, r.relation_type, r.relation_name,
|
||||
r.gender, r.birth_date, r.relation_cert_type, r.relation_cert_no,
|
||||
r.mobile_phone1, r.mobile_phone2, r.wechat_no1, r.wechat_no2, r.wechat_no3,
|
||||
r.contact_address, r.relation_desc, r.effective_date, r.invalid_date,
|
||||
r.status, r.remark, r.data_source, r.is_emp_family, r.is_cust_family,
|
||||
r.created_by, r.create_time, r.updated_by, r.update_time
|
||||
FROM ccdi_cust_fmy_relation r
|
||||
WHERE r.id = #{id} AND r.is_cust_family = 1 AND 1=1
|
||||
</select>
|
||||
|
||||
<!-- 查询已存在的关系(用于导入校验) -->
|
||||
<select id="selectExistingRelations" resultType="com.ruoyi.info.collection.domain.CcdiCustFmyRelation">
|
||||
SELECT *
|
||||
FROM ccdi_cust_fmy_relation
|
||||
WHERE is_cust_family = 1
|
||||
AND person_id = #{personId}
|
||||
AND relation_type = #{relationType}
|
||||
AND relation_cert_no = #{relationCertNo}
|
||||
AND status = 1
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 批量插入 -->
|
||||
<insert id="insertBatch" parameterType="java.util.List">
|
||||
INSERT INTO ccdi_cust_fmy_relation (
|
||||
person_id, relation_type, relation_name, gender, birth_date,
|
||||
relation_cert_type, relation_cert_no, mobile_phone1, mobile_phone2,
|
||||
wechat_no1, wechat_no2, wechat_no3, contact_address, relation_desc,
|
||||
status, effective_date, invalid_date, remark, data_source,
|
||||
is_emp_family, is_cust_family, created_by, create_time
|
||||
) VALUES
|
||||
<foreach collection="relations" item="item" separator=",">
|
||||
(
|
||||
#{item.personId}, #{item.relationType}, #{item.relationName},
|
||||
#{item.gender}, #{item.birthDate}, #{item.relationCertType},
|
||||
#{item.relationCertNo}, #{item.mobilePhone1}, #{item.mobilePhone2},
|
||||
#{item.wechatNo1}, #{item.wechatNo2}, #{item.wechatNo3},
|
||||
#{item.contactAddress}, #{item.relationDesc}, #{item.status},
|
||||
#{item.effectiveDate}, #{item.invalidDate}, #{item.remark},
|
||||
#{item.dataSource}, #{item.isEmpFamily}, #{item.isCustFamily},
|
||||
#{item.createdBy}, #{item.createTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 根据证件号码查询关系数量 -->
|
||||
<select id="countByCertNo" resultType="int">
|
||||
SELECT COUNT(1)
|
||||
FROM ccdi_cust_fmy_relation
|
||||
WHERE is_cust_family = 1
|
||||
AND relation_cert_no = #{relationCertNo}
|
||||
AND status = 1
|
||||
</select>
|
||||
|
||||
<!-- 批量查询已存在的关系组合(性能优化) -->
|
||||
<select id="batchExistsByCombinations" resultType="string">
|
||||
SELECT CONCAT(person_id, '|', relation_type, '|', relation_cert_no)
|
||||
FROM ccdi_cust_fmy_relation
|
||||
WHERE is_cust_family = 1
|
||||
AND status = 1
|
||||
AND CONCAT(person_id, '|', relation_type, '|', relation_cert_no) IN
|
||||
<foreach collection="combinations" item="combo" open="(" separator="," close=")">
|
||||
#{combo}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,104 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiEnterpriseBaseInfoMapper">
|
||||
|
||||
<!-- 批量插入实体中介 -->
|
||||
<insert id="insertBatch" parameterType="java.util.List">
|
||||
INSERT INTO ccdi_enterprise_base_info (
|
||||
social_credit_code, enterprise_name, enterprise_type, enterprise_nature,
|
||||
industry_class, industry_name, establish_date, register_address,
|
||||
legal_representative, legal_cert_type, legal_cert_no,
|
||||
shareholder1, shareholder2, shareholder3, shareholder4, shareholder5,
|
||||
status, risk_level, ent_source, data_source,
|
||||
created_by, updated_by, create_time, update_time
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.socialCreditCode}, #{item.enterpriseName}, #{item.enterpriseType}, #{item.enterpriseNature},
|
||||
#{item.industryClass}, #{item.industryName}, #{item.establishDate}, #{item.registerAddress},
|
||||
#{item.legalRepresentative}, #{item.legalCertType}, #{item.legalCertNo},
|
||||
#{item.shareholder1}, #{item.shareholder2}, #{item.shareholder3}, #{item.shareholder4}, #{item.shareholder5},
|
||||
#{item.status}, #{item.riskLevel}, #{item.entSource}, #{item.dataSource},
|
||||
#{item.createdBy}, #{item.updatedBy}, #{item.createTime}, #{item.updateTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 批量导入实体中介数据(存在则更新,不存在则插入) -->
|
||||
<insert id="importEntityBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO ccdi_enterprise_base_info (
|
||||
social_credit_code, enterprise_name, enterprise_type, enterprise_nature,
|
||||
industry_class, industry_name, establish_date, register_address,
|
||||
legal_representative, legal_cert_type, legal_cert_no,
|
||||
shareholder1, shareholder2, shareholder3, shareholder4, shareholder5,
|
||||
status, risk_level, ent_source, data_source,
|
||||
created_by, updated_by, create_time, update_time
|
||||
) VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.socialCreditCode}, #{item.enterpriseName}, #{item.enterpriseType}, #{item.enterpriseNature},
|
||||
#{item.industryClass}, #{item.industryName}, #{item.establishDate}, #{item.registerAddress},
|
||||
#{item.legalRepresentative}, #{item.legalCertType}, #{item.legalCertNo},
|
||||
#{item.shareholder1}, #{item.shareholder2}, #{item.shareholder3}, #{item.shareholder4}, #{item.shareholder5},
|
||||
#{item.status}, #{item.riskLevel}, #{item.entSource}, #{item.dataSource},
|
||||
#{item.createdBy}, #{item.updatedBy}, #{item.createTime}, #{item.updateTime}
|
||||
)
|
||||
</foreach>
|
||||
ON DUPLICATE KEY UPDATE
|
||||
enterprise_name = VALUES(enterprise_name),
|
||||
enterprise_type = VALUES(enterprise_type),
|
||||
enterprise_nature = VALUES(enterprise_nature),
|
||||
industry_class = VALUES(industry_class),
|
||||
industry_name = VALUES(industry_name),
|
||||
establish_date = VALUES(establish_date),
|
||||
register_address = VALUES(register_address),
|
||||
legal_representative = VALUES(legal_representative),
|
||||
legal_cert_type = VALUES(legal_cert_type),
|
||||
legal_cert_no = VALUES(legal_cert_no),
|
||||
shareholder1 = VALUES(shareholder1),
|
||||
shareholder2 = VALUES(shareholder2),
|
||||
shareholder3 = VALUES(shareholder3),
|
||||
shareholder4 = VALUES(shareholder4),
|
||||
shareholder5 = VALUES(shareholder5),
|
||||
status = VALUES(status),
|
||||
risk_level = VALUES(risk_level),
|
||||
ent_source = VALUES(ent_source),
|
||||
data_source = VALUES(data_source),
|
||||
updated_by = VALUES(updated_by),
|
||||
update_time = VALUES(update_time)
|
||||
</insert>
|
||||
|
||||
<!-- 批量更新实体中介 -->
|
||||
<update id="updateBatch" parameterType="java.util.List">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
UPDATE ccdi_enterprise_base_info
|
||||
<set>
|
||||
<if test="item.enterpriseName != null and item.enterpriseName != ''">enterprise_name = #{item.enterpriseName},</if>
|
||||
<if test="item.enterpriseType != null">enterprise_type = #{item.enterpriseType},</if>
|
||||
<if test="item.enterpriseNature != null">enterprise_nature = #{item.enterpriseNature},</if>
|
||||
<if test="item.industryClass != null">industry_class = #{item.industryClass},</if>
|
||||
<if test="item.industryName != null">industry_name = #{item.industryName},</if>
|
||||
<if test="item.establishDate != null">establish_date = #{item.establishDate},</if>
|
||||
<if test="item.registerAddress != null">register_address = #{item.registerAddress},</if>
|
||||
<if test="item.legalRepresentative != null">legal_representative = #{item.legalRepresentative},</if>
|
||||
<if test="item.legalCertType != null">legal_cert_type = #{item.legalCertType},</if>
|
||||
<if test="item.legalCertNo != null">legal_cert_no = #{item.legalCertNo},</if>
|
||||
<if test="item.shareholder1 != null">shareholder1 = #{item.shareholder1},</if>
|
||||
<if test="item.shareholder2 != null">shareholder2 = #{item.shareholder2},</if>
|
||||
<if test="item.shareholder3 != null">shareholder3 = #{item.shareholder3},</if>
|
||||
<if test="item.shareholder4 != null">shareholder4 = #{item.shareholder4},</if>
|
||||
<if test="item.shareholder5 != null">shareholder5 = #{item.shareholder5},</if>
|
||||
<if test="item.status != null">status = #{item.status},</if>
|
||||
<if test="item.riskLevel != null">risk_level = #{item.riskLevel},</if>
|
||||
<if test="item.entSource != null">ent_source = #{item.entSource},</if>
|
||||
<if test="item.dataSource != null">data_source = #{item.dataSource},</if>
|
||||
<if test="item.updatedBy != null">updated_by = #{item.updatedBy},</if>
|
||||
update_time = #{item.updateTime}
|
||||
</set>
|
||||
WHERE social_credit_code = #{item.socialCreditCode}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiIntermediaryMapper">
|
||||
|
||||
<!--
|
||||
中介黑名单联合查询
|
||||
支持按中介类型筛选: 1=个人中介, 2=实体中介, null=全部
|
||||
使用MyBatis Plus分页插件自动处理分页
|
||||
-->
|
||||
<select id="selectIntermediaryList" resultType="com.ruoyi.info.collection.domain.vo.CcdiIntermediaryVO">
|
||||
SELECT * FROM (
|
||||
<!-- 查询个人中介 -->
|
||||
SELECT
|
||||
biz_id as id,
|
||||
name,
|
||||
person_id as certificate_no,
|
||||
'1' as intermediary_type,
|
||||
person_type,
|
||||
company,
|
||||
data_source,
|
||||
create_time,
|
||||
update_time
|
||||
FROM ccdi_biz_intermediary
|
||||
|
||||
UNION ALL
|
||||
|
||||
<!-- 查询实体中介 -->
|
||||
SELECT
|
||||
social_credit_code as id,
|
||||
enterprise_name as name,
|
||||
social_credit_code as certificate_no,
|
||||
'2' as intermediary_type,
|
||||
'实体' as person_type,
|
||||
enterprise_name as company,
|
||||
data_source,
|
||||
create_time,
|
||||
update_time
|
||||
FROM ccdi_enterprise_base_info
|
||||
WHERE risk_level = '1' AND ent_source = 'INTERMEDIARY'
|
||||
) AS combined_result
|
||||
<where>
|
||||
<!-- 按中介类型筛选 -->
|
||||
<if test="query.intermediaryType != null and query.intermediaryType != ''">
|
||||
AND intermediary_type = #{query.intermediaryType}
|
||||
</if>
|
||||
<!-- 按姓名/机构名称模糊查询 -->
|
||||
<if test="query.name != null and query.name != ''">
|
||||
AND name LIKE CONCAT('%', #{query.name}, '%')
|
||||
</if>
|
||||
<!-- 按证件号/统一社会信用代码精确查询 -->
|
||||
<if test="query.certificateNo != null and query.certificateNo != ''">
|
||||
AND certificate_no = #{query.certificateNo}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY update_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,140 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiPurchaseTransactionMapper">
|
||||
|
||||
<!-- 采购交易信息ResultMap -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiPurchaseTransactionVO" id="CcdiPurchaseTransactionVOResult">
|
||||
<id property="purchaseId" column="purchase_id"/>
|
||||
<result property="purchaseCategory" column="purchase_category"/>
|
||||
<result property="projectName" column="project_name"/>
|
||||
<result property="subjectName" column="subject_name"/>
|
||||
<result property="subjectDesc" column="subject_desc"/>
|
||||
<result property="purchaseQty" column="purchase_qty"/>
|
||||
<result property="budgetAmount" column="budget_amount"/>
|
||||
<result property="bidAmount" column="bid_amount"/>
|
||||
<result property="actualAmount" column="actual_amount"/>
|
||||
<result property="contractAmount" column="contract_amount"/>
|
||||
<result property="settlementAmount" column="settlement_amount"/>
|
||||
<result property="purchaseMethod" column="purchase_method"/>
|
||||
<result property="supplierName" column="supplier_name"/>
|
||||
<result property="contactPerson" column="contact_person"/>
|
||||
<result property="contactPhone" column="contact_phone"/>
|
||||
<result property="supplierUscc" column="supplier_uscc"/>
|
||||
<result property="supplierBankAccount" column="supplier_bank_account"/>
|
||||
<result property="applyDate" column="apply_date"/>
|
||||
<result property="planApproveDate" column="plan_approve_date"/>
|
||||
<result property="announceDate" column="announce_date"/>
|
||||
<result property="bidOpenDate" column="bid_open_date"/>
|
||||
<result property="contractSignDate" column="contract_sign_date"/>
|
||||
<result property="expectedDeliveryDate" column="expected_delivery_date"/>
|
||||
<result property="actualDeliveryDate" column="actual_delivery_date"/>
|
||||
<result property="acceptanceDate" column="acceptance_date"/>
|
||||
<result property="settlementDate" column="settlement_date"/>
|
||||
<result property="applicantId" column="applicant_id"/>
|
||||
<result property="applicantName" column="applicant_name"/>
|
||||
<result property="applyDepartment" column="apply_department"/>
|
||||
<result property="purchaseLeaderId" column="purchase_leader_id"/>
|
||||
<result property="purchaseLeaderName" column="purchase_leader_name"/>
|
||||
<result property="purchaseDepartment" column="purchase_department"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询采购交易列表 -->
|
||||
<select id="selectTransactionPage" resultMap="CcdiPurchaseTransactionVOResult">
|
||||
SELECT
|
||||
purchase_id, purchase_category, project_name, subject_name, subject_desc,
|
||||
purchase_qty, budget_amount, bid_amount, actual_amount, contract_amount, settlement_amount,
|
||||
purchase_method, supplier_name, contact_person, contact_phone, supplier_uscc, supplier_bank_account,
|
||||
apply_date, plan_approve_date, announce_date, bid_open_date, contract_sign_date,
|
||||
expected_delivery_date, actual_delivery_date, acceptance_date, settlement_date,
|
||||
applicant_id, applicant_name, apply_department, purchase_leader_id, purchase_leader_name, purchase_department,
|
||||
created_by, create_time, updated_by, update_time
|
||||
FROM ccdi_purchase_transaction
|
||||
<where>
|
||||
<if test="query.projectName != null and query.projectName != ''">
|
||||
AND project_name LIKE CONCAT('%', #{query.projectName}, '%')
|
||||
</if>
|
||||
<if test="query.subjectName != null and query.subjectName != ''">
|
||||
AND subject_name LIKE CONCAT('%', #{query.subjectName}, '%')
|
||||
</if>
|
||||
<if test="query.applicantName != null and query.applicantName != ''">
|
||||
AND applicant_name LIKE CONCAT('%', #{query.applicantName}, '%')
|
||||
</if>
|
||||
<if test="query.applicantId != null and query.applicantId != ''">
|
||||
AND applicant_id = #{query.applicantId}
|
||||
</if>
|
||||
<if test="query.applyDateStart != null">
|
||||
AND apply_date >= #{query.applyDateStart}
|
||||
</if>
|
||||
<if test="query.applyDateEnd != null">
|
||||
AND apply_date <= #{query.applyDateEnd}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询采购交易详情 -->
|
||||
<select id="selectTransactionById" resultMap="CcdiPurchaseTransactionVOResult">
|
||||
SELECT
|
||||
purchase_id, purchase_category, project_name, subject_name, subject_desc,
|
||||
purchase_qty, budget_amount, bid_amount, actual_amount, contract_amount, settlement_amount,
|
||||
purchase_method, supplier_name, contact_person, contact_phone, supplier_uscc, supplier_bank_account,
|
||||
apply_date, plan_approve_date, announce_date, bid_open_date, contract_sign_date,
|
||||
expected_delivery_date, actual_delivery_date, acceptance_date, settlement_date,
|
||||
applicant_id, applicant_name, apply_department, purchase_leader_id, purchase_leader_name, purchase_department,
|
||||
created_by, create_time, updated_by, update_time
|
||||
FROM ccdi_purchase_transaction
|
||||
WHERE purchase_id = #{purchaseId}
|
||||
</select>
|
||||
|
||||
<!-- 批量插入采购交易数据 -->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO ccdi_purchase_transaction
|
||||
(purchase_id, purchase_category, project_name, subject_name, subject_desc,
|
||||
purchase_qty, budget_amount, bid_amount, actual_amount, contract_amount, settlement_amount,
|
||||
purchase_method, supplier_name, contact_person, contact_phone, supplier_uscc, supplier_bank_account,
|
||||
apply_date, plan_approve_date, announce_date, bid_open_date, contract_sign_date,
|
||||
expected_delivery_date, actual_delivery_date, acceptance_date, settlement_date,
|
||||
applicant_id, applicant_name, apply_department, purchase_leader_id, purchase_leader_name, purchase_department,
|
||||
created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.purchaseId}, #{item.purchaseCategory}, #{item.projectName}, #{item.subjectName}, #{item.subjectDesc},
|
||||
#{item.purchaseQty}, #{item.budgetAmount}, #{item.bidAmount}, #{item.actualAmount}, #{item.contractAmount}, #{item.settlementAmount},
|
||||
#{item.purchaseMethod}, #{item.supplierName}, #{item.contactPerson}, #{item.contactPhone}, #{item.supplierUscc}, #{item.supplierBankAccount},
|
||||
#{item.applyDate}, #{item.planApproveDate}, #{item.announceDate}, #{item.bidOpenDate}, #{item.contractSignDate},
|
||||
#{item.expectedDeliveryDate}, #{item.actualDeliveryDate}, #{item.acceptanceDate}, #{item.settlementDate},
|
||||
#{item.applicantId}, #{item.applicantName}, #{item.applyDepartment}, #{item.purchaseLeaderId}, #{item.purchaseLeaderName}, #{item.purchaseDepartment},
|
||||
#{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 批量更新采购交易数据(先删除再插入) -->
|
||||
<update id="insertOrUpdateBatch">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
DELETE FROM ccdi_purchase_transaction WHERE purchase_id = #{item.purchaseId};
|
||||
INSERT INTO ccdi_purchase_transaction
|
||||
(purchase_id, purchase_category, project_name, subject_name, subject_desc,
|
||||
purchase_qty, budget_amount, bid_amount, actual_amount, contract_amount, settlement_amount,
|
||||
purchase_method, supplier_name, contact_person, contact_phone, supplier_uscc, supplier_bank_account,
|
||||
apply_date, plan_approve_date, announce_date, bid_open_date, contract_sign_date,
|
||||
expected_delivery_date, actual_delivery_date, acceptance_date, settlement_date,
|
||||
applicant_id, applicant_name, apply_department, purchase_leader_id, purchase_leader_name, purchase_department,
|
||||
created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
(#{item.purchaseId}, #{item.purchaseCategory}, #{item.projectName}, #{item.subjectName}, #{item.subjectDesc},
|
||||
#{item.purchaseQty}, #{item.budgetAmount}, #{item.bidAmount}, #{item.actualAmount}, #{item.contractAmount}, #{item.settlementAmount},
|
||||
#{item.purchaseMethod}, #{item.supplierName}, #{item.contactPerson}, #{item.contactPhone}, #{item.supplierUscc}, #{item.supplierBankAccount},
|
||||
#{item.applyDate}, #{item.planApproveDate}, #{item.announceDate}, #{item.bidOpenDate}, #{item.contractSignDate},
|
||||
#{item.expectedDeliveryDate}, #{item.actualDeliveryDate}, #{item.acceptanceDate}, #{item.settlementDate},
|
||||
#{item.applicantId}, #{item.applicantName}, #{item.applyDepartment}, #{item.purchaseLeaderId}, #{item.purchaseLeaderName}, #{item.purchaseDepartment},
|
||||
#{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiStaffEnterpriseRelationMapper">
|
||||
|
||||
<!-- 员工实体关系信息ResultMap -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiStaffEnterpriseRelationVO" id="CcdiStaffEnterpriseRelationVOResult">
|
||||
<id property="id" column="id"/>
|
||||
<result property="personId" column="person_id"/>
|
||||
<result property="personName" column="person_name"/>
|
||||
<result property="relationPersonPost" column="relation_person_post"/>
|
||||
<result property="socialCreditCode" column="social_credit_code"/>
|
||||
<result property="enterpriseName" column="enterprise_name"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="dataSource" column="data_source"/>
|
||||
<result property="isEmployee" column="is_employee"/>
|
||||
<result property="isEmpFamily" column="is_emp_family"/>
|
||||
<result property="isCustomer" column="is_customer"/>
|
||||
<result property="isCustFamily" column="is_cust_family"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询员工实体关系列表 -->
|
||||
<select id="selectRelationPage" resultMap="CcdiStaffEnterpriseRelationVOResult">
|
||||
SELECT
|
||||
ser.id, ser.person_id, bs.name as person_name, ser.relation_person_post,
|
||||
ser.social_credit_code, ser.enterprise_name, ser.status, ser.remark,
|
||||
ser.data_source, ser.is_employee, ser.is_emp_family, ser.is_customer,
|
||||
ser.is_cust_family, ser.created_by, ser.create_time, ser.updated_by,
|
||||
ser.update_time
|
||||
FROM ccdi_staff_enterprise_relation ser
|
||||
LEFT JOIN ccdi_base_staff bs ON ser.person_id = bs.id_card
|
||||
<where>
|
||||
<if test="query.personId != null and query.personId != ''">
|
||||
AND ser.person_id LIKE CONCAT('%', #{query.personId}, '%')
|
||||
</if>
|
||||
<if test="query.socialCreditCode != null and query.socialCreditCode != ''">
|
||||
AND ser.social_credit_code LIKE CONCAT('%', #{query.socialCreditCode}, '%')
|
||||
</if>
|
||||
<if test="query.enterpriseName != null and query.enterpriseName != ''">
|
||||
AND ser.enterprise_name LIKE CONCAT('%', #{query.enterpriseName}, '%')
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
AND ser.status = #{query.status}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY ser.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询员工实体关系详情 -->
|
||||
<select id="selectRelationById" resultMap="CcdiStaffEnterpriseRelationVOResult">
|
||||
SELECT
|
||||
ser.id, ser.person_id, bs.name as person_name, ser.relation_person_post,
|
||||
ser.social_credit_code, ser.enterprise_name, ser.status, ser.remark,
|
||||
ser.data_source, ser.is_employee, ser.is_emp_family, ser.is_customer,
|
||||
ser.is_cust_family, ser.created_by, ser.create_time, ser.updated_by,
|
||||
ser.update_time
|
||||
FROM ccdi_staff_enterprise_relation ser
|
||||
LEFT JOIN ccdi_base_staff bs ON ser.person_id = bs.id_card
|
||||
WHERE ser.id = #{id}
|
||||
</select>
|
||||
|
||||
<!-- 判断身份证号和统一社会信用代码的组合是否已存在 -->
|
||||
<select id="existsByPersonIdAndSocialCreditCode" resultType="boolean">
|
||||
SELECT COUNT(1) > 0
|
||||
FROM ccdi_staff_enterprise_relation
|
||||
WHERE person_id = #{personId}
|
||||
AND social_credit_code = #{socialCreditCode}
|
||||
</select>
|
||||
|
||||
<!-- 批量查询已存在的person_id + social_credit_code组合 -->
|
||||
<!-- 优化导入性能:一次性查询所有组合,避免N+1查询问题 -->
|
||||
<select id="batchExistsByCombinations" resultType="string">
|
||||
SELECT CONCAT(person_id, '|', social_credit_code) AS combination
|
||||
FROM ccdi_staff_enterprise_relation
|
||||
WHERE CONCAT(person_id, '|', social_credit_code) IN
|
||||
<foreach collection="combinations" item="combination" open="(" separator="," close=")">
|
||||
#{combination}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 批量插入员工实体关系数据 -->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO ccdi_staff_enterprise_relation
|
||||
(person_id, relation_person_post, social_credit_code, enterprise_name,
|
||||
status, remark, data_source, is_employee, is_emp_family, is_customer, is_cust_family,
|
||||
created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.personId}, #{item.relationPersonPost}, #{item.socialCreditCode}, #{item.enterpriseName},
|
||||
#{item.status}, #{item.remark}, #{item.dataSource}, #{item.isEmployee}, #{item.isEmpFamily}, #{item.isCustomer}, #{item.isCustFamily},
|
||||
#{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,168 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiStaffFmyRelationMapper">
|
||||
|
||||
<!-- 员工亲属关系ResultMap -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiStaffFmyRelationVO" id="CcdiStaffFmyRelationVOResult">
|
||||
<id property="id" column="id"/>
|
||||
<result property="personId" column="person_id"/>
|
||||
<result property="personName" column="person_name"/>
|
||||
<result property="relationType" column="relation_type"/>
|
||||
<result property="relationName" column="relation_name"/>
|
||||
<result property="gender" column="gender"/>
|
||||
<result property="birthDate" column="birth_date"/>
|
||||
<result property="relationCertType" column="relation_cert_type"/>
|
||||
<result property="relationCertNo" column="relation_cert_no"/>
|
||||
<result property="mobilePhone1" column="mobile_phone1"/>
|
||||
<result property="mobilePhone2" column="mobile_phone2"/>
|
||||
<result property="wechatNo1" column="wechat_no1"/>
|
||||
<result property="wechatNo2" column="wechat_no2"/>
|
||||
<result property="wechatNo3" column="wechat_no3"/>
|
||||
<result property="contactAddress" column="contact_address"/>
|
||||
<result property="relationDesc" column="relation_desc"/>
|
||||
<result property="effectiveDate" column="effective_date"/>
|
||||
<result property="invalidDate" column="invalid_date"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="dataSource" column="data_source"/>
|
||||
<result property="isEmpFamily" column="is_emp_family"/>
|
||||
<result property="isCustFamily" column="is_cust_family"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询员工亲属关系列表 -->
|
||||
<select id="selectRelationPage" resultMap="CcdiStaffFmyRelationVOResult">
|
||||
SELECT
|
||||
r.id, r.person_id, s.name as person_name, r.relation_type, r.relation_name,
|
||||
r.gender, r.birth_date, r.relation_cert_type, r.relation_cert_no,
|
||||
r.mobile_phone1, r.mobile_phone2, r.wechat_no1, r.wechat_no2, r.wechat_no3,
|
||||
r.contact_address, r.relation_desc, r.effective_date, r.invalid_date,
|
||||
r.status, r.remark, r.data_source, r.is_emp_family, r.is_cust_family,
|
||||
r.created_by, r.create_time, r.updated_by, r.update_time
|
||||
FROM ccdi_staff_fmy_relation r
|
||||
LEFT JOIN ccdi_base_staff s ON r.person_id = s.id_card
|
||||
<where>
|
||||
r.is_emp_family = 1
|
||||
<if test="query.personId != null and query.personId != ''">
|
||||
AND r.person_id = #{query.personId}
|
||||
</if>
|
||||
<if test="query.personName != null and query.personName != ''">
|
||||
AND s.name LIKE CONCAT('%', #{query.personName}, '%')
|
||||
</if>
|
||||
<if test="query.relationType != null and query.relationType != ''">
|
||||
AND r.relation_type = #{query.relationType}
|
||||
</if>
|
||||
<if test="query.relationName != null and query.relationName != ''">
|
||||
AND r.relation_name LIKE CONCAT('%', #{query.relationName}, '%')
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
AND r.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.dataSource != null and query.dataSource != ''">
|
||||
AND r.data_source = #{query.dataSource}
|
||||
</if>
|
||||
<if test="query.effectiveDateStart != null">
|
||||
AND r.effective_date >= #{query.effectiveDateStart}
|
||||
</if>
|
||||
<if test="query.effectiveDateEnd != null">
|
||||
AND r.effective_date <= #{query.effectiveDateEnd}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY r.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询员工亲属关系详情 -->
|
||||
<select id="selectRelationById" resultMap="CcdiStaffFmyRelationVOResult">
|
||||
SELECT
|
||||
r.id, r.person_id, s.name as person_name, r.relation_type, r.relation_name,
|
||||
r.gender, r.birth_date, r.relation_cert_type, r.relation_cert_no,
|
||||
r.mobile_phone1, r.mobile_phone2, r.wechat_no1, r.wechat_no2, r.wechat_no3,
|
||||
r.contact_address, r.relation_desc, r.effective_date, r.invalid_date,
|
||||
r.status, r.remark, r.data_source, r.is_emp_family, r.is_cust_family,
|
||||
r.created_by, r.create_time, r.updated_by, r.update_time
|
||||
FROM ccdi_staff_fmy_relation r
|
||||
LEFT JOIN ccdi_base_staff s ON r.person_id = s.id_card
|
||||
WHERE r.id = #{id}
|
||||
</select>
|
||||
|
||||
<!-- 查询员工亲属关系列表(用于导出) -->
|
||||
<select id="selectRelationListForExport" resultMap="CcdiStaffFmyRelationVOResult">
|
||||
SELECT
|
||||
r.id, r.person_id, s.name as person_name, r.relation_type, r.relation_name,
|
||||
r.gender, r.birth_date, r.relation_cert_type, r.relation_cert_no,
|
||||
r.mobile_phone1, r.mobile_phone2, r.wechat_no1, r.wechat_no2, r.wechat_no3,
|
||||
r.contact_address, r.relation_desc, r.effective_date, r.invalid_date,
|
||||
r.status, r.remark, r.data_source, r.is_emp_family, r.is_cust_family,
|
||||
r.created_by, r.create_time, r.updated_by, r.update_time
|
||||
FROM ccdi_staff_fmy_relation r
|
||||
LEFT JOIN ccdi_base_staff s ON r.person_id = s.id_card
|
||||
<where>
|
||||
r.is_emp_family = 1
|
||||
<if test="query.personId != null and query.personId != ''">
|
||||
AND r.person_id = #{query.personId}
|
||||
</if>
|
||||
<if test="query.personName != null and query.personName != ''">
|
||||
AND s.name LIKE CONCAT('%', #{query.personName}, '%')
|
||||
</if>
|
||||
<if test="query.relationType != null and query.relationType != ''">
|
||||
AND r.relation_type = #{query.relationType}
|
||||
</if>
|
||||
<if test="query.relationName != null and query.relationName != ''">
|
||||
AND r.relation_name LIKE CONCAT('%', #{query.relationName}, '%')
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
AND r.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.dataSource != null and query.dataSource != ''">
|
||||
AND r.data_source = #{query.dataSource}
|
||||
</if>
|
||||
<if test="query.effectiveDateStart != null">
|
||||
AND r.effective_date >= #{query.effectiveDateStart}
|
||||
</if>
|
||||
<if test="query.effectiveDateEnd != null">
|
||||
AND r.effective_date <= #{query.effectiveDateEnd}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY r.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 批量插入员工亲属关系数据 -->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO ccdi_staff_fmy_relation
|
||||
(person_id, relation_type, relation_name, gender, birth_date, relation_cert_type, relation_cert_no,
|
||||
mobile_phone1, mobile_phone2, wechat_no1, wechat_no2, wechat_no3, contact_address, relation_desc,
|
||||
effective_date, invalid_date, status, remark, data_source, is_emp_family, is_cust_family,
|
||||
created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.personId}, #{item.relationType}, #{item.relationName}, #{item.gender},
|
||||
#{item.birthDate}, #{item.relationCertType}, #{item.relationCertNo}, #{item.mobilePhone1},
|
||||
#{item.mobilePhone2}, #{item.wechatNo1}, #{item.wechatNo2}, #{item.wechatNo3}, #{item.contactAddress},
|
||||
#{item.relationDesc}, #{item.effectiveDate}, #{item.invalidDate}, #{item.status}, #{item.remark},
|
||||
#{item.dataSource}, #{item.isEmpFamily}, #{item.isCustFamily}, #{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 批量查询已存在的员工亲属关系(用于导入唯一性校验) -->
|
||||
<select id="selectExistingRelations" resultType="com.ruoyi.info.collection.domain.CcdiStaffFmyRelation">
|
||||
SELECT
|
||||
id, person_id, relation_type, relation_name, gender, birth_date,
|
||||
relation_cert_type, relation_cert_no
|
||||
FROM ccdi_staff_fmy_relation
|
||||
WHERE is_emp_family = 1
|
||||
AND person_id IN
|
||||
<foreach collection="personIds" item="personId" open="(" separator="," close=")">
|
||||
#{personId}
|
||||
</foreach>
|
||||
AND relation_cert_no IN
|
||||
<foreach collection="relationCertNos" item="relationCertNo" open="(" separator="," close=")">
|
||||
#{relationCertNo}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,119 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiStaffRecruitmentMapper">
|
||||
|
||||
<!-- 招聘信息ResultMap -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiStaffRecruitmentVO" id="CcdiStaffRecruitmentVOResult">
|
||||
<id property="recruitId" column="recruit_id"/>
|
||||
<result property="recruitName" column="recruit_name"/>
|
||||
<result property="posName" column="pos_name"/>
|
||||
<result property="posCategory" column="pos_category"/>
|
||||
<result property="posDesc" column="pos_desc"/>
|
||||
<result property="candName" column="cand_name"/>
|
||||
<result property="candEdu" column="cand_edu"/>
|
||||
<result property="candId" column="cand_id"/>
|
||||
<result property="candSchool" column="cand_school"/>
|
||||
<result property="candMajor" column="cand_major"/>
|
||||
<result property="candGrad" column="cand_grad"/>
|
||||
<result property="admitStatus" column="admit_status"/>
|
||||
<result property="interviewerName1" column="interviewer_name1"/>
|
||||
<result property="interviewerId1" column="interviewer_id1"/>
|
||||
<result property="interviewerName2" column="interviewer_name2"/>
|
||||
<result property="interviewerId2" column="interviewer_id2"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询招聘信息列表 -->
|
||||
<select id="selectRecruitmentPage" resultMap="CcdiStaffRecruitmentVOResult">
|
||||
SELECT
|
||||
recruit_id, recruit_name, pos_name, pos_category, pos_desc,
|
||||
cand_name, cand_edu, cand_id, cand_school, cand_major, cand_grad,
|
||||
admit_status, interviewer_name1, interviewer_id1, interviewer_name2, interviewer_id2,
|
||||
created_by, create_time, updated_by, update_time
|
||||
FROM ccdi_staff_recruitment
|
||||
<where>
|
||||
<if test="query.recruitName != null and query.recruitName != ''">
|
||||
AND recruit_name LIKE CONCAT('%', #{query.recruitName}, '%')
|
||||
</if>
|
||||
<if test="query.posName != null and query.posName != ''">
|
||||
AND pos_name LIKE CONCAT('%', #{query.posName}, '%')
|
||||
</if>
|
||||
<if test="query.candName != null and query.candName != ''">
|
||||
AND cand_name LIKE CONCAT('%', #{query.candName}, '%')
|
||||
</if>
|
||||
<if test="query.candId != null and query.candId != ''">
|
||||
AND cand_id = #{query.candId}
|
||||
</if>
|
||||
<if test="query.admitStatus != null and query.admitStatus != ''">
|
||||
AND admit_status = #{query.admitStatus}
|
||||
</if>
|
||||
<if test="query.interviewerName != null and query.interviewerName != ''">
|
||||
AND (interviewer_name1 LIKE CONCAT('%', #{query.interviewerName}, '%')
|
||||
OR interviewer_name2 LIKE CONCAT('%', #{query.interviewerName}, '%'))
|
||||
</if>
|
||||
<if test="query.interviewerId != null and query.interviewerId != ''">
|
||||
AND (interviewer_id1 = #{query.interviewerId}
|
||||
OR interviewer_id2 = #{query.interviewerId})
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询招聘信息详情 -->
|
||||
<select id="selectRecruitmentById" resultMap="CcdiStaffRecruitmentVOResult">
|
||||
SELECT
|
||||
recruit_id, recruit_name, pos_name, pos_category, pos_desc,
|
||||
cand_name, cand_edu, cand_id, cand_school, cand_major, cand_grad,
|
||||
admit_status, interviewer_name1, interviewer_id1, interviewer_name2, interviewer_id2,
|
||||
created_by, create_time, updated_by, update_time
|
||||
FROM ccdi_staff_recruitment
|
||||
WHERE recruit_id = #{recruitId}
|
||||
</select>
|
||||
|
||||
<!-- 批量插入招聘信息数据 -->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO ccdi_staff_recruitment
|
||||
(recruit_id, recruit_name, pos_name, pos_category, pos_desc,
|
||||
cand_name, cand_edu, cand_id, cand_school, cand_major, cand_grad,
|
||||
admit_status, interviewer_name1, interviewer_id1, interviewer_name2, interviewer_id2,
|
||||
created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.recruitId}, #{item.recruitName}, #{item.posName}, #{item.posCategory}, #{item.posDesc},
|
||||
#{item.candName}, #{item.candEdu}, #{item.candId}, #{item.candSchool}, #{item.candMajor}, #{item.candGrad},
|
||||
#{item.admitStatus}, #{item.interviewerName1}, #{item.interviewerId1}, #{item.interviewerName2}, #{item.interviewerId2},
|
||||
#{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 批量更新招聘信息数据 -->
|
||||
<update id="updateBatch">
|
||||
<foreach collection="list" item="item" separator=";">
|
||||
UPDATE ccdi_staff_recruitment
|
||||
SET recruit_name = #{item.recruitName},
|
||||
pos_name = #{item.posName},
|
||||
pos_category = #{item.posCategory},
|
||||
pos_desc = #{item.posDesc},
|
||||
cand_name = #{item.candName},
|
||||
cand_edu = #{item.candEdu},
|
||||
cand_id = #{item.candId},
|
||||
cand_school = #{item.candSchool},
|
||||
cand_major = #{item.candMajor},
|
||||
cand_grad = #{item.candGrad},
|
||||
admit_status = #{item.admitStatus},
|
||||
interviewer_name1 = #{item.interviewerName1},
|
||||
interviewer_id1 = #{item.interviewerId1},
|
||||
interviewer_name2 = #{item.interviewerName2},
|
||||
interviewer_id2 = #{item.interviewerId2},
|
||||
updated_by = #{item.updatedBy},
|
||||
update_time = NOW()
|
||||
WHERE recruit_id = #{item.recruitId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,159 @@
|
||||
<?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.ruoyi.info.collection.mapper.CcdiStaffTransferMapper">
|
||||
|
||||
<!-- 员工调动记录ResultMap -->
|
||||
<resultMap type="com.ruoyi.info.collection.domain.vo.CcdiStaffTransferVO" id="CcdiStaffTransferVOResult">
|
||||
<id property="id" column="id"/>
|
||||
<result property="staffId" column="staff_id"/>
|
||||
<result property="staffName" column="staff_name"/>
|
||||
<result property="transferType" column="transfer_type"/>
|
||||
<result property="transferSubType" column="transfer_sub_type"/>
|
||||
<result property="deptIdBefore" column="dept_id_before"/>
|
||||
<result property="deptNameBefore" column="dept_name_before"/>
|
||||
<result property="gradeBefore" column="grade_before"/>
|
||||
<result property="positionBefore" column="position_before"/>
|
||||
<result property="salaryLevelBefore" column="salary_level_before"/>
|
||||
<result property="deptIdAfter" column="dept_id_after"/>
|
||||
<result property="deptNameAfter" column="dept_name_after"/>
|
||||
<result property="gradeAfter" column="grade_after"/>
|
||||
<result property="positionAfter" column="position_after"/>
|
||||
<result property="salaryLevelAfter" column="salary_level_after"/>
|
||||
<result property="transferDate" column="transfer_date"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createdBy" column="created_by"/>
|
||||
<result property="updatedBy" column="updated_by"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 分页查询员工调动记录列表 -->
|
||||
<select id="selectTransferPage" resultMap="CcdiStaffTransferVOResult">
|
||||
SELECT
|
||||
t.id, t.staff_id, s.name as staff_name, t.transfer_type, t.transfer_sub_type,
|
||||
t.dept_id_before, t.dept_name_before, t.grade_before, t.position_before, t.salary_level_before,
|
||||
t.dept_id_after, t.dept_name_after, t.grade_after, t.position_after, t.salary_level_after,
|
||||
t.transfer_date, t.created_by, t.create_time, t.updated_by, t.update_time
|
||||
FROM ccdi_staff_transfer t
|
||||
LEFT JOIN ccdi_base_staff s ON t.staff_id = s.staff_id
|
||||
<where>
|
||||
<if test="query.staffId != null">
|
||||
AND t.staff_id = #{query.staffId}
|
||||
</if>
|
||||
<if test="query.staffName != null and query.staffName != ''">
|
||||
AND s.name LIKE CONCAT('%', #{query.staffName}, '%')
|
||||
</if>
|
||||
<if test="query.transferType != null and query.transferType != ''">
|
||||
AND t.transfer_type = #{query.transferType}
|
||||
</if>
|
||||
<if test="query.transferSubType != null and query.transferSubType != ''">
|
||||
AND t.transfer_sub_type = #{query.transferSubType}
|
||||
</if>
|
||||
<if test="query.deptIdBefore != null">
|
||||
AND t.dept_id_before = #{query.deptIdBefore}
|
||||
</if>
|
||||
<if test="query.deptIdAfter != null">
|
||||
AND t.dept_id_after = #{query.deptIdAfter}
|
||||
</if>
|
||||
<if test="query.transferDateStart != null">
|
||||
AND t.transfer_date >= #{query.transferDateStart}
|
||||
</if>
|
||||
<if test="query.transferDateEnd != null">
|
||||
AND t.transfer_date <= #{query.transferDateEnd}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY t.transfer_date DESC, t.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 查询员工调动记录详情 -->
|
||||
<select id="selectTransferById" resultMap="CcdiStaffTransferVOResult">
|
||||
SELECT
|
||||
t.id, t.staff_id, s.name as staff_name, t.transfer_type, t.transfer_sub_type,
|
||||
t.dept_id_before, t.dept_name_before, t.grade_before, t.position_before, t.salary_level_before,
|
||||
t.dept_id_after, t.dept_name_after, t.grade_after, t.position_after, t.salary_level_after,
|
||||
t.transfer_date, t.created_by, t.create_time, t.updated_by, t.update_time
|
||||
FROM ccdi_staff_transfer t
|
||||
LEFT JOIN ccdi_base_staff s ON t.staff_id = s.staff_id
|
||||
WHERE t.id = #{id}
|
||||
</select>
|
||||
|
||||
<!-- 查询员工调动记录列表(用于导出) -->
|
||||
<select id="selectTransferListForExport" resultMap="CcdiStaffTransferVOResult">
|
||||
SELECT
|
||||
t.id, t.staff_id, s.name as staff_name, t.transfer_type, t.transfer_sub_type,
|
||||
t.dept_id_before, t.dept_name_before, t.grade_before, t.position_before, t.salary_level_before,
|
||||
t.dept_id_after, t.dept_name_after, t.grade_after, t.position_after, t.salary_level_after,
|
||||
t.transfer_date, t.created_by, t.create_time, t.updated_by, t.update_time
|
||||
FROM ccdi_staff_transfer t
|
||||
LEFT JOIN ccdi_base_staff s ON t.staff_id = s.staff_id
|
||||
<where>
|
||||
<if test="query.staffId != null">
|
||||
AND t.staff_id = #{query.staffId}
|
||||
</if>
|
||||
<if test="query.staffName != null and query.staffName != ''">
|
||||
AND s.name LIKE CONCAT('%', #{query.staffName}, '%')
|
||||
</if>
|
||||
<if test="query.transferType != null and query.transferType != ''">
|
||||
AND t.transfer_type = #{query.transferType}
|
||||
</if>
|
||||
<if test="query.transferSubType != null and query.transferSubType != ''">
|
||||
AND t.transfer_sub_type = #{query.transferSubType}
|
||||
</if>
|
||||
<if test="query.deptIdBefore != null">
|
||||
AND t.dept_id_before = #{query.deptIdBefore}
|
||||
</if>
|
||||
<if test="query.deptIdAfter != null">
|
||||
AND t.dept_id_after = #{query.deptIdAfter}
|
||||
</if>
|
||||
<if test="query.transferDateStart != null">
|
||||
AND t.transfer_date >= #{query.transferDateStart}
|
||||
</if>
|
||||
<if test="query.transferDateEnd != null">
|
||||
AND t.transfer_date <= #{query.transferDateEnd}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY t.transfer_date DESC, t.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 批量插入员工调动记录数据 -->
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO ccdi_staff_transfer
|
||||
(staff_id, transfer_type, transfer_sub_type, dept_id_before, dept_name_before, grade_before,
|
||||
position_before, salary_level_before, dept_id_after, dept_name_after, grade_after,
|
||||
position_after, salary_level_after, transfer_date, created_by, create_time, updated_by, update_time)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.staffId}, #{item.transferType}, #{item.transferSubType}, #{item.deptIdBefore},
|
||||
#{item.deptNameBefore}, #{item.gradeBefore}, #{item.positionBefore}, #{item.salaryLevelBefore},
|
||||
#{item.deptIdAfter}, #{item.deptNameAfter}, #{item.gradeAfter}, #{item.positionAfter},
|
||||
#{item.salaryLevelAfter}, #{item.transferDate}, #{item.createdBy}, NOW(), #{item.updatedBy}, NOW())
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 查询单条记录是否存在(根据唯一键) -->
|
||||
<select id="checkExists" resultType="com.ruoyi.info.collection.domain.CcdiStaffTransfer">
|
||||
SELECT
|
||||
id, staff_id, dept_id_before, dept_id_after, transfer_date
|
||||
FROM ccdi_staff_transfer
|
||||
WHERE staff_id = #{key.staffId}
|
||||
AND dept_id_before = #{key.deptIdBefore}
|
||||
AND dept_id_after = #{key.deptIdAfter}
|
||||
AND transfer_date = #{key.transferDate}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 查询单条记录是否存在(排除指定ID) -->
|
||||
<select id="checkExistsExcludeId" resultType="com.ruoyi.info.collection.domain.CcdiStaffTransfer">
|
||||
SELECT
|
||||
id, staff_id, dept_id_before, dept_id_after, transfer_date
|
||||
FROM ccdi_staff_transfer
|
||||
WHERE staff_id = #{key.staffId}
|
||||
AND dept_id_before = #{key.deptIdBefore}
|
||||
AND dept_id_after = #{key.deptIdAfter}
|
||||
AND transfer_date = #{key.transferDate}
|
||||
AND id != #{excludeId}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user