From 03f8185a5eedfa2d1c9871151769527594bb51db Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期三, 02 七月 2025 16:25:25 +0800 Subject: [PATCH] 人员管理模块完成 --- src/main/resources/mapper/staff/StaffJoinLeaveRecordMapper.xml | 25 + src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java | 156 +++++++++ src/main/java/com/ruoyi/staff/mapper/StaffOnJobMapper.java | 19 + src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | 55 +++ src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java | 20 + src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java | 59 +++ src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java | 147 ++++++++ src/main/java/com/ruoyi/staff/controller/StaffJoinLeaveRecordController.java | 96 +++++ /dev/null | 194 ----------- src/main/resources/mapper/staff/StaffOnJobMapper.xml | 28 + src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java | 169 +++++++++ src/main/java/com/ruoyi/staff/service/IStaffJoinLeaveRecordService.java | 26 + src/main/java/com/ruoyi/staff/mapper/StaffJoinLeaveRecordMapper.java | 21 + 13 files changed, 821 insertions(+), 194 deletions(-) diff --git a/src/main/java/com/ruoyi/staff/controller/StaffJoinLeaveRecordController.java b/src/main/java/com/ruoyi/staff/controller/StaffJoinLeaveRecordController.java new file mode 100644 index 0000000..7e37a91 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/controller/StaffJoinLeaveRecordController.java @@ -0,0 +1,96 @@ +package com.ruoyi.staff.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.dto.SupplierManageDto; +import com.ruoyi.basic.pojo.SupplierManage; +import com.ruoyi.basic.service.ISupplierService; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import com.ruoyi.staff.service.IStaffJoinLeaveRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鏂板鍏ヨ亴/绂昏亴 + */ +@RestController +@RequestMapping("/staff/staffJoinLeaveRecord") +public class StaffJoinLeaveRecordController { + + @Resource + private IStaffJoinLeaveRecordService staffJoinLeaveRecordService; + + /** + * 鏂板鍏ヨ亴/绂昏亴 + * @param staffJoinLeaveRecord + * @return + */ + @PostMapping("/add") + public AjaxResult add(@RequestBody StaffJoinLeaveRecord staffJoinLeaveRecord) { + return AjaxResult.success(staffJoinLeaveRecordService.add(staffJoinLeaveRecord)); + } + + /** + * 鍒犻櫎鍏ヨ亴/绂昏亴 + * @param ids + * @return + */ + @DeleteMapping("/del") + public AjaxResult delStaffJoinLeaveRecord(@RequestBody List<Integer> ids) { + if(CollectionUtils.isEmpty(ids)){ + return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); + } + return AjaxResult.success(staffJoinLeaveRecordService.delStaffJoinLeaveRecord(ids)); + } + + /** + * 鍏ヨ亴/绂昏亴璇︽儏 + * @param id + * @return + */ + @GetMapping("/{id}") + public AjaxResult staffJoinLeaveRecordDetail(@PathVariable("id") Integer id) { + return AjaxResult.success(staffJoinLeaveRecordService.getById(id)); + } + + /** + * 鍏ヨ亴/绂昏亴淇敼 + * @param staffJoinLeaveRecord + * @return + */ + @PostMapping("/update") + public AjaxResult update(@RequestBody StaffJoinLeaveRecord staffJoinLeaveRecord) { + return AjaxResult.success(staffJoinLeaveRecordService.updateStaffJoinLeaveRecord(staffJoinLeaveRecord)); + } + + /** + * 鍏ヨ亴/绂昏亴鍒嗛〉鏌ヨ + * @param page + * @param staffJoinLeaveRecord + * @return + */ + @GetMapping("/listPage") + public AjaxResult staffJoinLeaveRecordListPage(Page page, StaffJoinLeaveRecord staffJoinLeaveRecord) { + return AjaxResult.success(staffJoinLeaveRecordService.staffJoinLeaveRecordListPage(page, staffJoinLeaveRecord)); + } + + /** + * 鍏ヨ亴/绂昏亴瀵煎嚭 + * @param response + * @param staffJoinLeaveRecord + */ + @PostMapping("/export") + public void staffJoinLeaveRecordExport(HttpServletResponse response,StaffJoinLeaveRecord staffJoinLeaveRecord) { + staffJoinLeaveRecordService.staffJoinLeaveRecordExport(response, staffJoinLeaveRecord); + } + + +} diff --git a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java new file mode 100644 index 0000000..9ecf442 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java @@ -0,0 +1,59 @@ +package com.ruoyi.staff.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import com.ruoyi.staff.pojo.StaffOnJob; +import com.ruoyi.staff.service.IStaffJoinLeaveRecordService; +import com.ruoyi.staff.service.IStaffOnJobService; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 鍛樺伐鍙拌处/鍚堝悓绠$悊 + */ +@RestController +@RequestMapping("/staff/staffOnJob") +public class StaffOnJobController { + + @Resource + private IStaffOnJobService staffOnJobService; + + + /** + * 鍦ㄨ亴鍛樺伐鍙拌处鍒嗛〉鏌ヨ + * @param page + * @param staffOnJob + * @return + */ + @GetMapping("/listPage") + public AjaxResult staffOnJobListPage(Page page, StaffOnJob staffOnJob) { + return AjaxResult.success(staffOnJobService.staffOnJobListPage(page, staffOnJob)); + } + + /** + * 鍦ㄨ亴鍛樺伐璇︽儏 + * @param staffNo + * @return + */ + @GetMapping("/staffNo") + public AjaxResult staffOnJobDetail(String staffNo) { + return AjaxResult.success(staffOnJobService.staffOnJobDetail(staffNo)); + } + + /** + * 鍦ㄨ亴鍛樺伐瀵煎嚭 + * @param response + * @param staffOnJob + */ + @PostMapping("/export") + public void staffOnJobExport(HttpServletResponse response,StaffOnJob staffOnJob) { + staffOnJobService.staffOnJobExport(response, staffOnJob); + } + + +} diff --git a/src/main/java/com/ruoyi/staff/mapper/StaffJoinLeaveRecordMapper.java b/src/main/java/com/ruoyi/staff/mapper/StaffJoinLeaveRecordMapper.java new file mode 100644 index 0000000..f5a0087 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/mapper/StaffJoinLeaveRecordMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.staff.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.dto.SupplierManageDto; +import com.ruoyi.basic.excel.SupplierManageExcelDto; +import com.ruoyi.basic.pojo.SupplierManage; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface StaffJoinLeaveRecordMapper extends BaseMapper<StaffJoinLeaveRecord> { + + IPage<StaffJoinLeaveRecord> staffJoinLeaveRecordListPage(Page page, @Param("staffJoinLeaveRecord") StaffJoinLeaveRecord staffJoinLeaveRecord); + + List<StaffJoinLeaveRecord> staffJoinLeaveRecordList(@Param("staffJoinLeaveRecord") StaffJoinLeaveRecord staffJoinLeaveRecord); +} diff --git a/src/main/java/com/ruoyi/staff/mapper/StaffOnJobMapper.java b/src/main/java/com/ruoyi/staff/mapper/StaffOnJobMapper.java new file mode 100644 index 0000000..199cce6 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/mapper/StaffOnJobMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.staff.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import com.ruoyi.staff.pojo.StaffOnJob; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface StaffOnJobMapper extends BaseMapper<StaffOnJob> { + + IPage<StaffOnJob> staffOnJobListPage(Page page, @Param("staffOnJob") StaffOnJob staffOnJob); + + List<StaffOnJob> staffOnJobList(@Param("staffOnJob") StaffOnJob staffOnJob); +} diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java b/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java new file mode 100644 index 0000000..bdd8077 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/pojo/StaffJoinLeaveRecord.java @@ -0,0 +1,156 @@ +package com.ruoyi.staff.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NonNull; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 浜哄憳绠$悊--鏂板鍏ヨ亴/绂昏亴 + * staff_join_leave_record + */ +@TableName(value = "staff_join_leave_record") +@Data +public class StaffJoinLeaveRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 搴忓彿 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 鐘舵��(0:绂昏亴;1:鍏ヨ亴) + */ + @NotBlank(message = "鍛樺伐鐘舵�佷笉鑳戒负绌�!!!!!!!!") + @Excel(name = "鐘舵��",readConverterExp = "0=绂昏亴,1=鍏ヨ亴") + private Integer staffState; + + /** + * 鍛樺伐缂栧彿 + */ + @Excel(name = "鍛樺伐缂栧彿") + private String staffNo; + + /** + * 鍛樺伐濮撳悕 + */ + @Excel(name = "鍛樺伐濮撳悕") + private String staffName; + + /** + * 鎬у埆 + */ + @Excel(name = "鎬у埆") + private String sex; + + /** + * 绫嶈疮 + */ + @Excel(name = "绫嶈疮") + private String nativePlace; + + /** + * 宀椾綅 + */ + @Excel(name = "宀椾綅") + private String postJob; + + /** + * 瀹跺涵浣忓潃 + */ + @Excel(name = "瀹跺涵浣忓潃") + private String adress; + + /** + * 绗竴瀛﹀巻 + */ + @Excel(name = "绗竴瀛﹀巻") + private String firstStudy; + + /** + * 涓撲笟 + */ + @Excel(name = "涓撲笟") + private String profession; + + /** + * 韬唤璇佸彿鐮� + */ + @Excel(name = "韬唤璇佸彿鐮�") + private String identityCard; + + /** + * 骞撮緞 + */ + @Excel(name = "骞撮緞") + private String age; + + /** + * 鑱旂郴鐢佃瘽 + */ + @Excel(name = "鑱旂郴鐢佃瘽") + private String phone; + + /** + * 绱ф�ヨ仈绯讳汉 + */ + @Excel(name = "绱ф�ヨ仈绯讳汉") + private String emergencyContact; + + /** + * 绱ф�ヨ仈绯讳汉鐢佃瘽 + */ + @Excel(name = "绱ф�ヨ仈绯讳汉鐢佃瘽") + private String emergencyContactPhone; + + /** + * 鍚堝悓骞撮檺 + */ + @Excel(name = "鍚堝悓骞撮檺") + private String contractTerm; + + /** + * 鍚堝悓寮�濮嬫棩鏈� + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "鍚堝悓寮�濮嬫棩鏈�", width = 30, dateFormat = "yyyy-MM-dd") + private Date contractStartTime; + + /** + * 鍚堝悓缁撴潫鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "鍚堝悓缁撴潫鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd") + private Date contractEndTime; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "淇敼鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "绉熸埛ID") + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + +} diff --git a/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java b/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java new file mode 100644 index 0000000..19fb2bf --- /dev/null +++ b/src/main/java/com/ruoyi/staff/pojo/StaffOnJob.java @@ -0,0 +1,147 @@ +package com.ruoyi.staff.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 浜哄憳绠$悊--鍛樺伐鍙拌处/鍚堝悓绠$悊 + * staff_on_job + */ +@TableName(value = "staff_on_job") +@Data +public class StaffOnJob implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 搴忓彿 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 鐘舵��(0:绂昏亴;1:鍦ㄨ亴) + */ + @Excel(name = "鐘舵��",readConverterExp = "0=绂昏亴,1=鍦ㄨ亴") + private Integer staffState; + + /** + * 鍛樺伐缂栧彿 + */ + @Excel(name = "鍛樺伐缂栧彿") + private String staffNo; + + /** + * 鍛樺伐濮撳悕 + */ + @Excel(name = "鍛樺伐濮撳悕") + private String staffName; + + /** + * 鎬у埆 + */ + @Excel(name = "鎬у埆") + private String sex; + + /** + * 绫嶈疮 + */ + @Excel(name = "绫嶈疮") + private String nativePlace; + + /** + * 宀椾綅 + */ + @Excel(name = "宀椾綅") + private String postJob; + + /** + * 瀹跺涵浣忓潃 + */ + @Excel(name = "瀹跺涵浣忓潃") + private String adress; + + /** + * 绗竴瀛﹀巻 + */ + @Excel(name = "绗竴瀛﹀巻") + private String firstStudy; + + /** + * 涓撲笟 + */ + @Excel(name = "涓撲笟") + private String profession; + + /** + * 韬唤璇佸彿鐮� + */ + @Excel(name = "韬唤璇佸彿鐮�") + private String identityCard; + + /** + * 骞撮緞 + */ + @Excel(name = "骞撮緞") + private String age; + + /** + * 鑱旂郴鐢佃瘽 + */ + @Excel(name = "鑱旂郴鐢佃瘽") + private String phone; + + /** + * 绱ф�ヨ仈绯讳汉 + */ + @Excel(name = "绱ф�ヨ仈绯讳汉") + private String emergencyContact; + + /** + * 绱ф�ヨ仈绯讳汉鐢佃瘽 + */ + @Excel(name = "绱ф�ヨ仈绯讳汉鐢佃瘽") + private String emergencyContactPhone; + + /** + * 鍚堝悓骞撮檺 + */ + @Excel(name = "鍚堝悓骞撮檺") + private String contractTerm; + + /** + * 鍚堝悓鍒版湡鏃ユ湡 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "鍚堝悓鍒版湡鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd") + private Date contractExpireTime; + + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "淇敼鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "绉熸埛ID") + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + +} diff --git a/src/main/java/com/ruoyi/staff/service/IStaffJoinLeaveRecordService.java b/src/main/java/com/ruoyi/staff/service/IStaffJoinLeaveRecordService.java new file mode 100644 index 0000000..56875b3 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/service/IStaffJoinLeaveRecordService.java @@ -0,0 +1,26 @@ +package com.ruoyi.staff.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.basic.dto.SupplierManageDto; +import com.ruoyi.basic.pojo.SupplierManage; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +public interface IStaffJoinLeaveRecordService extends IService<StaffJoinLeaveRecord> { + + + IPage<StaffJoinLeaveRecord> staffJoinLeaveRecordListPage(Page page, StaffJoinLeaveRecord staffJoinLeaveRecord); + + void staffJoinLeaveRecordExport(HttpServletResponse response, StaffJoinLeaveRecord staffJoinLeaveRecord); + + int add(StaffJoinLeaveRecord staffJoinLeaveRecord); + + int delStaffJoinLeaveRecord(List<Integer> ids); + + int updateStaffJoinLeaveRecord(StaffJoinLeaveRecord staffJoinLeaveRecord); +} diff --git a/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java b/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java new file mode 100644 index 0000000..f83ddc6 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/service/IStaffOnJobService.java @@ -0,0 +1,20 @@ +package com.ruoyi.staff.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import com.ruoyi.staff.pojo.StaffOnJob; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +public interface IStaffOnJobService extends IService<StaffOnJob> { + + + IPage<StaffOnJob> staffOnJobListPage(Page page, StaffOnJob staffOnJob); + + List<StaffJoinLeaveRecord> staffOnJobDetail(String staffNo); + + void staffOnJobExport(HttpServletResponse response, StaffOnJob staffOnJob); +} diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java new file mode 100644 index 0000000..f82ecc8 --- /dev/null +++ b/src/main/java/com/ruoyi/staff/service/impl/StaffJoinLeaveRecordServiceImpl.java @@ -0,0 +1,169 @@ +package com.ruoyi.staff.service.impl; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper; +import com.ruoyi.staff.mapper.StaffOnJobMapper; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import com.ruoyi.staff.pojo.StaffOnJob; +import com.ruoyi.staff.service.IStaffJoinLeaveRecordService; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletResponse; +import java.util.*; +import java.util.function.Function; + +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class StaffJoinLeaveRecordServiceImpl extends ServiceImpl<StaffJoinLeaveRecordMapper, StaffJoinLeaveRecord> implements IStaffJoinLeaveRecordService { + + private StaffJoinLeaveRecordMapper staffJoinLeaveRecordMapper; + private StaffOnJobMapper staffOnJobMapper; + + + //鍒嗛〉鏌ヨ + @Override + public IPage<StaffJoinLeaveRecord> staffJoinLeaveRecordListPage(Page page, StaffJoinLeaveRecord staffJoinLeaveRecord) { + return staffJoinLeaveRecordMapper.staffJoinLeaveRecordListPage(page,staffJoinLeaveRecord); + } + + //瀵煎嚭 + @Override + public void staffJoinLeaveRecordExport(HttpServletResponse response, StaffJoinLeaveRecord staffJoinLeaveRecord) { + List<StaffJoinLeaveRecord> staffJoinLeaveRecords =staffJoinLeaveRecordMapper.staffJoinLeaveRecordList(staffJoinLeaveRecord); + ExcelUtil<StaffJoinLeaveRecord> util = new ExcelUtil<StaffJoinLeaveRecord>(StaffJoinLeaveRecord.class); + util.exportExcel(response, staffJoinLeaveRecords, staffJoinLeaveRecord.getStaffState()==0?"鍛樺伐绂昏亴":"鍛樺伐鍏ヨ亴"+"瀵煎嚭"); + } + + //鏂板鍏ヨ亴/绂昏亴 + @Override + public int add(StaffJoinLeaveRecord staffJoinLeaveRecord) { + String[] ignoreProperties = {"id"};//鎺掗櫎id灞炴�� + List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())); + if (staffJoinLeaveRecord.getStaffState()==1){ + /*鍏ヨ亴*/ + //(鏍规嵁鍛樺伐缂栧彿鍒ゆ柇鏄惁宸茬粡鏂板鍒板湪鑱岃〃閲岄潰,濡傛灉宸茬粡鏈夊氨鏇存柊,娌℃湁灏辨柊澧�) + if (staffOnJobs.size()>0){ + StaffOnJob staffOnJob = staffOnJobs.get(0); + //鍏堟瘮杈冨埌鏈熸棩鏈�,杩欓噷閫夌敤鍒版湡鏃ユ湡鏈�涔呯殑 + if (staffJoinLeaveRecord.getContractEndTime().compareTo(staffOnJob.getContractExpireTime())>0) { + BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties); + staffOnJobMapper.updateById(staffOnJob); + } + }else { + StaffOnJob staffOnJob = new StaffOnJob(); + BeanUtils.copyProperties(staffJoinLeaveRecord,staffOnJob,ignoreProperties); + staffOnJob.setContractExpireTime(staffJoinLeaveRecord.getContractEndTime()); + staffOnJobMapper.insert(staffOnJob); + } + }else { + /*绂昏亴*/ + //鏍规嵁鍛樺伐缂栧彿鎵惧埌瀵瑰簲鐨勬暟鎹皢鐘舵�佸彉鏇� + if (staffOnJobs.size()>0){ + StaffOnJob staffOnJob = staffOnJobs.get(0); + staffOnJob.setStaffState(staffJoinLeaveRecord.getStaffState()); + staffOnJobMapper.updateById(staffOnJob); + }else { + throw new BaseException("娌℃湁鎵惧埌"+staffJoinLeaveRecord.getStaffNo()+"缂栧彿鐨勫憳宸�,鏃犳硶鏂板绂昏亴!!!"); + } + } + return staffJoinLeaveRecordMapper.insert(staffJoinLeaveRecord); + } + + + //鍒犻櫎鍏ヨ亴/绂昏亴 + @Override + public int delStaffJoinLeaveRecord(List<Integer> ids) { + List<StaffJoinLeaveRecord> staffJoinLeaveRecords = staffJoinLeaveRecordMapper.selectBatchIds(ids); + for (StaffJoinLeaveRecord staffJoinLeaveRecord : staffJoinLeaveRecords) { + //鍏堝垽鏂槸鍏ヨ亴杩樻槸绂昏亴 + if (staffJoinLeaveRecord.getStaffState()==1){ + /*鍏ヨ亴*/ + //濡傛灉鏄叆鑱�,闇�瑕佸厛鏍规嵁鍛樺伐缂栧彿鍒ゆ柇璇ュ憳宸ユ槸鍚﹁繕鏈夊叾浠栧叆鑱屼俊鎭� + List<StaffJoinLeaveRecord> joinLeaveRecords = staffJoinLeaveRecordMapper.selectList(Wrappers.<StaffJoinLeaveRecord>lambdaQuery() + .eq(StaffJoinLeaveRecord::getStaffState, 1) + .eq(StaffJoinLeaveRecord::getStaffNo, staffJoinLeaveRecord.getStaffNo()) + .ne(StaffJoinLeaveRecord::getId, staffJoinLeaveRecord.getId())); + if (joinLeaveRecords.size()>0){ + //杩橀渶瑕佸垽鏂鍛樺伐鏄惁鏈夌鑱屼俊鎭� + List<StaffJoinLeaveRecord> leaveRecords = staffJoinLeaveRecordMapper.selectList(Wrappers.<StaffJoinLeaveRecord>lambdaQuery() + .eq(StaffJoinLeaveRecord::getStaffState, 0) + .eq(StaffJoinLeaveRecord::getStaffNo, staffJoinLeaveRecord.getStaffNo())); + // 濡傛灉鏈夐偅鍦ㄨ亴琛ㄤ粎鍋氭洿鏂颁笉鍒犻櫎,濡傛灉娌℃湁鍏朵粬鍏ヨ亴淇℃伅,閭d箞鍦ㄨ亴琛ㄩ渶鍚屾鍒犻櫎 + if (leaveRecords.size()>0){ + //濡傛灉鏈夌鑱屼俊鎭�,鍒ゆ柇绂昏亴鏁伴噺鍜屽叆鑱屾暟閲忔瘯绔�,濡傛灉鍏ヨ亴鏁伴噺澶т簬绂昏亴 + if (joinLeaveRecords.size()>leaveRecords.size()){ + //璇ュ憳宸ュ氨杩樻槸鍦ㄨ亴 + //鍏堟瘮杈冨埌鏈熸棩鏈�,杩欓噷閫夌敤鍒版湡鏃ユ湡鏈�涔呯殑 + Optional<StaffJoinLeaveRecord> max = joinLeaveRecords.stream().max(Comparator.comparing(StaffJoinLeaveRecord::getContractEndTime)); + staffOnJobMapper.update(null,Wrappers.<StaffOnJob>lambdaUpdate() + .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo()) + .set(StaffOnJob::getContractTerm, max.get().getContractTerm()) + .set(StaffOnJob::getContractExpireTime, max.get().getContractEndTime())); + }else { + //璇ュ憳宸ュ睘浜庣鑱� + staffOnJobMapper.update(null,Wrappers.<StaffOnJob>lambdaUpdate() + .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo()) + .set(StaffOnJob::getStaffState, 0)); + } + }else { + //濡傛灉娌℃湁绂昏亴淇℃伅閭d箞灏辨瘮杈冨埌鏈熸棩鏈�,杩欓噷閫夌敤鍒版湡鏃ユ湡鏈�涔呯殑 + Optional<StaffJoinLeaveRecord> max = joinLeaveRecords.stream().max(Comparator.comparing(StaffJoinLeaveRecord::getContractEndTime)); + staffOnJobMapper.update(null,Wrappers.<StaffOnJob>lambdaUpdate() + .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo()) + .set(StaffOnJob::getContractTerm, max.get().getContractTerm()) + .set(StaffOnJob::getContractExpireTime, max.get().getContractEndTime())); + } + }else { + staffOnJobMapper.delete(Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo,staffJoinLeaveRecord.getStaffNo())); + } + }else { + /*绂昏亴*/ + //鍏堟煡璇㈠湪鑱岃〃鏄惁鏈夎繖涓�,濡傛灉鏈�,灏卞皢璇ュ憳宸ョ殑鐘舵�佸彉鏇翠负鍦ㄨ亴 + List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())); + if (staffOnJobs.size()>0){ + StaffOnJob staffOnJob = staffOnJobs.get(0); + staffOnJob.setStaffState(1); + staffOnJobMapper.updateById(staffOnJob); + }else { + throw new BaseException("娌℃湁鎵惧埌"+staffJoinLeaveRecord.getStaffNo()+"缂栧彿鐨勫憳宸�,璇锋鏌ユ槸鍚︽湁鑴忔暟鎹�!!!"); + } + } + staffJoinLeaveRecordMapper.deleteById(staffJoinLeaveRecord); + } + return 0; + } + + //淇敼鍏ヨ亴/绂昏亴 + @Override + public int updateStaffJoinLeaveRecord(StaffJoinLeaveRecord staffJoinLeaveRecord) { + String[] ignoreProperties = {"id"};//鎺掗櫎id灞炴�� + List<StaffOnJob> staffOnJobs = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery().eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())); + if (staffJoinLeaveRecord.getStaffState()==1){ + /*鍏ヨ亴*/ + StaffOnJob job = staffOnJobMapper.selectList(Wrappers.<StaffOnJob>lambdaQuery() + .eq(StaffOnJob::getStaffNo, staffJoinLeaveRecord.getStaffNo())).get(0); + //濡傛灉鏇存敼鐨勫悎鍚屽埌鏈熸椂闂存洿涔呭垯鏇存柊,濡傛灉娌℃湁灏变笉鐢ㄦ洿鏂� + if (staffJoinLeaveRecord.getContractEndTime().compareTo(job.getContractExpireTime())>0) { + BeanUtils.copyProperties(staffJoinLeaveRecord,job,ignoreProperties); + staffOnJobMapper.updateById(job); + } + }else { + /*绂昏亴*/ + //绂昏亴鐨勭紪杈戜笉浼氬奖鍝嶅湪鑱岃〃 + } + return staffJoinLeaveRecordMapper.updateById(staffJoinLeaveRecord); + } +} diff --git a/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java new file mode 100644 index 0000000..90f884e --- /dev/null +++ b/src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java @@ -0,0 +1,55 @@ +package com.ruoyi.staff.service.impl; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper; +import com.ruoyi.staff.mapper.StaffOnJobMapper; +import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; +import com.ruoyi.staff.pojo.StaffOnJob; +import com.ruoyi.staff.service.IStaffJoinLeaveRecordService; +import com.ruoyi.staff.service.IStaffOnJobService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +@AllArgsConstructor +@Service +public class StaffOnJobServiceImpl extends ServiceImpl<StaffOnJobMapper, StaffOnJob> implements IStaffOnJobService { + + + private StaffOnJobMapper staffOnJobMapper; + + private StaffJoinLeaveRecordMapper staffJoinLeaveRecordMapper; + + //鍦ㄨ亴鍛樺伐鍙拌处鍒嗛〉鏌ヨ + @Override + public IPage<StaffOnJob> staffOnJobListPage(Page page, StaffOnJob staffOnJob) { + return staffOnJobMapper.staffOnJobListPage(page,staffOnJob); + } + + //鍦ㄨ亴鍛樺伐璇︽儏 + @Override + public List<StaffJoinLeaveRecord> staffOnJobDetail(String staffNo) { + return staffJoinLeaveRecordMapper.selectList(Wrappers.<StaffJoinLeaveRecord>lambdaQuery() + .eq(StaffJoinLeaveRecord::getStaffState,1) + .eq(StaffJoinLeaveRecord::getStaffNo,staffNo)); + } + + //鍦ㄨ亴鍛樺伐瀵煎嚭 + @Override + public void staffOnJobExport(HttpServletResponse response, StaffOnJob staffOnJob) { + List<StaffOnJob> staffOnJobs = staffOnJobMapper.staffOnJobList(staffOnJob); + ExcelUtil<StaffOnJob> util = new ExcelUtil<StaffOnJob>(StaffOnJob.class); + util.exportExcel(response, staffOnJobs, "鍦ㄨ亴鍛樺伐鍙拌处瀵煎嚭"); + } + + + +} diff --git a/src/main/java/com/ruoyi/staff_management/controller/RyglAddEmployeeController.java b/src/main/java/com/ruoyi/staff_management/controller/RyglAddEmployeeController.java deleted file mode 100644 index 224f52d..0000000 --- a/src/main/java/com/ruoyi/staff_management/controller/RyglAddEmployeeController.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.ruoyi.staff_management.controller; - - -import com.ruoyi.framework.web.controller.BaseController; -import com.ruoyi.framework.web.domain.AjaxResult; -import com.ruoyi.staff_management.domain.RyglAddEmployee; -import com.ruoyi.staff_management.service.RyglAddEmployeeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@RestController -@RequestMapping("/staff_management") -public class RyglAddEmployeeController extends BaseController { - @Autowired - private RyglAddEmployeeService ryglAddEmployeeService; - - /** - * 鑾峰彇浜哄憳鍒楄〃 - */ -// @PreAuthorize("@ss.hasPermi('system:dept:list')") - @GetMapping("/list") - public AjaxResult list() - { - List<RyglAddEmployee> allEmployees = ryglAddEmployeeService.getAllEmployees(); - return success(allEmployees); - } - /** - * 鏍规嵁 ID 鑾峰彇鍛樺伐淇℃伅 - * @param id 鍛樺伐 ID - * @return 鍛樺伐淇℃伅 - */ - @GetMapping("/{id}") - public AjaxResult getInfo(@PathVariable Long id) { - RyglAddEmployee employee = ryglAddEmployeeService.getById(id); - return success(employee); - } - /** - * 鏍规嵁濮撳悕鏌ヨ鍛樺伐淇℃伅 - * @param name 鍛樺伐濮撳悕 - * @return 鍛樺伐淇℃伅鍒楄〃 - */ - @GetMapping("/search") - public AjaxResult searchByName(@RequestParam String name) { - List<RyglAddEmployee> employees = ryglAddEmployeeService.searchByName(name); - return success(employees); - } - - /** - * 娣诲姞鍛樺伐淇℃伅 - * @param employee 鍛樺伐淇℃伅 - * @return 鎿嶄綔缁撴灉 - */ - @PostMapping - public AjaxResult add(@RequestBody RyglAddEmployee employee) { - boolean result = ryglAddEmployeeService.save(employee); - return result ? success() : error(); - } - - /** - * 淇敼鍛樺伐淇℃伅 - * @param employee 鍛樺伐淇℃伅 - * @return 鎿嶄綔缁撴灉 - */ - @PutMapping - public AjaxResult update(@RequestBody RyglAddEmployee employee) { - boolean result = ryglAddEmployeeService.updateById(employee); - return result ? success() : error(); - } - - /** - * 鍒犻櫎鍛樺伐淇℃伅 - * @param id 鍛樺伐 ID - * @return 鎿嶄綔缁撴灉 - */ - @DeleteMapping("/{id}") - public AjaxResult delete(@PathVariable Long id) { - boolean result = ryglAddEmployeeService.removeById(id); - return result ? success() : error(); - } - - /** - * 瀵煎嚭鍛樺伐淇℃伅 - * @return 鎿嶄綔缁撴灉 (Excel 鏂囦欢) - */ -// @GetMapping("/export") -// public AjaxResult export() { -// // 璋冪敤瀵煎嚭鏂规硶 -// ryglAddEmployeeService.export(); -// return success(); -// } - -} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/staff_management/domain/RyglAddEmployee.java b/src/main/java/com/ruoyi/staff_management/domain/RyglAddEmployee.java deleted file mode 100644 index 83bcca0..0000000 --- a/src/main/java/com/ruoyi/staff_management/domain/RyglAddEmployee.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.ruoyi.staff_management.domain; - -import java.io.Serializable; -import java.util.Date; -import lombok.Data; - -/** - * - * @TableName rygl_add_employee - */ -@Data -public class RyglAddEmployee implements Serializable { - /** - * 搴忓彿 - */ - private Integer id; - - /** - * 1鍏ヨ亴2绂昏亴 - */ - private Integer status; - - /** - * 鍛樺伐缂栧彿 - */ - private String employeeNumber; - - /** - * 濮撳悕 - */ - private String name; - - /** - * 鎬у埆 - */ - private String sex; - - /** - * 绫嶈疮 - */ - private String nativePlace; - - /** - * 宀椾綅 - */ - private String post; - - /** - * 瀹跺涵浣忓潃 - */ - private String homeAddress; - - /** - * 绗竴瀛﹀巻 - */ - private String firstDegree; - - /** - * 涓撲笟 - */ - private String major; - - /** - * 韬唤璇佸彿 - */ - private Integer idNumber; - - /** - * 骞撮緞 - */ - private Integer age; - - /** - * 鑱旂郴鐢佃瘽 - */ - private Integer contactNumber; - - /** - * 绱ф�ヨ仈绯讳汉 - */ - private String emergencyContact; - - /** - * 绱ф�ヨ仈绯荤數璇� - */ - private Integer emergencyContactNumber; - - /** - * 鍚堝悓骞撮檺 - */ - private String contractTerm; - - /** - * 鍚堝悓寮�濮嬫棩鏈� - */ - private Date contractStartDate; - - /** - * 鍚堝悓缁撴潫鏃ユ湡 - */ - private Date contractEndDate; - - private static final long serialVersionUID = 1L; -} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/staff_management/mapper/RyglAddEmployeeMapper.java b/src/main/java/com/ruoyi/staff_management/mapper/RyglAddEmployeeMapper.java deleted file mode 100644 index 40c6419..0000000 --- a/src/main/java/com/ruoyi/staff_management/mapper/RyglAddEmployeeMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ruoyi.staff_management.mapper; - -import com.ruoyi.staff_management.domain.RyglAddEmployee; - -import java.util.List; - -/** -* @author 86151 -* @description 閽堝琛ㄣ�恟ygl_add_employee銆戠殑鏁版嵁搴撴搷浣淢apper -* @createDate 2025-06-23 16:05:34 -* @Entity staff_management.domain.RyglAddEmployee -*/ -public interface RyglAddEmployeeMapper { - //鑾峰彇鎵�鏈夊憳宸ヤ俊鎭� - List<RyglAddEmployee> getAllEmployees(); - int deleteByPrimaryKey(Long id);//鍒犻櫎鍛樺伐淇℃伅 - -// int insert(RyglAddEmployee record);//娣诲姞鍛樺伐淇℃伅 - - int insertSelective(RyglAddEmployee record);//娣诲姞鍛樺伐淇℃伅 - - RyglAddEmployee selectByPrimaryKey(Long id);//鏍规嵁id鏌ヨ鍛樺伐淇℃伅 - - int updateByPrimaryKeySelective(RyglAddEmployee record);//淇敼鍛樺伐淇℃伅 - - List<RyglAddEmployee> searchByName(String name); - -// int updateByPrimaryKey(RyglAddEmployee record);//淇敼鍛樺伐淇℃伅 - -} diff --git a/src/main/java/com/ruoyi/staff_management/service/RyglAddEmployeeService.java b/src/main/java/com/ruoyi/staff_management/service/RyglAddEmployeeService.java deleted file mode 100644 index 30b23ed..0000000 --- a/src/main/java/com/ruoyi/staff_management/service/RyglAddEmployeeService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.ruoyi.staff_management.service; - -import com.ruoyi.staff_management.domain.RyglAddEmployee; - -import java.util.List; - -public interface RyglAddEmployeeService { - List<RyglAddEmployee> getAllEmployees(); - - RyglAddEmployee getById(Long id); - - boolean save(RyglAddEmployee employee); - - boolean updateById(RyglAddEmployee employee); - - boolean removeById(Long id); - - List<RyglAddEmployee> searchByName(String name); - -} diff --git a/src/main/java/com/ruoyi/staff_management/service/impl/RyglAddEmployeeServiceImpl.java b/src/main/java/com/ruoyi/staff_management/service/impl/RyglAddEmployeeServiceImpl.java deleted file mode 100644 index a7ae44a..0000000 --- a/src/main/java/com/ruoyi/staff_management/service/impl/RyglAddEmployeeServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ruoyi.staff_management.service.impl; - -import com.ruoyi.staff_management.domain.RyglAddEmployee; -import com.ruoyi.staff_management.mapper.RyglAddEmployeeMapper; -import com.ruoyi.staff_management.service.RyglAddEmployeeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public class RyglAddEmployeeServiceImpl implements RyglAddEmployeeService { - @Autowired - private RyglAddEmployeeMapper ryglAddEmployeeMapper; - @Override - public List<RyglAddEmployee> getAllEmployees() { - List<RyglAddEmployee> allEmployees = ryglAddEmployeeMapper.getAllEmployees(); - return allEmployees; - } - - @Override - public RyglAddEmployee getById(Long id) { - RyglAddEmployee ryglAddEmployee = ryglAddEmployeeMapper.selectByPrimaryKey(id); - return ryglAddEmployee; - } - - @Override - public boolean save(RyglAddEmployee employee) { - int i = ryglAddEmployeeMapper.insertSelective(employee); - if (i>0){ - return true; - } - return false; - } - - @Override - public boolean updateById(RyglAddEmployee employee) { - int i = ryglAddEmployeeMapper.updateByPrimaryKeySelective(employee); - if (i>0){ - return true; - } - return false; - } - - @Override - public boolean removeById(Long id) { - int i = ryglAddEmployeeMapper.deleteByPrimaryKey(id); - if (i>0){ - return true; - } - return false; - } - - @Override - public List<RyglAddEmployee> searchByName(String name) { - List<RyglAddEmployee> ryglAddEmployees = ryglAddEmployeeMapper.searchByName(name); - return ryglAddEmployees; - } - - -} diff --git a/src/main/resources/mapper/staff/StaffJoinLeaveRecordMapper.xml b/src/main/resources/mapper/staff/StaffJoinLeaveRecordMapper.xml new file mode 100644 index 0000000..be3c392 --- /dev/null +++ b/src/main/resources/mapper/staff/StaffJoinLeaveRecordMapper.xml @@ -0,0 +1,25 @@ +<?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.staff.mapper.StaffJoinLeaveRecordMapper"> + <select id="staffJoinLeaveRecordListPage" resultType="com.ruoyi.staff.pojo.StaffJoinLeaveRecord"> + SELECT + * + FROM staff_join_leave_record + where + staff_state = #{staffJoinLeaveRecord.staffState} + <if test="staffJoinLeaveRecord.staffName != null and staffJoinLeaveRecord.staffName != '' "> + AND staff_name LIKE CONCAT('%',#{staffJoinLeaveRecord.staffName},'%') + </if> + + </select> + <select id="staffJoinLeaveRecordList" resultType="com.ruoyi.staff.pojo.StaffJoinLeaveRecord"> + SELECT + * + FROM staff_join_leave_record + where + staff_state = #{staffJoinLeaveRecord.staffState} + <if test="staffJoinLeaveRecord.staffName != null and staffJoinLeaveRecord.staffName != '' "> + AND staff_name LIKE CONCAT('%',#{staffJoinLeaveRecord.staffName},'%') + </if> + </select> +</mapper> diff --git a/src/main/resources/mapper/staff/StaffOnJobMapper.xml b/src/main/resources/mapper/staff/StaffOnJobMapper.xml new file mode 100644 index 0000000..37811f4 --- /dev/null +++ b/src/main/resources/mapper/staff/StaffOnJobMapper.xml @@ -0,0 +1,28 @@ +<?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.staff.mapper.StaffOnJobMapper"> + <select id="staffOnJobListPage" resultType="com.ruoyi.staff.pojo.StaffOnJob"> + SELECT + * + FROM staff_on_job + where 1=1 + <if test="staffOnJob.staffState != null and staffOnJob.staffState != '' "> + AND staff_state = #{staffOnJob.staffState} + </if> + <if test="staffOnJob.staffName != null and staffOnJob.staffName != '' "> + AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%') + </if> + </select> + <select id="staffOnJobList" resultType="com.ruoyi.staff.pojo.StaffOnJob"> + SELECT + * + FROM staff_on_job + where 1=1 + <if test="staffOnJob.staffState != null and staffOnJob.staffState != '' "> + AND staff_state = #{staffOnJob.staffState} + </if> + <if test="staffOnJob.staffName != null and staffOnJob.staffName != '' "> + AND staff_name LIKE CONCAT('%',#{staffOnJob.staffName},'%') + </if> + </select> +</mapper> diff --git a/src/main/resources/mapper/staff_management/RyglAddEmployeeMapper.xml b/src/main/resources/mapper/staff_management/RyglAddEmployeeMapper.xml deleted file mode 100644 index 6eac2f7..0000000 --- a/src/main/resources/mapper/staff_management/RyglAddEmployeeMapper.xml +++ /dev/null @@ -1,194 +0,0 @@ -<?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.staff_management.mapper.RyglAddEmployeeMapper"> - - <resultMap id="BaseResultMap" type="com.ruoyi.staff_management.domain.RyglAddEmployee"> - <id property="id" column="id" jdbcType="INTEGER"/> - <result property="status" column="status" jdbcType="INTEGER"/> - <result property="employeeNumber" column="employee_number" jdbcType="VARCHAR"/> - <result property="name" column="name" jdbcType="VARCHAR"/> - <result property="sex" column="sex" jdbcType="VARCHAR"/> - <result property="nativePlace" column="native_place" jdbcType="VARCHAR"/> - <result property="post" column="post" jdbcType="VARCHAR"/> - <result property="homeAddress" column="home_address" jdbcType="VARCHAR"/> - <result property="firstDegree" column="first_degree" jdbcType="VARCHAR"/> - <result property="major" column="major" jdbcType="VARCHAR"/> - <result property="idNumber" column="id_number" jdbcType="INTEGER"/> - <result property="age" column="age" jdbcType="INTEGER"/> - <result property="contactNumber" column="contact_number" jdbcType="INTEGER"/> - <result property="emergencyContact" column="emergency_contact" jdbcType="VARCHAR"/> - <result property="emergencyContactNumber" column="emergency_contact_number" jdbcType="INTEGER"/> - <result property="contractTerm" column="contract_term" jdbcType="VARCHAR"/> - <result property="contractStartDate" column="contract_start_date" jdbcType="TIMESTAMP"/> - <result property="contractEndDate" column="contract_end_date" jdbcType="TIMESTAMP"/> - </resultMap> - - <sql id="Base_Column_List"> - id,status,employee_number, - name,sex,native_place, - post,home_address,first_degree, - major,id_number,age, - contact_number,emergency_contact,emergency_contact_number, - contract_term,contract_start_date,contract_end_date - </sql> - - <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> - select - <include refid="Base_Column_List" /> - from rygl_add_employee - where id = #{id,jdbcType=INTEGER} - </select> - <select id="getAllEmployees" resultType="com.ruoyi.staff_management.domain.RyglAddEmployee"> - SELECT * FROM rygl_add_employee - </select> - <select id="searchByName" resultType="com.ruoyi.staff_management.domain.RyglAddEmployee"> - SELECT * FROM rygl_add_employee WHERE name LIKE CONCAT('%', #{name}, '%') - </select> - - <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> - delete from rygl_add_employee - where id = #{id,jdbcType=INTEGER} - </delete> - - <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.ruoyi.staff_management.domain.RyglAddEmployee" useGeneratedKeys="true"> - insert into rygl_add_employee - ( id,status,employee_number - ,name,sex,native_place - ,post,home_address,first_degree - ,major,id_number,age - ,contact_number,emergency_contact,emergency_contact_number - ,contract_term,contract_start_date,contract_end_date - ) - values (#{id,jdbcType=INTEGER},#{status,jdbcType=INTEGER},#{employeeNumber,jdbcType=VARCHAR} - ,#{name,jdbcType=VARCHAR},#{sex,jdbcType=VARCHAR},#{nativePlace,jdbcType=VARCHAR} - ,#{post,jdbcType=VARCHAR},#{homeAddress,jdbcType=VARCHAR},#{firstDegree,jdbcType=VARCHAR} - ,#{major,jdbcType=VARCHAR},#{idNumber,jdbcType=INTEGER},#{age,jdbcType=INTEGER} - ,#{contactNumber,jdbcType=INTEGER},#{emergencyContact,jdbcType=VARCHAR},#{emergencyContactNumber,jdbcType=INTEGER} - ,#{contractTerm,jdbcType=VARCHAR},#{contractStartDate,jdbcType=TIMESTAMP},#{contractEndDate,jdbcType=TIMESTAMP} - ) - </insert> - <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.ruoyi.staff_management.domain.RyglAddEmployee" useGeneratedKeys="true"> - insert into rygl_add_employee - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="id != null">id,</if> - <if test="status != null">status,</if> - <if test="employeeNumber != null">employee_number,</if> - <if test="name != null">name,</if> - <if test="sex != null">sex,</if> - <if test="nativePlace != null">native_place,</if> - <if test="post != null">post,</if> - <if test="homeAddress != null">home_address,</if> - <if test="firstDegree != null">first_degree,</if> - <if test="major != null">major,</if> - <if test="idNumber != null">id_number,</if> - <if test="age != null">age,</if> - <if test="contactNumber != null">contact_number,</if> - <if test="emergencyContact != null">emergency_contact,</if> - <if test="emergencyContactNumber != null">emergency_contact_number,</if> - <if test="contractTerm != null">contract_term,</if> - <if test="contractStartDate != null">contract_start_date,</if> - <if test="contractEndDate != null">contract_end_date,</if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="id != null">#{id,jdbcType=INTEGER},</if> - <if test="status != null">#{status,jdbcType=INTEGER},</if> - <if test="employeeNumber != null">#{employeeNumber,jdbcType=VARCHAR},</if> - <if test="name != null">#{name,jdbcType=VARCHAR},</if> - <if test="sex != null">#{sex,jdbcType=VARCHAR},</if> - <if test="nativePlace != null">#{nativePlace,jdbcType=VARCHAR},</if> - <if test="post != null">#{post,jdbcType=VARCHAR},</if> - <if test="homeAddress != null">#{homeAddress,jdbcType=VARCHAR},</if> - <if test="firstDegree != null">#{firstDegree,jdbcType=VARCHAR},</if> - <if test="major != null">#{major,jdbcType=VARCHAR},</if> - <if test="idNumber != null">#{idNumber,jdbcType=INTEGER},</if> - <if test="age != null">#{age,jdbcType=INTEGER},</if> - <if test="contactNumber != null">#{contactNumber,jdbcType=INTEGER},</if> - <if test="emergencyContact != null">#{emergencyContact,jdbcType=VARCHAR},</if> - <if test="emergencyContactNumber != null">#{emergencyContactNumber,jdbcType=INTEGER},</if> - <if test="contractTerm != null">#{contractTerm,jdbcType=VARCHAR},</if> - <if test="contractStartDate != null">#{contractStartDate,jdbcType=TIMESTAMP},</if> - <if test="contractEndDate != null">#{contractEndDate,jdbcType=TIMESTAMP},</if> - </trim> - </insert> - <update id="updateByPrimaryKeySelective" parameterType="com.ruoyi.staff_management.domain.RyglAddEmployee"> - update rygl_add_employee - <set> - <if test="status != null"> - status = #{status,jdbcType=INTEGER}, - </if> - <if test="employeeNumber != null"> - employee_number = #{employeeNumber,jdbcType=VARCHAR}, - </if> - <if test="name != null"> - name = #{name,jdbcType=VARCHAR}, - </if> - <if test="sex != null"> - sex = #{sex,jdbcType=VARCHAR}, - </if> - <if test="nativePlace != null"> - native_place = #{nativePlace,jdbcType=VARCHAR}, - </if> - <if test="post != null"> - post = #{post,jdbcType=VARCHAR}, - </if> - <if test="homeAddress != null"> - home_address = #{homeAddress,jdbcType=VARCHAR}, - </if> - <if test="firstDegree != null"> - first_degree = #{firstDegree,jdbcType=VARCHAR}, - </if> - <if test="major != null"> - major = #{major,jdbcType=VARCHAR}, - </if> - <if test="idNumber != null"> - id_number = #{idNumber,jdbcType=INTEGER}, - </if> - <if test="age != null"> - age = #{age,jdbcType=INTEGER}, - </if> - <if test="contactNumber != null"> - contact_number = #{contactNumber,jdbcType=INTEGER}, - </if> - <if test="emergencyContact != null"> - emergency_contact = #{emergencyContact,jdbcType=VARCHAR}, - </if> - <if test="emergencyContactNumber != null"> - emergency_contact_number = #{emergencyContactNumber,jdbcType=INTEGER}, - </if> - <if test="contractTerm != null"> - contract_term = #{contractTerm,jdbcType=VARCHAR}, - </if> - <if test="contractStartDate != null"> - contract_start_date = #{contractStartDate,jdbcType=TIMESTAMP}, - </if> - <if test="contractEndDate != null"> - contract_end_date = #{contractEndDate,jdbcType=TIMESTAMP}, - </if> - </set> - where id = #{id,jdbcType=INTEGER} - </update> - <update id="updateByPrimaryKey" parameterType="com.ruoyi.staff_management.domain.RyglAddEmployee"> - update rygl_add_employee - set - status = #{status,jdbcType=INTEGER}, - employee_number = #{employeeNumber,jdbcType=VARCHAR}, - name = #{name,jdbcType=VARCHAR}, - sex = #{sex,jdbcType=VARCHAR}, - native_place = #{nativePlace,jdbcType=VARCHAR}, - post = #{post,jdbcType=VARCHAR}, - home_address = #{homeAddress,jdbcType=VARCHAR}, - first_degree = #{firstDegree,jdbcType=VARCHAR}, - major = #{major,jdbcType=VARCHAR}, - id_number = #{idNumber,jdbcType=INTEGER}, - age = #{age,jdbcType=INTEGER}, - contact_number = #{contactNumber,jdbcType=INTEGER}, - emergency_contact = #{emergencyContact,jdbcType=VARCHAR}, - emergency_contact_number = #{emergencyContactNumber,jdbcType=INTEGER}, - contract_term = #{contractTerm,jdbcType=VARCHAR}, - contract_start_date = #{contractStartDate,jdbcType=TIMESTAMP}, - contract_end_date = #{contractEndDate,jdbcType=TIMESTAMP} - where id = #{id,jdbcType=INTEGER} - </update> -</mapper> -- Gitblit v1.9.3