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

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

parent 9b1849bb
......@@ -20,6 +20,7 @@ public class ArchivesConstants {
*/
public static final String PROJECT_CONTENT = "复项";
/**
* 复档复项
*/
......@@ -136,4 +137,16 @@ public class ArchivesConstants {
*/
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;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.EnableYifuResourceServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* @author pig archetype
* <p>
* 项目启动类
*/
@EnableYifuResourceServer
@SpringBootApplication
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
}
}
}
if (EmployeeConstants.SITUATION_ONE.equals(tEmployeeContractInfo.getSituation())) {
TEmployeeContractInfo contractInfo = this.getOne(Wrappers.<TEmployeeContractInfo>query().lambda()
.eq(TEmployeeContractInfo::getEmpIdcard, tEmployeeContractInfo.getEmpIdcard())
.eq(TEmployeeContractInfo::getContractStart, tEmployeeContractInfo.getContractStart())
.eq(TEmployeeContractInfo::getContractEnd, tEmployeeContractInfo.getContractEnd())
.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()
.eq(TEmployeeContractInfo::getAuditStatus,CommonConstants.ONE_INT)
.eq(TEmployeeContractInfo::getAuditStatus,CommonConstants.TWO_INT)
)
.last(CommonConstants.LAST_ONE_SQL));
if (contractInfo != null) {
return R.failed("不能重复添加");
}
}
}
return null;
}
......
package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import cn.hutool.core.date.DateTime;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.constants.ArchivesConstants;
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.mapper.TEmployeeRetirementFlagDetailMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeRetirementMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeRetirementService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchAuditExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoSearchVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @author 86187
* @description 针对表【t_employee_retirement】的数据库操作Service实现
* @createDate 2023-05-18 15:40:46
*/
@Service
public class TEmployeeRetirementServiceImpl extends ServiceImpl<TEmployeeRetirementMapper, TEmployeeRetirement>
implements TEmployeeRetirementService {
@Autowired
private TEmployeeRetirementMapper tEmployeeRetirementMapper;
@Autowired
private TEmployeeRetirementFlagDetailMapper tEmployeeRetirementFlagDetailMapper;
@Override
public IPage<TEmployeeRetirement> getTEmployeeRetirementPage(Page page, TEmployeeRetirementSearchVo searchVo) {
return baseMapper.getTEmployeeRetirementPage(page, searchVo);
}
@Override
@Scheduled(cron = "0 */1 * * * ?")
public void retireeRemind() {
Date date = new Date();
YifuUser user = SecurityUtils.getUser();
SimpleDateFormat formatterMenYear = new SimpleDateFormat("YYYYMM");
String YearMonth = formatterMenYear.format(date);
SimpleDateFormat formatterManDate = new SimpleDateFormat("dd");
String dateOne = formatterManDate.format(date);
String mRemainTime = DateUtil.getYearAndMonth(YearMonth, ArchivesConstants.MYEAR_MONTH);
String wRemainTime = DateUtil.getYearAndMonth(YearMonth, ArchivesConstants.WYEAR_MONTH);
String TT = mRemainTime + dateOne;
StringBuffer stringBuffer = new StringBuffer(TT);
stringBuffer.insert(CommonConstants.FOUR_INT, "-");
stringBuffer.insert(CommonConstants.SEVEN_INT, "-");
String LL = wRemainTime + dateOne;
StringBuffer stringBufferOne = new StringBuffer(LL);
stringBufferOne.insert(CommonConstants.FOUR_INT, "-");
stringBufferOne.insert(CommonConstants.SEVEN_INT, "-");
List<TEmployeeRetirement> list = baseMapper.getBirthday(TT,LL);
for (TEmployeeRetirement tEmployeeRetirement : list) {
int i = baseMapper.selectByEmpIdcard(tEmployeeRetirement.getEmpIdcard());
if (i == 0) {
tEmployeeRetirement.setHandleFlag(0);
tEmployeeRetirement.setCreateBy("1");
tEmployeeRetirementMapper.insert(tEmployeeRetirement);
}
}
}
@Override
public boolean changeHandleFlagAll(ChangeHandleFlagAllVo changeHandleFlagAllVo) {
YifuUser user = SecurityUtils.getUser();
for (int i = 0; i < changeHandleFlagAllVo.getIds().length; i++) {
TEmployeeRetirementFlagDetail tEmployeeRetirementFlagDetail = new TEmployeeRetirementFlagDetail();
if (changeHandleFlagAllVo.getHandleFlag() == 0) {
tEmployeeRetirementFlagDetail.setDatailId(changeHandleFlagAllVo.getIds()[i]);
tEmployeeRetirementFlagDetail.setContext(ArchivesConstants.HANDLE_FLAG_ONE);
tEmployeeRetirementFlagDetail.setCreateBy(user.getId());
tEmployeeRetirementFlagDetail.setCreateName(user.getNickname());
tEmployeeRetirementFlagDetail.setCreateTime(DateTime.now());
tEmployeeRetirementFlagDetailMapper.insert(tEmployeeRetirementFlagDetail);
}
if (changeHandleFlagAllVo.getHandleFlag() == 1) {
tEmployeeRetirementFlagDetail.setDatailId(changeHandleFlagAllVo.getIds()[i]);
tEmployeeRetirementFlagDetail.setContext(ArchivesConstants.HANDLE_FLAG_TWO);
tEmployeeRetirementFlagDetail.setCreateBy(user.getId());
tEmployeeRetirementFlagDetail.setCreateName(user.getNickname());
tEmployeeRetirementFlagDetail.setCreateTime(DateTime.now());
tEmployeeRetirementFlagDetailMapper.insert(tEmployeeRetirementFlagDetail);
}
}
return baseMapper.changeHandleFlagAll(changeHandleFlagAllVo);
}
@Override
public boolean changeHandleFlag(ChangeHandleFlagVo changeHandleFlagVo) {
YifuUser user = SecurityUtils.getUser();
TEmployeeRetirementFlagDetail tEmployeeRetirementFlagDetail = new TEmployeeRetirementFlagDetail();
if(changeHandleFlagVo.getHandleFlag()==0){
tEmployeeRetirementFlagDetail.setDatailId(changeHandleFlagVo.getId());
tEmployeeRetirementFlagDetail.setContext(ArchivesConstants.HANDLE_FLAG_ONE);
tEmployeeRetirementFlagDetail.setCreateBy(user.getId());
tEmployeeRetirementFlagDetail.setCreateTime(DateTime.now());
tEmployeeRetirementFlagDetail.setCreateName(user.getNickname());
tEmployeeRetirementFlagDetailMapper.insert(tEmployeeRetirementFlagDetail);
}
if(changeHandleFlagVo.getHandleFlag()==1){
tEmployeeRetirementFlagDetail.setDatailId(changeHandleFlagVo.getId());
tEmployeeRetirementFlagDetail.setContext(ArchivesConstants.HANDLE_FLAG_TWO);
tEmployeeRetirementFlagDetail.setCreateBy(user.getId());
tEmployeeRetirementFlagDetail.setCreateTime(DateTime.now());
tEmployeeRetirementFlagDetail.setCreateName(user.getNickname());
tEmployeeRetirementFlagDetailMapper.insert(tEmployeeRetirementFlagDetail);
}
return baseMapper.changeHandleFlag(changeHandleFlagVo);
}
@Override
public void listExport(HttpServletResponse response, TEmployeeRetirementSearchVo searchVo) {
String fileName = "人员退休提醒批量导出" + DateUtil.getThisTime() + CommonConstants.XLSX;
List<TEmployeeRetirementExportVo> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
try (ServletOutputStream out = response.getOutputStream()){
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName , "UTF-8"));
ExcelUtil<TEmployeeRetirementExportVo> util = new ExcelUtil<>(TEmployeeRetirementExportVo.class);
// 获取所有字典type
Map<String,String> nameAndDicTypeMap = util.getConverterDicType();
// 获取所有字典对应的值
Map<String,String> redisLabelMap = (Map<String, String>) RedisUtil.redis.opsForValue().get(CacheConstants.REDIS_DICT_LABLE);
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, TEmployeeRetirementExportVo.class)
.registerConverter(new DictConverter(nameAndDicTypeMap,redisLabelMap))
.build();
int index = 0;
if (count > CommonConstants.ZERO_INT){
WriteSheet writeSheet;
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo);
for (TEmployeeRetirementExportVo tEmployeeRetirementExportVo :list) {
String fileProvince = baseMapper.selectByIdd(tEmployeeRetirementExportVo.getFileProvince());
String fileCity = baseMapper.selectByIdd(tEmployeeRetirementExportVo.getFileCity());
String fileTown = baseMapper.selectByIdd(tEmployeeRetirementExportVo.getFileTown());
if (null != fileProvince && null != fileCity && null != fileTown) {
if (null != fileCity && null == fileTown) {
tEmployeeRetirementExportVo.setFileAddress(fileProvince + "/" + fileCity);
} else {
tEmployeeRetirementExportVo.setFileAddress(fileProvince + "/" + fileCity + "/" + fileTown);
}
}
String socialProvince = baseMapper.selectByIdd(tEmployeeRetirementExportVo.getSocialProvince());
String socialCity = baseMapper.selectByIdd(tEmployeeRetirementExportVo.getSocialCity());
String socailTown = baseMapper.selectByIdd(tEmployeeRetirementExportVo.getSocialTown());
if (null != socialProvince && null != socialCity && null != socailTown) {
if (null != socialCity && null == socailTown) {
tEmployeeRetirementExportVo.setSocialAddress(socialProvince + "/" + socialCity);
} else {
tEmployeeRetirementExportVo.setFileAddress(socialProvince + "/" + socialCity + "/" + socailTown);
}
}
}
if (Common.isNotNull(list)){
writeSheet = EasyExcel.writerSheet("人员退休提醒批量导出"+index).build();
excelWriter.write(list,writeSheet);
index++;
}
if (Common.isNotNull(list)){
list.clear();
}
}
}else {
WriteSheet writeSheet = EasyExcel.writerSheet("人员退休提醒批量导出"+index).build();
excelWriter.write(list,writeSheet);
}
if (Common.isNotNull(list)){
list.clear();
}
excelWriter.finish();
}catch (Exception e){
log.error("执行异常" ,e);
}
}
@Override
public List<TEmployeeRetirementFlagDetail> getHandleFlagDetail(String id) {
return tEmployeeRetirementFlagDetailMapper.getDatail(id);
}
private List<TEmployeeRetirementExportVo> noPageDiy(TEmployeeRetirementSearchVo searchVo) {
return baseMapper.noPageDiy(searchVo);
}
private int noPageCountDiy(TEmployeeRetirementSearchVo searchVo) {
return baseMapper.noPageCountDiy(searchVo);
}
}
......@@ -52,4 +52,12 @@ public class ArchiveTask {
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
......@@ -162,8 +162,8 @@ public class TMinSalaryServiceImpl extends ServiceImpl<TMinSalaryMapper, TMinSal
if (Common.isEmpty(data.getId())) {
data.setErrorFlag(true);
errorMessage.append("ID为空;");
}else{
TMinSalary ll=baseMapper.selectById(data.getId());
} else {
TMinSalary ll = baseMapper.selectById(data.getId());
if (Common.isEmpty(baseMapper.selectById(data.getId()))) {
data.setErrorFlag(true);
errorMessage.append("ID不存在无法更新,请核实后再操作!;");
......@@ -173,98 +173,201 @@ public class TMinSalaryServiceImpl extends ServiceImpl<TMinSalaryMapper, TMinSal
errorMessage.append("所在地、最低工资(元)、状态为空;");
}
if(null !=data.getLocation()){
String location[] = data.getLocation().split("/");
if (!data.getLocation().isEmpty()) {
if (location.length == 1) {
data.setErrorFlag(true);
errorMessage.append("所在地”请精确到市或县/区;");
}
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
if (null != data.getLocation()) {
if (data.getLocation().contains("/")) {
String location[] = data.getLocation().split("/");
if (!data.getLocation().isEmpty()) {
if (location.length == 1) {
data.setErrorFlag(true);
errorMessage.append("所在地”请精确到市或县/区;");
}
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
}
}
if(location.length==2){
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
String redisCityName = getRedisAreaValue(location[CommonConstants.ONE_INT] + "_" + location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisCityName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
if (location.length == 2) {
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
String redisCityName = getRedisAreaValue(location[CommonConstants.ONE_INT] + "_" + location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisCityName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
TMinSalary entity = baseMapper.selectById(data.getId());
if (Common.isNotNull(entity)) {
LambdaQueryWrapper<TMinSalary> query = new LambdaQueryWrapper<>();
}
TMinSalary entity = baseMapper.selectById(data.getId());
if (Common.isNotNull(entity)) {
LambdaQueryWrapper<TMinSalary> query = new LambdaQueryWrapper<>();
if (Common.isNotNull(redisProvinceName)) {
query.eq(TMinSalary::getProvince,redisProvinceName );
}
if (Common.isNotNull(redisCityName) ){
query.eq(TMinSalary::getCity, redisCityName);
}
if (Common.isNotNull(redisProvinceName)) {
query.eq(TMinSalary::getProvince, redisProvinceName);
}
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getCity, redisCityName);
}
long res = baseMapper.selectCount(query);
long res = baseMapper.selectCount(query);
if (res > CommonConstants.ZERO_INT) {
data.setErrorFlag(true);
errorMessage.append("已存在对应区域在用的配置信息;");
if (res > CommonConstants.ZERO_INT) {
data.setErrorFlag(true);
errorMessage.append("已存在对应区域在用的配置信息;");
}
}
}
}
}
if(location.length>2){
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
String redisCityName = getRedisAreaValue(location[CommonConstants.ONE_INT] + "_" + location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisCityName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
if (location.length > 2) {
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
String redisCityName = getRedisAreaValue(location[CommonConstants.ONE_INT] + "_" + location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisCityName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
String redisTownName = getRedisAreaValue(location[CommonConstants.TWO_INT] + "_" + location[CommonConstants.ONE_INT]);
if (Common.isEmpty(redisTownName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
TMinSalary entity = baseMapper.selectById(data.getId());
if (Common.isNotNull(entity)) {
LambdaQueryWrapper<TMinSalary> query = new LambdaQueryWrapper<>();
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getProvince, redisCityName);
}
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getCity, redisCityName);
}
if (Common.isNotNull(redisTownName)) {
query.eq(TMinSalary::getTown, redisTownName);
}
if (Common.isEmpty(location[2])) {
query.isNull(TMinSalary::getTown);
}
query.ne(TMinSalary::getId, data.getId());
long res = baseMapper.selectCount(query);
if (res > CommonConstants.ZERO_INT) {
data.setErrorFlag(true);
errorMessage.append("已存在对应区域在用的配置信息;");
}
}
}
if (null != data.getSalaryBase()) {
if (!ValidityUtil.validateStandard(data.getSalaryBase())) {
data.setErrorFlag(true);
errorMessage.append("最低工资,请填写>0的两位小数;");
}
}
String redisTownName = getRedisAreaValue(location[CommonConstants.TWO_INT] + "_" + location[CommonConstants.ONE_INT]);
if (Common.isEmpty(redisTownName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
if (!data.getStatus().isEmpty()) {
if (!(CommonConstants.START.equals(data.getStatus()) || CommonConstants.STOP.equals(data.getStatus()))) {
data.setErrorFlag(true);
errorMessage.append("填写的状态不是启用或停用");
}
}
TMinSalary entity = baseMapper.selectById(data.getId());
if (Common.isNotNull(entity)) {
LambdaQueryWrapper<TMinSalary> query = new LambdaQueryWrapper<>();
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getProvince,redisCityName );
}
if (data.getLocation().contains("-")) {
String location[] = data.getLocation().split("-");
if (!data.getLocation().isEmpty()) {
if (location.length == 1) {
data.setErrorFlag(true);
errorMessage.append("所在地”请精确到市或县/区;");
}
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getCity, redisCityName);
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
if (Common.isNotNull(redisTownName)) {
query.eq(TMinSalary::getTown, redisTownName);
}
if (location.length == 2) {
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
if (Common.isEmpty(location[2])) {
query.isNull(TMinSalary::getTown);
String redisCityName = getRedisAreaValue(location[CommonConstants.ONE_INT] + "_" + location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisCityName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
query.ne(TMinSalary::getId, data.getId());
long res = baseMapper.selectCount(query);
if (res > CommonConstants.ZERO_INT) {
TMinSalary entity = baseMapper.selectById(data.getId());
if (Common.isNotNull(entity)) {
LambdaQueryWrapper<TMinSalary> query = new LambdaQueryWrapper<>();
if (Common.isNotNull(redisProvinceName)) {
query.eq(TMinSalary::getProvince, redisProvinceName);
}
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getCity, redisCityName);
}
long res = baseMapper.selectCount(query);
if (res > CommonConstants.ZERO_INT) {
data.setErrorFlag(true);
errorMessage.append("已存在对应区域在用的配置信息;");
}
}
}
if (location.length > 2) {
String redisProvinceName = getRedisAreaValue(location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisProvinceName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
String redisCityName = getRedisAreaValue(location[CommonConstants.ONE_INT] + "_" + location[CommonConstants.ZERO_INT]);
if (Common.isEmpty(redisCityName)) {
data.setErrorFlag(true);
errorMessage.append("已存在对应区域在用的配置信息;");
errorMessage.append("对应区域不存在;");
}
}}
String redisTownName = getRedisAreaValue(location[CommonConstants.TWO_INT] + "_" + location[CommonConstants.ONE_INT]);
if (Common.isEmpty(redisTownName)) {
data.setErrorFlag(true);
errorMessage.append("对应区域不存在;");
}
TMinSalary entity = baseMapper.selectById(data.getId());
if (Common.isNotNull(entity)) {
LambdaQueryWrapper<TMinSalary> query = new LambdaQueryWrapper<>();
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getProvince, redisCityName);
}
if (Common.isNotNull(redisCityName)) {
query.eq(TMinSalary::getCity, redisCityName);
}
if (Common.isNotNull(redisTownName)) {
query.eq(TMinSalary::getTown, redisTownName);
}
if (Common.isEmpty(location[2])) {
query.isNull(TMinSalary::getTown);
}
query.ne(TMinSalary::getId, data.getId());
long res = baseMapper.selectCount(query);
if (res > CommonConstants.ZERO_INT) {
data.setErrorFlag(true);
errorMessage.append("已存在对应区域在用的配置信息;");
}
}
}
if (null != data.getSalaryBase()) {
if (!ValidityUtil.validateStandard(data.getSalaryBase())) {
data.setErrorFlag(true);
errorMessage.append("最低工资,请填写>0的两位小数;");
}
}
if (!data.getStatus().isEmpty()) {
if (null!=data.getStatus()) {
if (!(CommonConstants.START.equals(data.getStatus()) || CommonConstants.STOP.equals(data.getStatus()))) {
data.setErrorFlag(true);
errorMessage.append("填写的状态不是启用或停用");
......@@ -272,11 +375,7 @@ public class TMinSalaryServiceImpl extends ServiceImpl<TMinSalaryMapper, TMinSal
}
}
}
}
if (data.isErrorFlag()) {
data.setErrorMessage(errorMessage.toString());
......
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