Commit 0487b23e authored by zhenbin wang's avatar zhenbin wang

feature-wzb:人员提醒和bug修复

parent 9b1849bb
...@@ -20,6 +20,7 @@ public class ArchivesConstants { ...@@ -20,6 +20,7 @@ public class ArchivesConstants {
*/ */
public static final String PROJECT_CONTENT = "复项"; public static final String PROJECT_CONTENT = "复项";
/** /**
* 复档复项 * 复档复项
*/ */
...@@ -136,4 +137,16 @@ public class ArchivesConstants { ...@@ -136,4 +137,16 @@ public class ArchivesConstants {
*/ */
public static final String CONTRACT_AUDIT_REMARK_TOO_LONG = "审核说明不可超过200字!"; public static final String CONTRACT_AUDIT_REMARK_TOO_LONG = "审核说明不可超过200字!";
/**
* 处理状态
*/
public static final String HANDLE_FLAG_ONE= "未处理-已处理";
/**
* 处理状态
*/
public static final String HANDLE_FLAG_TWO= "已处理-未处理";
public static final int MYEAR_MONTH=-717;
public static final int WYEAR_MONTH=-597;
} }
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* @author wzb
* @description 人员退休提醒
* @date 2023-05-18 15:11:11
*/
@Data
@TableName("t_employee_retirement")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "项目档案表")
public class TEmployeeRetirement extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description ="主键")
private String id;
/**
* 员工姓名
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("员工姓名")
@ExcelAttribute(name = "员工姓名")
@Schema(description = "员工姓名")
private String empName;
/**
* 身份证号码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("身份证号码")
@ExcelAttribute(name = "身份证号码")
@Schema(description = "身份证号码")
private String empIdcard;
/**
* 手机号码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("手机号码")
@ExcelAttribute(name = "手机号码")
@Schema(description = "手机号码")
private String empPhone;
/**
* 性别
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("性别")
@ExcelAttribute(name = "性别")
@Schema(description = "性别")
private String empSex;
/**
* 年龄
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("年龄")
@ExcelAttribute(name = "年龄")
@Schema(description = "年龄")
private Integer empAge;
/**
* 员工类型(字典值,0外包1派遣2代理)
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("员工类型")
@ExcelAttribute(name = "员工类型")
@Schema(description = "员工类型")
private String empNatrue;
/**
* 档案-省
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("省")
@ExcelAttribute(name = "省")
@Schema(description = "档案-省")
private Integer fileProvince;
/**
* 档案-市
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("市")
@ExcelAttribute(name = "市")
@Schema(description = "档案-市")
private Integer fileCity;
/**
* 档案-县
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("县")
@ExcelAttribute(name = "县")
@Schema(description = "档案-县")
private Integer fileTown;
/**
* 社保-省
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("社保-省")
@ExcelAttribute(name = "社保-省")
@Schema(description = "社保-省")
private Integer socialProvince;
/**
* 社保-市
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("社保-市")
@ExcelAttribute(name = "社保-市")
@Schema(description = "社保-市")
private Integer socialCity;
/**
* 社保-县
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("社保-县")
@ExcelAttribute(name = "社保-县")
@Schema(description = "社保-县")
private Integer socialTown;
/**
* 项目名称
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("项目名称")
@ExcelAttribute(name = "项目名称")
@Schema(description = "项目名称")
private String deptName;
/**
* 客户名称
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("客户名称")
@ExcelAttribute(name = "客户名称")
@Schema(description = "客户名称")
private String unitName;
/**
* 客户编码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("客户编码")
@ExcelAttribute(name = "客户编码")
@Schema(description = "客户编码")
private String unitNo;
/**
* 项目编码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("客户编码")
@ExcelAttribute(name = "客户编码")
@Schema(description = "客户编码")
private String deptNo;
/**
* 是否处理(0未处理,1处理)
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否处理")
@ExcelAttribute(name = "是否处理")
@Schema(description = "是否处理")
private Integer handleFlag;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
/**
* @author wzb
* @description 批量修改处理状态类
* @date 2023-05-19 16:30:29
*/
@Data
public class ChangeHandleFlagAllVo {
/**
* id集合
*/
private String[] ids;
/**
* 处理状态
*/
private Integer handleFlag;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
/**
* @author wzb
* @description 修改处理状态类
* @date 2023-05-22 17:09:54
*/
@Data
public class ChangeHandleFlagVo {
/**
* id
*/
private String id;
/**
* 处理状态
*/
private Integer handleFlag;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirement;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirementFlagDetail;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;
/**
* @author wzb
* @description TODO
* @date 2023-05-22 17:44:35
*/
@Data
@ExcelIgnoreUnannotated
public class TEmployeeRetirementExportVo{
@TableId(type = IdType.ASSIGN_ID)
@Schema(description ="主键")
private String id;
/**
* 员工姓名
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("员工姓名")
@ExcelAttribute(name = "员工姓名")
@Schema(description = "员工姓名")
private String empName;
/**
* 身份证号码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("身份证号码")
@ExcelAttribute(name = "身份证号码")
@Schema(description = "身份证号码")
private String empIdcard;
/**
* 手机号码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("手机号码")
@ExcelAttribute(name = "手机号码")
@Schema(description = "手机号码")
private String empPhone;
/**
* 性别
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("性别")
@ExcelAttribute(name = "性别",readConverterExp = "1=男,2=女")
@Schema(description = "性别")
private String empSex;
/**
* 年龄
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("年龄")
@ExcelAttribute(name = "年龄")
@Schema(description = "年龄")
private Integer empAge;
/**
* 员工类型(字典值,0外包1派遣2代理)
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("员工类型")
@ExcelAttribute(name = "员工类型",readConverterExp = "0=外包,1=派遣,2=代理")
@Schema(description = "员工类型")
private String empNatrue;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("档案")
@ExcelAttribute(name = "档案")
@Schema(description = "档案")
private String fileAddress;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("社保")
@ExcelAttribute(name = "社保")
@Schema(description = "社保")
private String socialAddress;
/**
* 档案-省
*/
@Schema(description = "档案-省")
private Integer fileProvince;
/**
* 档案-市
*/
@JsonIgnore
@Schema(description = "档案-市")
private Integer fileCity;
/**
* 档案-县
*/
@Schema(description = "档案-县")
private Integer fileTown;
/**
* 社保-省
*/
@Schema(description = "社保-省")
private Integer socialProvince;
/**
* 社保-市
*/
@Schema(description = "社保-市")
private Integer socialCity;
/**
* 社保-县
*/
@Schema(description = "社保-县")
private Integer socialTown;
/**
* 项目名称
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("项目名称")
@ExcelAttribute(name = "项目名称")
@Schema(description = "项目名称")
private String deptName;
/**
* 客户名称
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("客户名称")
@ExcelAttribute(name = "客户名称")
@Schema(description = "客户名称")
private String unitName;
/**
* 客户编码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("客户编码")
@ExcelAttribute(name = "客户编码")
@Schema(description = "客户编码")
private String unitNo;
/**
* 项目编码
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("客户编码")
@ExcelAttribute(name = "客户编码")
@Schema(description = "客户编码")
private String deptNo;
/**
* 是否处理(0未处理,1处理)
*/
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否处理")
@ExcelAttribute(name = "是否处理")
@Schema(description = "是否处理")
private String handleFlag;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirement;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author wzb
* @description TODO
* @date 2023-05-22 19:37:37
*/
@Data
public class TEmployeeRetirementSearchVo extends TEmployeeRetirement {
/**
* 员工类型下拉多选
*/
@TableField(exist = false)
@Schema(description = "员工类型下拉多选")
private String[]empTypeList;
@TableField(exist = false)
@Schema(description = "id集合")
private String[]idList;
/**
* @Author fxj
* 查询数据起
**/
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
private int limitEnd;
}
...@@ -3,12 +3,14 @@ package com.yifu.cloud.plus.v1.yifu.archives; ...@@ -3,12 +3,14 @@ package com.yifu.cloud.plus.v1.yifu.archives;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.EnableYifuResourceServer; import com.yifu.cloud.plus.v1.yifu.common.security.annotation.EnableYifuResourceServer;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
/** /**
* @author pig archetype * @author pig archetype
* <p> * <p>
* 项目启动类 * 项目启动类
*/ */
@EnableYifuResourceServer @EnableYifuResourceServer
@SpringBootApplication @SpringBootApplication
public class ArchivesApplication { public class ArchivesApplication {
......
package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirement;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeRetirementService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeHandleFlagAllVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeHandleFlagVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeRetirementExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeRetirementSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Set;
/**
* @author wzb
* @description 退休人员提醒
* @date 2023-05-18 16:11:02
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/temployeeretirement" )
@Tag(name = "退休人员提醒")
public class TEmployeeRetirementController {
private final TEmployeeRetirementService tEmployeeRetirementService;
/**
* 分页查询
*
* @author wzb
* @param page
* @param searchVo
* @return {@link R< IPage< TEmployeeRetirement>>}
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page" )
public R<IPage<TEmployeeRetirement>> getTEmployeeRetirementPage(Page page, TEmployeeRetirementSearchVo searchVo) {
return R.ok(tEmployeeRetirementService.getTEmployeeRetirementPage(page,searchVo));
}
@Inner
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/inner/retireeRemind" )
public void retireeRemind() {
tEmployeeRetirementService.retireeRemind();
}
/**
* 批量修改状态
*
* @author wzb
* @param changeHandleFlagAllVo
* @return {@link R}
*/
@Operation(summary = "批量修改状态", description = "修改状态")
@PostMapping("/changeHandleFlagAll")
public R changeHandleFlagAll( @RequestBody ChangeHandleFlagAllVo changeHandleFlagAllVo) {
return R.ok(tEmployeeRetirementService.changeHandleFlagAll(changeHandleFlagAllVo));
}
/**
* 修改状态
*
* @author wzb
* @param changeHandleFlagVo
* @return {@link R}
*/
@Operation(summary = "修改状态", description = "修改状态")
@PostMapping("/changeHandleFlag")
public R changeHandleFlag(@RequestBody ChangeHandleFlagVo changeHandleFlagVo) {
return R.ok(tEmployeeRetirementService.changeHandleFlag(changeHandleFlagVo));
}
/**
* 修改状态
*/
@Operation(summary = "操作日志详情", description = "操作日志详情")
@GetMapping("/getHandleFlagDetail")
public R getHandleFlagDetail(String id) {
return R.ok(tEmployeeRetirementService.getHandleFlagDetail(id));
}
/**
* 人员退休提醒批量导出
*
* @author wzb
* @param response
* @param searchVo
* @return void
*/
@Operation(summary = "人员退休提醒批量导出", description = "人员退休提醒批量导出")
@GetMapping("/export")
public void export(HttpServletResponse response, TEmployeeRetirementSearchVo searchVo) {
tEmployeeRetirementService.listExport(response, searchVo);
}
}
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirementFlagDetail;
;
/**
* @author wzb
* @description 针对表【t_employee_retirement_flag_detail】的数据库操作Service
* @createDate 2023-05-20 16:18:07
*/
public interface TEmployeeRetirementFlagDetailService extends IService<TEmployeeRetirementFlagDetail> {
}
package com.yifu.cloud.plus.v1.yifu.archives.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.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirement;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeRetirementFlagDetail;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeHandleFlagAllVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeHandleFlagVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeRetirementSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author 86187
* @description 针对表【t_employee_retirement】的数据库操作Service
* @createDate 2023-05-18 15:40:46
*/
public interface TEmployeeRetirementService extends IService<TEmployeeRetirement> {
/**
* 人员退休提醒分页列表
*
* @author wzb
* @param page
* @param searchVo
* @return {@link IPage< TEmployeeRetirement>}
*/
IPage<TEmployeeRetirement> getTEmployeeRetirementPage(Page page, TEmployeeRetirementSearchVo searchVo);
/**
* 批量修改状态
*
* @author wzb
* @param changeHandleFlagAllVo
* @return {@link boolean}
*/
boolean changeHandleFlagAll(ChangeHandleFlagAllVo changeHandleFlagAllVo);
/**
* 修改状态
*
* @author wzb
* @param changeHandleFlagVo
* @return {@link boolean}
*/
boolean changeHandleFlag(ChangeHandleFlagVo changeHandleFlagVo);
/**
* 退休提醒人员导出
*
* @author wzb
* @param response
* @param searchVo
* @return void
*/
void listExport (HttpServletResponse response, TEmployeeRetirementSearchVo searchVo);
/**
* 退休提醒定时任务
*
* @author wzb
* @param
* @return void
*/
void retireeRemind() ;
/**
* 获取处理日志
*
* @author wzb
* @param id
* @return {@link List< TEmployeeRetirementFlagDetail>}
*/
List<TEmployeeRetirementFlagDetail> getHandleFlagDetail(String id);
}
...@@ -246,22 +246,23 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr ...@@ -246,22 +246,23 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
} }
} }
} }
if (EmployeeConstants.SITUATION_ONE.equals(tEmployeeContractInfo.getSituation())) {
TEmployeeContractInfo contractInfo = this.getOne(Wrappers.<TEmployeeContractInfo>query().lambda() TEmployeeContractInfo contractInfo = this.getOne(Wrappers.<TEmployeeContractInfo>query().lambda()
.eq(TEmployeeContractInfo::getEmpIdcard, tEmployeeContractInfo.getEmpIdcard()) .eq(TEmployeeContractInfo::getEmpIdcard, tEmployeeContractInfo.getEmpIdcard())
.eq(TEmployeeContractInfo::getContractStart, tEmployeeContractInfo.getContractStart()) .eq(TEmployeeContractInfo::getContractStart, tEmployeeContractInfo.getContractStart())
.eq(TEmployeeContractInfo::getContractEnd, tEmployeeContractInfo.getContractEnd()) .eq(TEmployeeContractInfo::getContractEnd, tEmployeeContractInfo.getContractEnd())
.eq(TEmployeeContractInfo::getDeleteFlag,CommonConstants.ZERO_INT) .eq(TEmployeeContractInfo::getDeleteFlag,CommonConstants.ZERO_INT)
.and(obj->obj.eq(TEmployeeContractInfo::getAuditStatus,CommonConstants.ZERO_INT) .eq(TEmployeeContractInfo::getInUse,CommonConstants.ZERO_INT)
.and(obj->obj.eq(TEmployeeContractInfo::getAuditStatus,CommonConstants.ONE_INT)
.or() .or()
.eq(TEmployeeContractInfo::getAuditStatus,CommonConstants.ONE_INT) .eq(TEmployeeContractInfo::getAuditStatus,CommonConstants.TWO_INT)
) )
.last(CommonConstants.LAST_ONE_SQL)); .last(CommonConstants.LAST_ONE_SQL));
if (contractInfo != null) { if (contractInfo != null) {
return R.failed("不能重复添加"); return R.failed("不能重复添加");
} }
} }
}
return null; return null;
} }
......
...@@ -52,4 +52,12 @@ public class ArchiveTask { ...@@ -52,4 +52,12 @@ public class ArchiveTask {
log.info("-------------每天更新人员档案、项目档案的过期合同为2不在用-定时任务结束------------"); log.info("-------------每天更新人员档案、项目档案的过期合同为2不在用-定时任务结束------------");
} }
public void retireeRemind() {
log.info("-------------每日凌晨1点人员退休提醒-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(), daprArchivesProperties.getAppId(),
"/temployeeretirement/inner/everyDayRemind", "", Object.class,
SecurityConstants.FROM_IN);
log.info("-------------每日凌晨1点人员退休提醒-定时任务开始------------");
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment