Commit 8af2d16f authored by chenyuxi's avatar chenyuxi

feat: 不良记录+职业资格

parent 2a358eef
......@@ -157,10 +157,9 @@ public class TEmpBadRecord extends BaseEntity {
/**
* 是否曾经或正在追究与承担过刑事责任 0 是 1 否
*/
@ExcelAttribute(name = "是否曾经或正在追究与承担过刑事责任" , isNotEmpty = false,needExport = false, errorInfo = "是否曾经或正在追究与承担过刑事责任不可为空",readConverterExp = "0=是,1=否")
@ExcelAttribute(name = "是否有不良记录" , isNotEmpty = true, errorInfo = "是否有不良记录不可为空",readConverterExp = "0=是,1=否")
@Schema(description ="是否曾经或正在追究与承担过刑事责任 0 是 1 否 ")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否曾经或正在追究与承担过刑事责任")
@ExcelIgnore
private BigDecimal badRecordFlag;
@ExcelProperty("是否有不良记录")
private String badRecordFlag;
}
......@@ -127,6 +127,13 @@ public class TEmpProfessionalQualification extends BaseEntity {
@Schema(description ="备注")
private String remark;
/**
* @author chenyuxi
* @since mvp1.7.5
**/
@Schema(description = "是否有职业资格证书0是/1否")
private String haveQualification;
/**
* @Author fxj
* @Description 附件ID
......
......@@ -147,4 +147,11 @@ public class TPreEmpBadRecord extends BaseEntity {
@Schema(description = "结算主体ID")
private String settleDomain;
/**
* @author chenyuxi
* @since mvp1.7.5
**/
@Schema(description = "是否曾经或正在追究与承担过刑事责任 0 是 1 否")
private String badRecordFlag;
}
......@@ -188,6 +188,13 @@ public class TPreEmpProfessionalQualification extends BaseEntity {
@Schema(description = "备注")
private String remark;
/**
* @author chenyuxi
* @since mvp1.7.5
**/
@Schema(description = "是否有职业资格证书0是/1否")
private String haveQualification;
/**
* @Description: 执业资格证书
* @Author: hgw
......
......@@ -23,7 +23,7 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名" ,maxLength = 20)
@ExcelAttribute(name = "员工姓名" ,maxLength = 20, isNotEmpty = true)
@Schema(description ="员工姓名")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("员工姓名")
......@@ -48,7 +48,7 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
/**
* 项目编码
*/
@ExcelAttribute(name = "产生项目编码" ,maxLength = 50, isNotEmpty = true)
@ExcelAttribute(name = "产生项目编码" ,maxLength = 50)
@Schema(description ="产生项目编码")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("产生项目编码")
......@@ -57,7 +57,7 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
/**
* 发生时间
*/
@ExcelAttribute(name = "发生时间" , isNotEmpty = false)
@ExcelAttribute(name = "发生时间")
@Schema(description ="发生时间")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("发生时间")
......@@ -93,10 +93,10 @@ public class EmpBadRecordVo extends RowIndex implements Serializable {
/**
* 是否曾经或正在追究与承担过刑事责任 0 是 1 否
*/
@ExcelAttribute(name = "是否曾经或正在追究与承担过刑事责任" , isNotEmpty = false, errorInfo = "是否曾经或正在追究与承担过刑事责任不可为空",readConverterExp = "0=是,1=否")
@ExcelAttribute(name = "是否有不良记录" , isNotEmpty = true,readConverterExp = "0=是,1=否")
@Schema(description ="是否曾经或正在追究与承担过刑事责任 0 是 1 否 ")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否曾经或正在追究与承担过刑事责任")
private BigDecimal badRecordFlag;
@ExcelProperty("是否有不良记录")
private String badRecordFlag;
}
......@@ -42,8 +42,7 @@ public class EmpCertificateExcelVO extends RowIndex implements Serializable {
/**
* 资格类型
*/
@ExcelAttribute(name = "职业资格名称",isNotEmpty = true,errorInfo = "职业资格名称不可为空",isDataId = true, dataType = ExcelAttributeConstants.QUALIFICATION_TYPE)
@NotNull(message = "职业资格名称不可为空")
@ExcelAttribute(name = "职业资格名称",isDataId = true, dataType = ExcelAttributeConstants.QUALIFICATION_TYPE)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value ="职业资格名称")
private String qualificationType;
......@@ -51,8 +50,7 @@ public class EmpCertificateExcelVO extends RowIndex implements Serializable {
/**
* 资格等级
*/
@ExcelAttribute(name = "资格等级",isNotEmpty = false,errorInfo = "资格等级不可为空",isDataId = true, dataType = ExcelAttributeConstants.QUALIFICATION_LEVEL)
@NotNull(message = "资格等级不可为空")
@ExcelAttribute(name = "资格等级",isDataId = true, dataType = ExcelAttributeConstants.QUALIFICATION_LEVEL)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value ="资格等级")
private String qualificationLevel;
......@@ -84,7 +82,7 @@ public class EmpCertificateExcelVO extends RowIndex implements Serializable {
/**
* 申报年度
*/
@ExcelAttribute(name = "申报年度",isInteger = true,isNotEmpty = true,errorInfo = "申报年度不可为空")
@ExcelAttribute(name = "申报年度",isInteger = true)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value ="申报年度")
private String declareYear;
......@@ -92,8 +90,7 @@ public class EmpCertificateExcelVO extends RowIndex implements Serializable {
/**
* 是否最高资格0是/1否
*/
@ExcelAttribute(name = "是否最高资格",isNotEmpty = false,errorInfo = "是否最高资格不可为空",readConverterExp = "0=是,1=否")
@NotNull(message = "是否最高资格不可为空")
@ExcelAttribute(name = "是否最高资格",readConverterExp = "0=是,1=否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value ="是否最高资格")
private String heightIdentification;
......@@ -105,4 +102,14 @@ public class EmpCertificateExcelVO extends RowIndex implements Serializable {
@ExcelProperty(value ="备注")
private String remark;
/**
* 是否有职业资格证书0是/1否
* @author chenyuxi
* @since mvp1.7.5
**/
@ExcelAttribute(name = "是否有职业资格证书",isNotEmpty = true,errorInfo = "是否有职业资格证书不可为空",readConverterExp = "0=是,1=否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value ="是否有职业资格证书")
private String haveQualification;
}
......@@ -112,7 +112,7 @@ public class TEmpBadRecordController {
@PutMapping
@PreAuthorize("@pms.hasPermission('demo_tempbadrecord_edit')" )
public R<Boolean> updateById(@Valid @RequestBody TEmpBadRecord tEmpBadRecord) {
return R.ok(tEmpBadRecordService.updateById(tEmpBadRecord));
return tEmpBadRecordService.updateDiy(tEmpBadRecord);
}
/**
......
......@@ -58,4 +58,12 @@ public interface TEmpBadRecordService extends IService<TEmpBadRecord> {
List<TEmpBadRecord> getBadByIdCard(List<String> idList);
/**
* 编辑不良记录
*
* @author chenyuxi
* @since mvp1.7.5
*/
R<Boolean> updateDiy(TEmpBadRecord tEmpBadRecord);
}
......@@ -26,6 +26,7 @@ import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
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;
......@@ -53,6 +54,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
......@@ -164,17 +166,21 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
continue;
}
excel.setEmpName(emp.getEmpName());
exist = projectMapper.selectOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getDeptNo,excel.getProjectCode())
.eq(TEmployeeProject::getProjectStatus,CommonConstants.ZERO_STRING)
.eq(TEmployeeProject::getEmpIdcard,excel.getEmpIdcard())
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isEmpty(exist)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_EMP_NOT_EXIST)));
continue;
// mvp1.7.6-chenyuxi:有不良记录,再获取项目信息
if(CommonConstants.ZERO_STRING.equals(excel.getBadRecordFlag())){
exist = projectMapper.selectOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getDeptNo,excel.getProjectCode())
.eq(TEmployeeProject::getProjectStatus,CommonConstants.ZERO_STRING)
.eq(TEmployeeProject::getEmpIdcard,excel.getEmpIdcard())
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isEmpty(exist)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_EMP_NOT_EXIST)));
continue;
}
excel.setProjectCode(exist.getDeptNo());
excel.setProject(exist.getDeptName());
}
excel.setProjectCode(exist.getDeptNo());
excel.setProject(exist.getDeptName());
// 数据合法情况
insertExcel(excel,emp);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(),CommonConstants.SAVE_SUCCESS));
......@@ -199,6 +205,15 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
insert.setEmpId(emp.getId());
insert.setEmpId(emp.getId());
insert.setSettleDomain(emp.getDeptId());
// mvp1.7.6-chenyuxi:无不良记录,置空部分信息
if(CommonConstants.ONE_STRING.equals(excel.getBadRecordFlag())) {
insert.setProjectCode(null);
insert.setProject(null);
insert.setHappenTime(null);
insert.setLoseFee(null);
insert.setLoseFeeOther(null);
}
this.save(insert);
}
......@@ -323,4 +338,24 @@ public class TEmpBadRecordServiceImpl extends ServiceImpl<TEmpBadRecordMapper, T
public List<TEmpBadRecord> getBadByIdCard(List<String> idList) {
return baseMapper.getBadByIdCard(idList);
}
@Override
public R<Boolean> updateDiy(TEmpBadRecord tEmpBadRecord) {
if(CommonConstants.ONE_STRING.equals(tEmpBadRecord.getBadRecordFlag())){
LambdaUpdateWrapper<TEmpBadRecord> updateDiyInfoWrapper = new LambdaUpdateWrapper<>();
updateDiyInfoWrapper.eq(TEmpBadRecord::getId, tEmpBadRecord.getId())
.set(TEmpBadRecord::getBadRecordFlag, tEmpBadRecord.getBadRecordFlag())
.set(TEmpBadRecord::getRemark, tEmpBadRecord.getRemark())
.set(TEmpBadRecord::getHappenTime, null)
.set(TEmpBadRecord::getLoseFee, null)
.set(TEmpBadRecord::getLoseFeeOther, null)
.set(TEmpBadRecord::getProject, null)
.set(TEmpBadRecord::getProjectCode, null)
.set(TEmpBadRecord::getUpdateTime, LocalDateTime.now());
this.update(null, updateDiyInfoWrapper);
return R.ok(true);
}
return R.ok(this.updateById(tEmpBadRecord));
}
}
......@@ -24,10 +24,12 @@ import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpBadRecord;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpProfessionalQualification;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAttaInfoMapper;
......@@ -45,6 +47,7 @@ import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -151,6 +154,19 @@ public class TEmpProfessionalQualificationServiceImpl extends ServiceImpl<TEmpPr
insert.setEmpCode(emp.getEmpCode());
insert.setEmpId(emp.getId());
insert.setSettleDomain(emp.getDeptId());
// mvp1.7.6-chenyuxi:无职业资格,置空部分信息
if(CommonConstants.ONE_STRING.equals(excel.getHaveQualification())) {
insert.setDeclareYear(null);
insert.setAssessmentUnit(null);
insert.setCertificationNo(null);
insert.setObtainType(null);
insert.setQualificationLevel(null);
insert.setQualificationType(null);
insert.setHeightIdentification(null);
insert.setRemark(null);
}
this.save(insert);
}
private ErrorMessage checkRes(List<TEmpProfessionalQualification> list, TEmployeeInfo emp, EmpCertificateExcelVO excel) {
......@@ -261,6 +277,25 @@ public class TEmpProfessionalQualificationServiceImpl extends ServiceImpl<TEmpPr
if (Common.isNotNull(exist)){
return R.failed(MsgUtils.getMessage(ErrorCodes.ARCHIVES_EMP_CERTIFICATE_NAME_EXISTING));
}
if(CommonConstants.ONE_STRING.equals(qualification.getHaveQualification())){
LambdaUpdateWrapper<TEmpProfessionalQualification> updateDiyInfoWrapper = new LambdaUpdateWrapper<>();
updateDiyInfoWrapper.eq(TEmpProfessionalQualification::getId, qualification.getId())
.set(TEmpProfessionalQualification::getHaveQualification, qualification.getHaveQualification())
.set(TEmpProfessionalQualification::getRemark, null)
.set(TEmpProfessionalQualification::getQualificationType, null)
.set(TEmpProfessionalQualification::getQualificationLevel, null)
.set(TEmpProfessionalQualification::getCertificationNo, null)
.set(TEmpProfessionalQualification::getObtainType, null)
.set(TEmpProfessionalQualification::getAssessmentUnit, null)
.set(TEmpProfessionalQualification::getDeclareYear, null)
.set(TEmpProfessionalQualification::getHeightIdentification, null)
.set(TEmpProfessionalQualification::getUpdateTime, LocalDateTime.now());
this.update(null, updateDiyInfoWrapper);
return R.ok(true);
}
int res = baseMapper.updateById(qualification);
if (res < 0){
return R.failed();
......
......@@ -3867,8 +3867,12 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
tPreEmpBadRecord.setCreateTime(LocalDateTime.now());
if ("是".equals(info.getRemark())) {
tPreEmpBadRecord.setRemark("曾经或正在追究与承担过刑事责任");
// mvp1.7.6-chenyuxi: 记录不良记录标识
tPreEmpBadRecord.setBadRecordFlag(CommonConstants.ZERO_STRING);
} else {
tPreEmpBadRecord.setRemark("未曾经或正在追究与承担过刑事责任");
// mvp1.7.6-chenyuxi: 记录不良记录标识
tPreEmpBadRecord.setBadRecordFlag(CommonConstants.ONE_STRING);
}
preEmpBadRecordList.add(tPreEmpBadRecord);
......@@ -3986,9 +3990,8 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
}
// 职业资格信息——职业资格证书
if (Common.isNotNull(info.getHaveQualification())
&& CommonConstants.IS_TRUE.equals(main.getHaveQualification())
&& CommonConstants.IS_TRUE.equals(info.getHaveQualification())) {
// mvp1.7.6-chenyuxi: 是否有职业资格证书都存
if (Common.isNotNull(info.getHaveQualification())) {
tPreEmpProfessionalQualification = new TPreEmpProfessionalQualification();
tPreEmpProfessionalQualification.setPreMainId(mainId);
tPreEmpProfessionalQualification.setSettleDomain(deptId);
......@@ -4001,9 +4004,18 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
tPreEmpProfessionalQualification.setCreateBy(user.getId());
tPreEmpProfessionalQualification.setCreateName(user.getNickname());
tPreEmpProfessionalQualification.setCreateTime(LocalDateTime.now());
// 是否有职业资格证书 申报年度 职业资格名称
tPreEmpProfessionalQualification.setDeclareYear(info.getDeclareYearValue());
tPreEmpProfessionalQualification.setQualificationType(info.getQualificationTypeValue());
// mvp1.7.6-chenyuxi:
// 先默认没有职业资格证书
tPreEmpProfessionalQualification.setHaveQualification(CommonConstants.ONE_STRING);
if (CommonConstants.IS_TRUE.equals(main.getHaveQualification())
&& CommonConstants.IS_TRUE.equals(info.getHaveQualification())) {
// 有职业资格证书 申报年度 职业资格名称
tPreEmpProfessionalQualification.setDeclareYear(info.getDeclareYearValue());
tPreEmpProfessionalQualification.setQualificationType(info.getQualificationTypeValue());
tPreEmpProfessionalQualification.setHaveQualification(CommonConstants.ZERO_STRING);
}
preEmpProfessionalQualificationList.add(tPreEmpProfessionalQualification);
}
}
......
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