feat:人员调岗记录

ln_ry20250512
wangxy 4 days ago
parent de3f0a623d
commit 1c8c26e9e2

@ -39,6 +39,13 @@ public class ApplyInfoListManager {
private TdFileRelationService fileRelationService;
@Resource
private ApplyRecordManager applyRecordManager;
/**
*
* @param applyInfoListDTO
@ -251,6 +258,7 @@ public class ApplyInfoListManager {
}
applyInfoList.setDeptId(ShiroUtils.getSysUser().getDeptId());
applyInfoList.setDeptName(ShiroUtils.getSysUser().getDept().getDeptName());
applyRecordManager.saveRecord(applyInfoListDTO);
return applyInfoListService.saveOrUpdate(applyInfoList);
}
@ -258,4 +266,6 @@ public class ApplyInfoListManager {
}

@ -0,0 +1,86 @@
package com.ruoyi.web.controller.manager;
import cn.hutool.core.convert.Convert;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.system.domain.apply.TdApplyAfter;
import com.ruoyi.system.domain.apply.TdApplyBefore;
import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.ApplyRecordDTO;
import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO;
import com.ruoyi.system.service.apply.TdApplyAfterService;
import com.ruoyi.system.service.apply.TdApplyBeforeService;
import com.ruoyi.system.service.apply.TdApplyInfoListService;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* ClassName: ApplyRecordManager
* Package: com.ruoyi.web.controller.manager
* Description:
*
* @Author wangxy
* @Create 2025/6/3 16:28
* @Version 1.0
*/
@Component
public class ApplyRecordManager {
@Resource
private TdApplyBeforeService applyBeforeService;
@Resource
private TdApplyAfterService applyAfterService;
@Resource
private TdApplyInfoListService applyInfoListService;
/**
*
*
* @param applyInfoListDTO
*/
@Transactional(rollbackFor = Exception.class)
public void saveRecord(TdApplyInfoListDTO applyInfoListDTO) {
if(Objects.isNull(applyInfoListDTO)){
throw new ServiceException("人员信息不能为空");
}
TdApplyInfoList applyInfoList = applyInfoListService.getById(applyInfoListDTO.getApplyId());
TdApplyBefore applyBefore = Convert.convert(TdApplyBefore.class, applyInfoList);
applyBefore.setCreateTime(new Date());
applyBefore.setCreateBy(ShiroUtils.getSysUser().getLoginName());
applyBeforeService.save(applyBefore);
TdApplyAfter applyAfter = Convert.convert(TdApplyAfter.class, applyInfoListDTO);
applyAfter.setCreateTime(new Date());
applyAfter.setCreateBy(ShiroUtils.getSysUser().getLoginName());
applyAfterService.save(applyAfter);
}
public ApplyRecordDTO getApplyRecordDTO(String applyId) {
ApplyRecordDTO userRecordDTO = new ApplyRecordDTO();
List<TdApplyAfter> userAfters = applyAfterService.lambdaQuery()
.eq(TdApplyAfter::getApplyId, applyId)
.orderByDesc(TdApplyAfter::getCreateTime).list();
userRecordDTO.setApplyAfterList(userAfters);
List<TdApplyBefore> userBefores = applyBeforeService.lambdaQuery().eq(TdApplyBefore::getApplyId, applyId)
.orderByDesc(TdApplyBefore::getCreateTime).list();
userRecordDTO.setApplyBeforeList(userBefores);
return userRecordDTO;
}
}

@ -6,6 +6,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO;
import com.ruoyi.web.controller.manager.ApplyInfoListManager;
import com.ruoyi.web.controller.manager.ApplyRecordManager;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -34,6 +35,9 @@ public class PersonApplyController extends BaseController {
@Resource
private ApplyInfoListManager applyInfoListManager;
@Resource
private ApplyRecordManager applyRecordManager;
@RequiresPermissions("system:person:view")
@GetMapping()
public String personListInfo() {
@ -63,6 +67,19 @@ public class PersonApplyController extends BaseController {
return prefix + "/detail";
}
/**
*
*
* @param applyId
* @param mmap
* @return java.lang.String
*/
@GetMapping("/getApplyRecord/{applyId}")
public String getChangeRecord(@PathVariable("applyId") String applyId, ModelMap mmap) {
mmap.put("userRecordDTO", applyRecordManager.getApplyRecordDTO(applyId));
return prefix + "/applyRecord";
}

@ -0,0 +1,77 @@
package com.ruoyi.system.domain.apply;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* sm
* @TableName td_apply_after
*/
@Data
public class TdApplyAfter implements Serializable {
/**
*
*/
private String afterId;
/**
*
*/
private String name;
/**
*
*/
private String sex;
/**
*
*/
private String createBy;
/**
*
*/
private Date createTime;
/**
*
*/
private String formerName;
/**
*
*/
private String nationality;
/**
*
*/
private String phone;
/**
*
*/
private String cerno;
/**
*
*/
private String positionCapacity;
/**
*
*/
private String smPost;
/**
*
*/
private String smGrade;
/**
* id
*/
private String applyId;
}

@ -0,0 +1,78 @@
package com.ruoyi.system.domain.apply;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* sm
* @TableName td_apply_before
*/
@Data
public class TdApplyBefore implements Serializable {
/**
*
*/
private String beforeId;
/**
*
*/
private String name;
/**
*
*/
private String sex;
/**
*
*/
private String createBy;
/**
*
*/
private Date createTime;
/**
*
*/
private String formerName;
/**
*
*/
private String nationality;
/**
*
*/
private String phone;
/**
*
*/
private String cerno;
/**
*
*/
private String positionCapacity;
/**
*
*/
private String smPost;
/**
*
*/
private String smGrade;
/**
* id
*/
private String applyId;
}

@ -0,0 +1,29 @@
package com.ruoyi.system.domain.apply.dto;
import com.ruoyi.system.domain.apply.TdApplyAfter;
import com.ruoyi.system.domain.apply.TdApplyBefore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* packageName com.ruoyi.system.domain.record.dto
*
* @author wangxy
* @version JDK 8
* @className UserRecordDTO
* @date 2024/8/21
* @description
*/
@Data
public class ApplyRecordDTO {
@ApiModelProperty(value = "修改前人员信息")
private List<TdApplyBefore> applyBeforeList;
@ApiModelProperty(value = "修改后人员信息")
private List<TdApplyAfter> applyAfterList;
}

@ -0,0 +1,19 @@
package com.ruoyi.system.mapper.apply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.apply.TdApplyAfter;
/**
* @author Administrator
* @description td_apply_after(sm)Mapper
* @createDate 2025-06-03 16:21:41
* @Entity generator.domain.TdApplyAfter
*/
public interface TdApplyAfterMapper extends BaseMapper<TdApplyAfter> {
}

@ -0,0 +1,18 @@
package com.ruoyi.system.mapper.apply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.apply.TdApplyBefore;
/**
* @author Administrator
* @description td_apply_before(sm)Mapper
* @createDate 2025-06-03 16:21:41
* @Entity generator.domain.TdApplyBefore
*/
public interface TdApplyBeforeMapper extends BaseMapper<TdApplyBefore> {
}

@ -0,0 +1,13 @@
package com.ruoyi.system.service.apply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.apply.TdApplyAfter;
/**
* @author Administrator
* @description td_apply_after(sm)Service
* @createDate 2025-06-03 16:21:41
*/
public interface TdApplyAfterService extends IService<TdApplyAfter> {
}

@ -0,0 +1,13 @@
package com.ruoyi.system.service.apply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.apply.TdApplyBefore;
/**
* @author Administrator
* @description td_apply_before(sm)Service
* @createDate 2025-06-03 16:21:41
*/
public interface TdApplyBeforeService extends IService<TdApplyBefore> {
}

@ -0,0 +1,23 @@
package com.ruoyi.system.service.apply.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.domain.apply.TdApplyAfter;
import com.ruoyi.system.mapper.apply.TdApplyAfterMapper;
import com.ruoyi.system.service.apply.TdApplyAfterService;
import org.springframework.stereotype.Service;
/**
* @author Administrator
* @description td_apply_after(sm)Service
* @createDate 2025-06-03 16:21:41
*/
@Service
public class TdApplyAfterServiceImpl extends ServiceImpl<TdApplyAfterMapper, TdApplyAfter>
implements TdApplyAfterService {
}

@ -0,0 +1,23 @@
package com.ruoyi.system.service.apply.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.domain.apply.TdApplyBefore;
import com.ruoyi.system.mapper.apply.TdApplyBeforeMapper;
import com.ruoyi.system.service.apply.TdApplyBeforeService;
import org.springframework.stereotype.Service;
/**
* @author Administrator
* @description td_apply_before(sm)Service
* @createDate 2025-06-03 16:21:41
*/
@Service
public class TdApplyBeforeServiceImpl extends ServiceImpl<TdApplyBeforeMapper, TdApplyBefore>
implements TdApplyBeforeService {
}

@ -0,0 +1,30 @@
<?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.system.mapper.apply.TdApplyAfterMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.system.domain.apply.TdApplyAfter">
<result property="afterId" column="after_id" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="sex" column="sex" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="formerName" column="former_name" jdbcType="VARCHAR"/>
<result property="nationality" column="nationality" jdbcType="VARCHAR"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="cerno" column="cerno" jdbcType="VARCHAR"/>
<result property="positionCapacity" column="position_capacity" jdbcType="VARCHAR"/>
<result property="smPost" column="sm_post" jdbcType="VARCHAR"/>
<result property="smGrade" column="sm_grade" jdbcType="VARCHAR"/>
<result property="applyId" column="apply_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
after_id,name,sex,
create_by,create_time,former_name,
nationality,phone,cerno,
position_capacity,sm_post,sm_grade,
apply_id
</sql>
</mapper>

@ -0,0 +1,30 @@
<?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.system.mapper.apply.TdApplyBeforeMapper">
<resultMap id="BaseResultMap" type="com.ruoyi.system.domain.apply.TdApplyBefore">
<result property="beforeId" column="before_id" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="sex" column="sex" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="formerName" column="former_name" jdbcType="VARCHAR"/>
<result property="nationality" column="nationality" jdbcType="VARCHAR"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="cerno" column="cerno" jdbcType="VARCHAR"/>
<result property="positionCapacity" column="position_capacity" jdbcType="VARCHAR"/>
<result property="smPost" column="sm_post" jdbcType="VARCHAR"/>
<result property="smGrade" column="sm_grade" jdbcType="VARCHAR"/>
<result property="applyId" column="apply_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
before_id,name,sex,
create_by,create_time,former_name,
nationality,phone,cerno,
position_capacity,sm_post,sm_grade,
apply_id
</sql>
</mapper>
Loading…
Cancel
Save