Commit 1160f17f authored by chenyuxi's avatar chenyuxi

feat: 不良记录职业资格接口

parent 454844cc
......@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
......@@ -79,6 +80,16 @@ public class TEmpBadRecord extends BaseEntity {
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 是否有不良记录 0 是 1 否
*/
@ExcelAttribute(name = "是否有不良记录" , isNotEmpty = true, errorInfo = "是否有不良记录不可为空",readConverterExp = "0=是,1=否")
@Schema(description ="是否有不良记录 0 是 1 否 ")
@HeadFontStyle(fontHeightInPoints = 11)
@ColumnWidth(20)
@ExcelProperty("是否有不良记录")
private String badRecordFlag;
/**
* 产生项目
*/
......@@ -138,6 +149,7 @@ public class TEmpBadRecord extends BaseEntity {
@ExcelProperty("其他损失")
private BigDecimal loseFeeOther;
/**
* 项目ID
*/
......@@ -154,12 +166,4 @@ public class TEmpBadRecord extends BaseEntity {
@ExcelIgnore
private String attaIds;
/**
* 是否曾经或正在追究与承担过刑事责任 0 是 1 否
*/
@ExcelAttribute(name = "是否有不良记录" , isNotEmpty = true, errorInfo = "是否有不良记录不可为空",readConverterExp = "0=是,1=否")
@Schema(description ="是否曾经或正在追究与承担过刑事责任 0 是 1 否 ")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否有不良记录")
private String badRecordFlag;
}
......@@ -129,7 +129,7 @@ public class TEmpProfessionalQualification extends BaseEntity {
/**
* @author chenyuxi
* @since mvp1.7.5
* @since 1.9.6
**/
@Schema(description = "是否有职业资格证书0是/1否")
private String haveQualification;
......
......@@ -149,7 +149,7 @@ public class TPreEmpBadRecord extends BaseEntity {
/**
* @author chenyuxi
* @since mvp1.7.5
* @since 1.9.6
**/
@Schema(description = "是否曾经或正在追究与承担过刑事责任 0 是 1 否")
private String badRecordFlag;
......
......@@ -190,7 +190,7 @@ public class TPreEmpProfessionalQualification extends BaseEntity {
/**
* @author chenyuxi
* @since mvp1.7.5
* @since 1.9.6
**/
@Schema(description = "是否有职业资格证书0是/1否")
private String haveQualification;
......
......@@ -66,7 +66,7 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
/**
* 备注
*/
@ExcelAttribute(name = "不良记录描述", maxLength = 200, isNotEmpty = true)
@ExcelAttribute(name = "不良记录描述", maxLength = 200)
@Schema(description ="不良记录描述")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("不良记录描述")
......
......@@ -186,6 +186,12 @@ public class PreUploadEmpImportTwoVo implements Serializable {
private Date validityStartValue;
@ExcelAttribute(name = "身份证截止日期-值")
private Date validityEndValue;
@ExcelAttribute(name = "是否有职业资格证书", isDataId = true, readConverterExp = "0=否,1=是")
private String badRecordFlag;
@ExcelAttribute(name = "是否有不良记录", isDataId = true, readConverterExp = "0=否,1=是")
private String haveQualification;
// 字典值结束
@TableField(exist = false)
......
......@@ -152,6 +152,17 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
for (int i = 0; i < excelVOList.size(); i++) {
// 已有验证报错直接下一个
EmpBadRecordVo excel = excelVOList.get(i);
// 【是否有不良记录】为是,项目编码和描述必填
if(CommonConstants.ZERO_STRING.equals(excel.getBadRecordFlag())){
if (Common.isEmpty(excel.getProjectCode())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),"产生项目编码_字段不可为空"));
continue;
}
if (Common.isEmpty(excel.getRemark())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),"不良记录描述_字段不可为空"));
continue;
}
}
/*if (Common.isEmpty(excel.getLoseFee()) && Common.isEmpty(excel.getLoseFeeOther())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_EMP_LOSE_FEE_NOT_EMPTY)));
continue;
......@@ -168,6 +179,10 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
excel.setEmpName(emp.getEmpName());
// mvp1.7.6-chenyuxi:有不良记录,再获取项目信息
if(CommonConstants.ZERO_STRING.equals(excel.getBadRecordFlag())){
if (Common.isEmpty(excel.getProjectCode())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_EMP_NOT_EXIST)));
continue;
}
exist = projectMapper.selectOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getDeptNo,excel.getProjectCode())
.eq(TEmployeeProject::getProjectStatus,CommonConstants.ZERO_STRING)
......@@ -179,6 +194,8 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
}
excel.setProjectCode(exist.getDeptNo());
excel.setProject(exist.getDeptName());
} else {
excel.setRemark("未曾经或正在追究与承担过刑事责任");
}
// 数据合法情况
......@@ -331,6 +348,10 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
if (Common.isNotNull(entity.getCreateName())){
wrapper.eq(TEmpBadRecord::getCreateName,entity.getCreateName());
}
// 1.9.6 加【是否有不良记录】标识查询
if (Common.isNotNull(entity.getBadRecordFlag())){
wrapper.eq(TEmpBadRecord::getBadRecordFlag,entity.getBadRecordFlag());
}
return wrapper;
}
......
......@@ -292,6 +292,8 @@ public class TEmpProfessionalQualificationServiceImpl extends ServiceImpl<TEmpPr
.set(TEmpProfessionalQualification::getHeightIdentification, null)
.set(TEmpProfessionalQualification::getUpdateTime, LocalDateTime.now());
this.update(null, updateDiyInfoWrapper);
// 清除执业资格证书附件
attaInfoMapper.deleteByDomainIdAndType(qualification.getId(),"2");
return R.ok(true);
}
......@@ -320,6 +322,10 @@ public class TEmpProfessionalQualificationServiceImpl extends ServiceImpl<TEmpPr
if (Common.isNotNull(entity.getCreateName())){
wrapper.eq(TEmpProfessionalQualification::getCreateName,entity.getCreateName());
}
// 1.9.6 加【是否有职业资格证书】标识查询
if (Common.isNotNull(entity.getHaveQualification())){
wrapper.eq(TEmpProfessionalQualification::getHaveQualification,entity.getHaveQualification());
}
return wrapper;
}
......
......@@ -132,6 +132,8 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
private final TCompleteMonitorService completeMonitorService;
private final TEmpBadRecordService tEmpBadRecordService;
@Autowired
private OSSUtil ossUtil;
......@@ -3200,7 +3202,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
String[] modelTitle = {"员工姓名", "身份证号", "员工类型", "身份证开始日期", "身份证截止日期", "婚姻状况", "民族"
, "政治面貌", "手机号码", "邮箱", "户籍所在地-省", "户籍所在地-市", "户籍所在地-区/县", "户口性质", "档案所在地-省"
, "档案所在地-市", "档案所在地-区/县", "通信地址-省", "通信地址-市", "通信地址-区/县", "通信地址-详细地址"
, "备注", "是否大专及以上", "最高学历", "学校", "专业", "入学时间", "毕业时间", "紧急联系人姓名"
, "备注", "是否有职业资格证书","是否有不良记录","是否大专及以上", "最高学历", "学校", "专业", "入学时间", "毕业时间", "紧急联系人姓名"
, "紧急联系人与本人关系", "联系地址-省", "联系地址-市", "联系地址-区/县", "联系地址-详细地址"
, "手机号码(紧急联系人)", "银行卡号", "开户总行", "开户省", "开户市", "开户支行", "计税月份"};
Map<String, String> modelTitleMap = new HashMap<>();
......@@ -3636,6 +3638,10 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
// 紧急联系人新增或更新
List<TEmpContactInfo> saveContact = new ArrayList<>();
TEmpContactInfo contact;
// 1.9.6 加不良记录
TEmpBadRecord badRecord;
List<TEmpBadRecord> empBadRecordList = new ArrayList<>();
for (PreUploadEmpImportTwoVo excel : saveExcelList) {
saveEmp = existEmpMap.get(excel.getEmpIdcard());
if (saveEmp != null) {
......@@ -3761,6 +3767,11 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
if (Common.isNotNull(excel.getTaxMonthValue())) {
saveEmp.setTaxMonth(excel.getTaxMonthValue());
}
// 1.9.6: 是否有职业资格证书
if (Common.isNotNull(excel.getHaveQualification())) {
saveEmp.setHaveQualification(excel.getHaveQualification());
}
// 更新时,不需要更新其余信息
newOld = new EmployeeNewOldVO();
newOld.setNewEmployee(saveEmp);
......@@ -3804,6 +3815,26 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
}
saveContact.add(contact);
}
// 1.9.6 存不良记录
if (Common.isNotNull(excel.getBadRecordFlag())
&& (CommonConstants.ONE_STRING.equals(excel.getBadRecordFlag())
|| CommonConstants.ZERO_STRING.equals(excel.getBadRecordFlag()))) {
badRecord = new TEmpBadRecord();
badRecord.setEmpIdcard(saveEmp.getEmpIdcard());
badRecord.setCreateBy(user.getId());
badRecord.setCreateName(user.getNickname());
badRecord.setCreateTime(LocalDateTime.now());
if(CommonConstants.ONE_STRING.equals(excel.getBadRecordFlag())){
badRecord.setRemark("未曾经或正在追究与承担过刑事责任");
badRecord.setBadRecordFlag(CommonConstants.ONE_STRING);
} else {
badRecord.setRemark("曾经或正在追究与承担过刑事责任");
badRecord.setBadRecordFlag(CommonConstants.ZERO_STRING);
badRecord.setProject(dept.getDepartName());
badRecord.setProjectCode(dept.getDepartNo());
}
empBadRecordList.add(badRecord);
}
}
}
......@@ -3817,6 +3848,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
// 更新学历-房
this.saveOrUpdateEducation(saveList);
// 1.9.6 加不良记录
this.saveBadRecord(empBadRecordList);
// 记录变更日志
for (EmployeeNewOldVO newOldInfo : updateList) {
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0]
......@@ -3896,4 +3930,10 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
return contactMap;
}
// 1.9.6:加不良记录
private void saveBadRecord(List<TEmpBadRecord> empBadRecordList) {
if (empBadRecordList.size()>0) {
tEmpBadRecordService.saveBatch(empBadRecordList);
}
}
}
......@@ -27,6 +27,7 @@ import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -1467,7 +1468,35 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
tPreEmpBadRecord.setCreateBy(user.getId());
tPreEmpBadRecord.setCreateName(user.getNickname());
tPreEmpBadRecord.setCreateTime(LocalDateTime.now());
tPreEmpBadRecordService.saveOrUpdate(tPreEmpBadRecord);
// todo 1.9.6 -chenyuxi:先根据备注文字判断
if(Common.isNotNull(tPreEmpBadRecord.getRemark())){
if(tPreEmpBadRecord.getRemark().contains("未曾经")){
tPreEmpBadRecord.setBadRecordFlag(CommonConstants.ONE_STRING);
} else {
tPreEmpBadRecord.setBadRecordFlag(CommonConstants.ZERO_STRING);
}
}
// 1.9.6 -chenyuxi: 新增和编辑分开,允许存null值
// 新增不良记录
if(Common.isEmpty(tPreEmpBadRecord.getId())){
tPreEmpBadRecordService.saveOrUpdate(tPreEmpBadRecord);
} else {
// 编辑不良记录
LambdaUpdateWrapper<TPreEmpBadRecord> updateDiyInfoWrapper = new LambdaUpdateWrapper<>();
updateDiyInfoWrapper.eq(TPreEmpBadRecord::getId, tPreEmpBadRecord.getId())
.set(TPreEmpBadRecord::getBadRecordFlag, tPreEmpBadRecord.getBadRecordFlag())
.set(TPreEmpBadRecord::getRemark, tPreEmpBadRecord.getRemark())
.set(TPreEmpBadRecord::getHappenTime, null)
.set(TPreEmpBadRecord::getLoseFee, null)
.set(TPreEmpBadRecord::getLoseFeeOther, null)
.set(TPreEmpBadRecord::getProject, null)
.set(TPreEmpBadRecord::getProjectCode, null)
.set(TPreEmpBadRecord::getUpdateBy, user.getId())
.set(TPreEmpBadRecord::getUpdateTime, LocalDateTime.now());
tPreEmpBadRecordService.update(null, updateDiyInfoWrapper);
}
}
// 预入职-紧急联络人
TPreEmpContactInfo tPreEmpContactInfo = vo.getTpreEmpContactInfo();
......@@ -1567,7 +1596,7 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
}
// 预入职-员工职业资格信息表
List<TPreEmpProfessionalQualification> tPreEmpProfessionalQualification = vo.getTpreEmpProfessionalQualificationList();
if (tPreEmpProfessionalQualification != null) {
if (tPreEmpProfessionalQualification != null && tPreEmpProfessionalQualification.size()>0) {
// 先删除后增加
tPreEmpProfessionalService.deleteProfessionalByMainId(mainId);
for (TPreEmpProfessionalQualification info : tPreEmpProfessionalQualification) {
......@@ -1576,6 +1605,8 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
info.setCreateBy(user.getId());
info.setCreateName(user.getNickname());
info.setCreateTime(LocalDateTime.now());
// 1.9.6 -chenyuxi:增加标识
info.setHaveQualification(CommonConstants.ZERO_STRING);
tPreEmpProfessionalService.saveOrUpdate(info);
// 附件
if (info.getAttaList() != null && !info.getAttaList().isEmpty()) {
......@@ -3858,20 +3889,22 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
tPreEmpBadRecord = new TPreEmpBadRecord();
tPreEmpBadRecord.setOldId(oldBadRecordMap.get(empIdCard));
tPreEmpBadRecord.setPreMainId(mainId);
tPreEmpBadRecord.setSettleDomain(deptId);
tPreEmpBadRecord.setProject(dept.getDepartName());
tPreEmpBadRecord.setProjectCode(dept.getDepartNo());
tPreEmpBadRecord.setEmpIdcard(empIdCard);
tPreEmpBadRecord.setCreateBy(user.getId());
tPreEmpBadRecord.setCreateName(user.getNickname());
tPreEmpBadRecord.setCreateTime(LocalDateTime.now());
if ("是".equals(info.getRemark())) {
// 有不良记录,存项目信息
tPreEmpBadRecord.setSettleDomain(deptId);
tPreEmpBadRecord.setProject(dept.getDepartName());
tPreEmpBadRecord.setProjectCode(dept.getDepartNo());
tPreEmpBadRecord.setRemark("曾经或正在追究与承担过刑事责任");
// mvp1.7.6-chenyuxi: 记录不良记录标识
// 1.9.6-chenyuxi: 记录不良记录标识
tPreEmpBadRecord.setBadRecordFlag(CommonConstants.ZERO_STRING);
} else {
tPreEmpBadRecord.setRemark("未曾经或正在追究与承担过刑事责任");
// mvp1.7.6-chenyuxi: 记录不良记录标识
// 1.9.6-chenyuxi: 记录不良记录标识
tPreEmpBadRecord.setBadRecordFlag(CommonConstants.ONE_STRING);
}
preEmpBadRecordList.add(tPreEmpBadRecord);
......@@ -4008,7 +4041,7 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
// 是否有职业资格证书 申报年度 职业资格名称
tPreEmpProfessionalQualification.setDeclareYear(info.getDeclareYearValue());
tPreEmpProfessionalQualification.setQualificationType(info.getQualificationTypeValue());
// mvp1.7.6-chenyuxi:增加标识
// 1.9.6-chenyuxi:增加标识
tPreEmpProfessionalQualification.setHaveQualification(CommonConstants.ZERO_STRING);
preEmpProfessionalQualificationList.add(tPreEmpProfessionalQualification);
}
......
......@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.common.mybatis.base;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
......@@ -50,6 +51,7 @@ public class BaseEntity implements Serializable {
@TableField(fill = FieldFill.INSERT)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("创建时间")
@ColumnWidth(18)
private LocalDateTime createTime;
/**
......
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