diff --git a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/mapper/CcdiEmployeeMapper.java b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/mapper/CcdiEmployeeMapper.java index 0467a6b..0dae687 100644 --- a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/mapper/CcdiEmployeeMapper.java +++ b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/mapper/CcdiEmployeeMapper.java @@ -7,6 +7,8 @@ import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO; import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 员工信息 数据层 * @@ -32,4 +34,13 @@ public interface CcdiEmployeeMapper extends BaseMapper { * @return 员工VO */ CcdiEmployeeVO selectEmployeeWithRelatives(@Param("employeeId") Long employeeId); + + /** + * 批量插入或更新员工信息 + * 使用ON DUPLICATE KEY UPDATE语法 + * + * @param list 员工信息列表 + * @return 影响行数 + */ + int insertOrUpdateBatch(@Param("list") List list); } diff --git a/ruoyi-ccdi/src/main/resources/mapper/ccdi/CcdiEmployeeMapper.xml b/ruoyi-ccdi/src/main/resources/mapper/ccdi/CcdiEmployeeMapper.xml index ced3092..67bad85 100644 --- a/ruoyi-ccdi/src/main/resources/mapper/ccdi/CcdiEmployeeMapper.xml +++ b/ruoyi-ccdi/src/main/resources/mapper/ccdi/CcdiEmployeeMapper.xml @@ -44,4 +44,26 @@ ORDER BY e.create_time DESC + + + INSERT INTO ccdi_employee + (employee_id, name, dept_id, id_card, phone, hire_date, status, + create_time, create_by, update_by, update_time, remark) + VALUES + + (#{item.employeeId}, #{item.name}, #{item.deptId}, #{item.idCard}, + #{item.phone}, #{item.hireDate}, #{item.status}, NOW(), + #{item.createBy}, #{item.updateBy}, NOW(), #{item.remark}) + + ON DUPLICATE KEY UPDATE + name = VALUES(name), + dept_id = VALUES(dept_id), + phone = VALUES(phone), + hire_date = VALUES(hire_date), + status = VALUES(status), + update_by = VALUES(update_by), + update_time = NOW(), + remark = VALUES(remark) + +