Commit 1f5ab53a authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/develop' into develop

parents 6259bb3f c47b82f0
......@@ -263,7 +263,7 @@ public class EmployeeProjectExportVO{
* 合同类型(字典值)
*/
@ExcelProperty(value ="合同类型")
@ExcelAttribute(name = "合同类型", isDataId = true,dataType = ExcelAttributeConstants.EMPLOYEE_CONTRACT_TYPE)
@ExcelAttribute(name = "合同类型", isDataId = true,dataType = ExcelAttributeConstants.PERSONNEL_TYPE)
private String contractType;
/**
......@@ -335,18 +335,21 @@ public class EmployeeProjectExportVO{
* 业务类型一级分类
*/
@ExcelProperty(value ="业务类型一级分类")
@ExcelAttribute(name = "业务类型一级分类", isDataId = true,dataType = ExcelAttributeConstants.CUSTOMER_BUSSINESS_PARENT)
private String businessPrimaryType;
/**
* 业务类型二级分类
*/
@ExcelProperty(value ="业务类型二级分类")
@ExcelAttribute(name = "业务类型二级分类", isDataId = true,dataType = ExcelAttributeConstants.CUSTOMER_BUSSINESS_TYPE)
private String businessSecondType;
/**
* 业务类型三级分类
*/
@ExcelProperty(value ="业务类型三级分类")
@ExcelAttribute(name = "业务类型三级分类", isDataId = true,dataType = ExcelAttributeConstants.CUSTOMER_BUSSINESS_SUB_TYPE)
private String businessThirdType;
/**
......@@ -381,7 +384,7 @@ public class EmployeeProjectExportVO{
* 项目档案来源(字典:4人员档案新建、5项目档案新建、1社保/公积金、3商险、2薪酬)
*/
@ExcelProperty(value ="项目档案来源")
@ExcelAttribute(name = "项目档案来源", readConverterExp = "1=社保/公积金,2=薪酬,3=商险,4=人员档案新建,5=项目档案新建")
@ExcelAttribute(name = "项目档案来源", isDataId = true,dataType = ExcelAttributeConstants.PROJECT_EMP_SOURCE)
private String projectSource;
/**
......@@ -404,5 +407,26 @@ public class EmployeeProjectExportVO{
@DateTimeFormat("yyyy-MM-dd")
private LocalDateTime createTime;
/**
* 社保-省
*/
@ExcelAttribute(name ="社保所在省")
@ExcelProperty(value ="社保所在省")
private String socialProvince;
/**
* 社保-市
*/
@ExcelAttribute(name ="社保所在市")
@ExcelProperty(value ="社保所在市")
private String socialCity;
/**
* 社保-县
*/
@ExcelAttribute(name ="社保所在县")
@ExcelProperty(value ="社保所在县")
private String socialTown;
private List<String> idList;
}
......@@ -65,7 +65,7 @@ public class EmployeeXProjectVO extends RowIndex implements Serializable {
*/
@ExcelProperty(value ="减项原因")
@NotNull(message = "减项原因不能为空")
@ExcelAttribute(name = "减项原因",isNotEmpty = true, errorInfo = "减项原因不能为空",maxLength = 100)
@ExcelAttribute(name = "减项原因",isNotEmpty = true, errorInfo = "减项原因不能为空",maxLength = 100,isDataId = true,dataType = "reduce_project_reason")
private String leaveReason;
/**
......
......@@ -30,6 +30,8 @@ public class EmployeeConstants {
public static final String FILE_CITY_MUST = "更新档案县,档案市必填";
public static final String DEPT_NO_ERROR = "项目编码错误";
public static final String DEPT_NO_EXIST = "根据项目编码未找到项目";
public static final String CHECK_ERROR = "校验服务错误,请联系管理员!";
public static final String CHECK_NO_RESPONSE = "校验服务器未返回,请联系管理员!";
/**
* 无数据可更新
......
......@@ -19,13 +19,10 @@ 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.pig4cloud.plugin.excel.annotation.RequestExcel;
import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDataAuth;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeLeaveVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorMessageVO;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
......@@ -46,13 +43,11 @@ import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.cache.support.SimpleValueWrapper;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.InputStream;
import java.util.List;
......
......@@ -181,17 +181,17 @@ public class TEmployeeProjectController {
/**
* 减项
* @param excelVOList
* @param bindingResult
* @param file
* @Author huyc
* @Date 2022-06-20
*/
@SneakyThrows
@Operation(summary = "批量减项", description = "批量减项")
@SysLog("批量减项" )
@PostMapping("/batchDeleteEmpPro")
@PreAuthorize("@pms.hasPermission('archives_temployeeproject_batchdelempproinfo')" )
public R<List<ErrorMessage>> batchDeleteEmpPro(@RequestExcel List<EmployeeXProjectVO> excelVOList, BindingResult bindingResult) {
return tEmployeeProjectService.batchDeleteEmpPro(excelVOList,bindingResult);
public R<List<ErrorMessage>> batchDeleteEmpPro(@RequestBody MultipartFile file) {
return tEmployeeProjectService.batchDeleteEmpPro(file.getInputStream());
}
/**
......
......@@ -103,7 +103,7 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
* @Date: 2022/6/21 10:30
* @return: R
**/
R<List<ErrorMessage>> batchDeleteEmpPro(List<EmployeeXProjectVO> list, BindingResult bindingResult);
R<List<ErrorMessage>> batchDeleteEmpPro(InputStream inputStream);
/**
* @param inputStream
......
......@@ -45,10 +45,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.*;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
......@@ -158,7 +155,7 @@ public class TElecEmployeeInfoServiceImpl extends ServiceImpl<TElecEmployeeInfoM
}else {
dictMap = dictR.getData();
elecTypeMapData = dictMap.get("data");
elecTypeMap = elecTypeMapData.get("elec_archives_type");
elecTypeMap = elecTypeMapData.get("literature_types");
}
// 判断源文件是否存在
if (!srcFile.exists()) {
......@@ -170,6 +167,8 @@ public class TElecEmployeeInfoServiceImpl extends ServiceImpl<TElecEmployeeInfoM
zipFile = new ZipFile(srcFile, CharsetUtil.CHARSET_GBK);
Enumeration<?> entries = zipFile.entries();
Map<String,String> insMap = new HashMap<>();
Map<String,String> map = new HashMap<>();
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
//添加进filesName
......@@ -197,6 +196,8 @@ public class TElecEmployeeInfoServiceImpl extends ServiceImpl<TElecEmployeeInfoM
fos.write(buf, 0, len);
}
TElecEmployeeInfo tElecEmployeeInfo = new TElecEmployeeInfo();
List<String> list = new ArrayList<>();
if (empInfo.length() > empInfo.lastIndexOf("/") + 1) {
String idCard = empInfo.substring(0,empInfo.indexOf("/"));
String dataType = empInfo.substring(empInfo.indexOf("/") +1,empInfo.lastIndexOf("/"));
......@@ -209,26 +210,32 @@ public class TElecEmployeeInfoServiceImpl extends ServiceImpl<TElecEmployeeInfoM
}else {
return R.failed("未找到身份证对应的档案信息,身份证号:" + idCard);
}
TElecEmployeeInfo tElecEmployeeInfo = new TElecEmployeeInfo();
tElecEmployeeInfo.setEmpIdcard(idCard);
tElecEmployeeInfo.setEmpName(empName);
if (Common.isNotNull(elecTypeMap)) {
if (Common.isNotNull(elecTypeMap.get(dataType))) {
tElecEmployeeInfo.setDataType(elecTypeMap.get(dataType));
} else {
return R.failed("资料类型错误:" + dataType);
}
}
String id = insMap.get(idCard + CommonConstants.DOWN_LINE_STRING + dataType);
//if (!elecTypeMap.get(dataType).equals(insMap.get(idCard))) {
if (Common.isEmpty(id)) {
this.save(tElecEmployeeInfo);
//文件上传并保存附件信息
R<FileVo> fileVo =fileUploadService.uploadImg(fileCovertMultipartFile(targetFile),"", CommonConstants.EIGHT_INT,"");
String id = fileVo.getData().getUid();
attaInfoMapper.updateDomainId(tElecEmployeeInfo.getId(), Arrays.asList(id));
insMap.put(idCard + CommonConstants.DOWN_LINE_STRING + dataType, tElecEmployeeInfo.getId());
}
//解析完成删除本次解析中生成的文件 删除此目录下的所有文件
deleteFolder(destDirPath);
fileUploadService.uploadImg(fileCovertMultipartFile(targetFile),"", CommonConstants.EIGHT_INT,insMap.get(idCard + CommonConstants.DOWN_LINE_STRING + dataType));
}
// 关流顺序,先打开的后关闭
fos.close();
is.close();
}
}
//解析完成删除本次解析中生成的文件 删除此目录下的所有文件
deleteFolder(destDirPath);
} catch (Exception e) {
throw new RuntimeException("unzip error from ZipUtils", e);
} finally {
......
......@@ -561,7 +561,9 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
if (!cachedDataList.isEmpty()) {
updateContract(cachedDataList, errorMessageList);
}
log.info("存储数据库成功!");
}
}).sheet().doRead();
......@@ -663,7 +665,9 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
if (!cachedDataList.isEmpty()) {
importContract(cachedDataList, errorMessageList);
}
log.info("存储数据库成功!");
}
}).sheet().doRead();
......
......@@ -56,7 +56,6 @@ import org.springframework.cache.CacheManager;
import org.springframework.cache.support.SimpleValueWrapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
......@@ -122,12 +121,12 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
if (checkListR != null && checkListR.getData() != null) {
TCheckIdCard check = checkListR.getData();
if (check == null || Common.isEmpty(check.getIsTrue())) {
return R.failed("校验服务器未返回,请联系管理员!!");
return R.failed(EmployeeConstants.CHECK_NO_RESPONSE);
} else if (check.getIsTrue() == CommonConstants.ZERO_INT) {
return R.failed(check.getReason());
}
} else {
return R.failed("校验服务器未返回,请联系管理员!");
return R.failed(EmployeeConstants.CHECK_NO_RESPONSE);
}
return R.ok();
}
......@@ -306,6 +305,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
return R.failed("该人员已不在离职档案中!");
}
TEmployeeInfo old = this.getById(id);
int projectNum = 0;
if (Common.isNotNull(projectIds)) {
String[] idArr = projectIds.split(",");
// 获取项目档案,传参1,不过滤项目状态
......@@ -320,6 +320,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
project.setLeaveTime(null);
project.setProjectStatus(CommonConstants.ZERO_INT);
tEmployeeProjectService.updateById(project);
projectNum++ ;
}
}
}
......@@ -331,6 +332,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
employee.setLeaveUser("");
employee.setLeaveUserName("");
employee.setLeaveTime(null);
employee.setProjectNum(projectNum);
this.updateById(employee);
// 记录变更日志
......@@ -393,7 +395,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
if (!cachedDataList.isEmpty()) {
batchMinusEmployeeCore(cachedDataList, errorMessageList);
}
log.info("存储数据库成功!");
}
}).sheet().doRead();
......@@ -535,9 +539,10 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
// 记录变更日志
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], canDeleteList.get(i).getId(), "", deleteOldList.get(i), canDeleteList.get(i));
}
}
errorMessageList.clear();
return R.ok();
}
}
@Override
public R<String> minusEmployee(String id, String leaveReason, String leaveRemark) {
......@@ -843,7 +848,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
if (!cachedDataList.isEmpty()) {
batchImportCore(cachedDataList, isCanAdd, errorMessageList);
}
log.info("存储数据库成功!");
}
}).sheet().doRead();
......@@ -1069,7 +1076,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
// 手机号已存在
if (existEmp != null) {
// 非自己使用的
if (!existEmp.getEmpIdcard().equals(excel.getEmpPhone())) {
if (!existEmp.getEmpIdcard().equals(excel.getEmpIdcard())) {
errorMsg.add(MsgUtils.getMessage(ErrorCodes.ARCHIVES_IMPORT_EMP_PHONE_EXIST_ERROR, existEmp.getEmpIdcard()));
}
} else {
......@@ -1434,7 +1441,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
if (!cachedDataList.isEmpty()) {
batchUpdateCore(cachedDataList, errorMessageList);
}
log.info("存储数据库成功!");
}
}).sheet().doRead();
......@@ -1466,20 +1475,13 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
}
// 通用校验获取失败的数据
Map<Long, ErrorMessage> errorMsgMap = new HashMap<>();
if (Common.isNotNull(errorMessageList)) {
errorMessageList.stream().forEach(errorMessage -> errorMsgMap.put(errorMessage.getLineNum(), errorMessage));
}
// 获取身份证、手机号列表,批量查询档案
List<String> idCardList = new ArrayList<>();
List<String> phoneList = new ArrayList<>();
EmployeeVO employeeVO;
long lineNum;
for (int i = 0; i < excelVOList.size(); i++) {
lineNum = i + 2L;
employeeVO = excelVOList.get(i);
// 判断空值
this.judgeNull(errorMsgMap, employeeVO, lineNum);
// 判空
if (Common.isEmpty(excelVOList.get(i).getEmpIdcard())) {
errorMsgMap.put(lineNum, new ErrorMessage("员工身份证必填"));
......@@ -1493,6 +1495,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
errorMsgMap.put(lineNum, new ErrorMessage("员工姓名必填"));
}
}
if (Common.isNotNull(errorMessageList)) {
errorMessageList.stream().forEach(errorMessage -> errorMsgMap.put(errorMessage.getLineNum(), errorMessage));
}
// 查找档案库
Map<String, TEmployeeInfo> existEmpMap = new HashMap<>();
Map<String, TEmployeeInfo> existPhoneMap = new HashMap<>();
......@@ -1582,7 +1587,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
// 手机号已存在
if (existEmp != null) {
// 非自己使用的
if (!existEmp.getEmpIdcard().equals(excel.getEmpPhone())) {
if (!existEmp.getEmpIdcard().equals(excel.getEmpIdcard())) {
errorMsg.add(MsgUtils.getMessage(ErrorCodes.ARCHIVES_IMPORT_EMP_PHONE_EXIST_ERROR, existEmp.getEmpIdcard()));
}
} else {
......@@ -1598,8 +1603,10 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
errorMsg.add(checkMobile.getMessage());
}
} else {
errorMsg.add("校验服务错误,请联系管理员!");
errorMsg.add(EmployeeConstants.CHECK_ERROR);
}
} else {
errorMsg.add(EmployeeConstants.CHECK_ERROR);
}
}
}
......@@ -1653,7 +1660,6 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
}
}
// 户籍所在地
// 户籍所在地
if (Common.isNotNull(excel.getIdProvince())) {
areaStr = ExcelUtil.getRedisAreaValue("area_" + excel.getIdProvince().trim());
if (Common.isEmpty(areaStr)) {
......@@ -1716,8 +1722,12 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
}
}
if (Common.isNotNull(excel.getValidityStart())) {
saveEmp.setValidityStart(excel.getValidityStart());
}
if (Common.isNotNull(excel.getValidityEnd())) {
saveEmp.setValidityEnd(excel.getValidityEnd());
}
// 邮箱
if (Common.isNotNull(excel.getEmpEmail())) {
if (excel.getEmpEmail().contains("@")) {
......@@ -1779,6 +1789,9 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
saveEmp.setDeptNo(excel.getDeptNo());
}
}
// 判断空值
this.judgeNull(errorMsg, saveEmp);
// 更新时,不需要更新其余信息
newOld = new EmployeeNewOldVO();
newOld.setNewEmployee(saveEmp);
......@@ -1825,63 +1838,64 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
* @Date: 2022/7/6 15:10
* @return: void
**/
private void judgeNull(Map<Long, ErrorMessage> errorMsgMap, EmployeeVO employeeInfo, long lineNum) {
private void judgeNull(Set<String> errorMsg, TEmployeeInfo employeeInfo) {
if (Common.isNotNull(employeeInfo.getEmpNatrue())
&& (EmployeeConstants.EMP_NATRUE_ZERO.equals(employeeInfo.getEmpNatrue())
|| EmployeeConstants.EMP_NATRUE_ONE.equals(employeeInfo.getEmpNatrue()))) {
&& (CommonConstants.ZERO_STRING.equals(employeeInfo.getEmpNatrue())
|| CommonConstants.ONE_STRING.equals(employeeInfo.getEmpNatrue()))) {
// 2.员工类型为外包和派遣,额外必填项有:身份证开始日期、身份证截止日期、民族、户籍所在(省市县)、户口性质、档案所在地(省市县)、是否大专及以上、通信地址
if (Common.isEmpty(employeeInfo.getValidityStart())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.VALIDITY_START));
errorMsg.add(EmployeeConstants.VALIDITY_START);
}
if (Common.isEmpty(employeeInfo.getValidityEnd())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.VALIDITY_END));
errorMsg.add(EmployeeConstants.VALIDITY_END);
}
if (Common.isEmpty(employeeInfo.getEmpNational())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.EMP_NATIONAL));
errorMsg.add(EmployeeConstants.EMP_NATIONAL);
}
if (Common.isEmpty(employeeInfo.getIdProvince())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.ID_PROVINCE));
errorMsg.add(EmployeeConstants.ID_PROVINCE);
}
if (Common.isEmpty(employeeInfo.getEmpRegisType())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.EMP_REGIS_TYPE));
errorMsg.add(EmployeeConstants.EMP_REGIS_TYPE);
}
if (Common.isEmpty(employeeInfo.getFileProvince())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.FILE_PROVINCE));
errorMsg.add(EmployeeConstants.FILE_PROVINCE);
}
if (Common.isEmpty(employeeInfo.getContactAddress())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.CONTACT_ADDRESS));
errorMsg.add(EmployeeConstants.CONTACT_ADDRESS);
}
if (Common.isNotNull(employeeInfo.getIsCollege())
&& CommonConstants.IS_TRUE.equals(employeeInfo.getIsCollege())) {
if (Common.isEmpty(employeeInfo.getIsCollege())) {
errorMsg.add(EmployeeConstants.IS_COLLEGE);
} else if (CommonConstants.ONE_INT == employeeInfo.getIsCollege()) {
// 3.员工类型为外包和派遣,并且是否大专及以上为是,再增加必填项:最高学历、学校、专业、入学时间、毕业时间
if (Common.isEmpty(employeeInfo.getHignEducation())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.HIGN_EDUCATION));
errorMsg.add(EmployeeConstants.HIGN_EDUCATION);
}
if (Common.isEmpty(employeeInfo.getSchool())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.SCHOOL));
errorMsg.add(EmployeeConstants.SCHOOL);
}
if (Common.isEmpty(employeeInfo.getMajor())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.MAJOR));
errorMsg.add(EmployeeConstants.MAJOR);
}
if (Common.isEmpty(employeeInfo.getAdmissionDate())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.ADMISSION_DATE));
errorMsg.add(EmployeeConstants.ADMISSION_DATE);
}
if (Common.isEmpty(employeeInfo.getGradutionDate())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.GRADUTION_DATE));
errorMsg.add(EmployeeConstants.GRADUTION_DATE);
}
}
}
if (Common.isNotNull(employeeInfo.getIdCity()) && Common.isEmpty(employeeInfo.getIdProvince())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.ID_ROVINCE_MUST));
errorMsg.add(EmployeeConstants.ID_ROVINCE_MUST);
}
if (Common.isNotNull(employeeInfo.getIdTown()) && Common.isEmpty(employeeInfo.getIdCity())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.ID_CITY_MUST));
errorMsg.add(EmployeeConstants.ID_CITY_MUST);
}
if (Common.isNotNull(employeeInfo.getFileCity()) && Common.isEmpty(employeeInfo.getFileProvince())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.FILE_ROVINCE_MUST));
errorMsg.add(EmployeeConstants.FILE_ROVINCE_MUST);
}
if (Common.isNotNull(employeeInfo.getFileTown()) && Common.isEmpty(employeeInfo.getFileCity())) {
errorMsgMap.put(lineNum, new ErrorMessage(EmployeeConstants.FILE_CITY_MUST));
errorMsg.add(EmployeeConstants.FILE_CITY_MUST);
}
}
......
......@@ -28,6 +28,8 @@ 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.check.entity.TCheckBankNo;
import com.yifu.cloud.plus.v1.yifu.archives.constants.EmployeeConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
......@@ -46,7 +48,6 @@ import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
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.dapr.config.DaprCheckProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
......@@ -56,7 +57,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
......@@ -76,7 +76,7 @@ import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@Log4j2
@EnableConfigurationProperties(DaprUpmsProperties.class)
@EnableConfigurationProperties(DaprCheckProperties.class)
public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMapper, TEmployeeProject> implements TEmployeeProjectService {
@Autowired
......@@ -96,13 +96,14 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
private DoJointTask doJointTask;
@Autowired
private DaprUpmsProperties daprUpmsProperties;
private DaprCheckProperties daprCheckProperties;
@Override
public R addCheck(TEmployeeProject tEmployeeProject) {
Map<String, Object> map = new HashMap<>();
//身份证系统中是否已有
TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getEmpIdcard, tEmployeeProject.getEmpIdcard())
......@@ -171,6 +172,23 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
if (Common.isNotNull(tEmployeeInfo)) {
TCheckBankNo check = new TCheckBankNo();
check.setBankNo(tEmployeeProject.getBankNo());
check.setIdNum(tEmployeeProject.getEmpIdcard());
check.setName(tEmployeeProject.getEmpName());
R<TCheckBankNo> checkListR = HttpDaprUtil.invokeMethodPost(daprCheckProperties.getAppUrl(), daprCheckProperties.getAppId()
, "/tcheckbankno/inner/checkBankNo", check, TCheckBankNo.class, SecurityConstants.FROM_IN);
if (checkListR != null && checkListR.getData() != null) {
check = checkListR.getData();
if (check == null || Common.isEmpty(check.getResult())) {
return R.failed(EmployeeConstants.CHECK_NO_RESPONSE);
} else if (check.getResult().equals(CommonConstants.ZERO_STRING)) {
return R.failed(check.getMessage());
}
} else {
return R.failed(EmployeeConstants.CHECK_NO_RESPONSE);
}
TEmployeeInfo tEmployeeInfoCompare = tEmployeeInfoMapper.selectById(tEmployeeInfo.getId());
String empNO = getEmpNo(tEmployeeProject.getDeptNo());
tEmployeeProject.setEmpNo(empNO);
......@@ -381,20 +399,26 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
tEmployeeInfo.setFileStatus(CommonConstants.dingleDigitIntArray[1]);
code = CommonConstants.ONE_STRING;
} else {
//从剩下的项目档案中查找员工类型并更新
if (Common.isNotNull(list)) {
Set<String> empNatrue = list.stream().map(TEmployeeProject::getEmpNatrue).collect(Collectors.toSet());
if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ZERO_STRING))) {
tEmployeeInfo.setEmpNatrue(CommonConstants.ZERO_STRING);
} else if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ONE_STRING))) {
if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ONE_STRING))) {
tEmployeeInfo.setEmpNatrue(CommonConstants.ONE_STRING);
} else if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ZERO_STRING))) {
tEmployeeInfo.setEmpNatrue(CommonConstants.ZERO_STRING);
} else {
tEmployeeInfo.setEmpNatrue(CommonConstants.TWO_STRING);
}
}
}
if (tEmployeeInfo.getProjectNum() != CommonConstants.ZERO_INT) {
tEmployeeInfo.setProjectNum(tEmployeeInfo.getProjectNum() - CommonConstants.ONE_INT);
}
tEmployeeInfo.setLeaveReason(tEmployeeProject.getLeaveReason());
if (Common.isNotNull(tEmployeeProject.getLeaveRemark())) {
tEmployeeInfo.setLeaveRemark(tEmployeeProject.getLeaveRemark());
}
tEmployeeInfo.setLeaveTime(DateUtil.getCurrentDateTime());
tEmployeeInfoMapper.updateById(tEmployeeInfo);
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], tEmployeeInfo.getId(), "", tEmployeeInfoOld, tEmployeeInfo);
......@@ -410,9 +434,64 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
}
@Override
public R<List<ErrorMessage>> batchDeleteEmpPro(List<EmployeeXProjectVO> excelVOList, BindingResult bindingResult) {
// 通用校验获取失败的数据
List<ErrorMessage> errorMessageList = (List<ErrorMessage>) bindingResult.getTarget();
public R<List<ErrorMessage>> batchDeleteEmpPro(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<EmployeeXProjectVO> util1 = new ExcelUtil<>(EmployeeXProjectVO.class);
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, EmployeeXProjectVO.class, new ReadListener<EmployeeXProjectVO>() {
/**
* 单次缓存的数据量
*/
public static final int BATCH_COUNT = CommonConstants.BATCH_COUNT;
/**
*临时存储
*/
private List<EmployeeXProjectVO> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
@Override
public void invoke(EmployeeXProjectVO data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Integer rowIndex = readRowHolder.getRowIndex();
data.setRowIndex(rowIndex + 1);
ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex());
if (Common.isNotNull(errorMessage)) {
errorMessageList.add(errorMessage);
} else {
cachedDataList.add(data);
}
if (cachedDataList.size() >= BATCH_COUNT) {
saveData();
// 存储完成清理 list
cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
deleteListAdd(cachedDataList, errorMessageList);
log.info("存储数据库成功!");
}
}).sheet().doRead();
} catch (Exception e) {
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR, e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
}
return R.ok(errorMessageList);
}
public R<List<ErrorMessage>> deleteListAdd(List<EmployeeXProjectVO> excelVOList, List<ErrorMessage> errorMessageList) {
//项目档案更新list
List<TEmployeeProject> updProjectList = new ArrayList<>();
......@@ -423,24 +502,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
// 新老项目档案List
List<EmployeeProjectNewOldVO> updateProjectList = new ArrayList<>();
// 调用字典服务,渲染字典值
R<Map<String, Map<String, Map<String, String>>>> dictR = HttpDaprUtil.invokeMethodPost(daprUpmsProperties.getAppUrl(), daprUpmsProperties.getAppId()
, "/dict/inner/getDictToLable", null, Map.class, SecurityConstants.FROM_IN);
Map<String, Map<String, Map<String, String>>> dictDataMap;
Map<String, Map<String, String>> dictMap;
// 民族
Map<String, String> empLabelMap;
if (dictR == null || dictR.getData() == null) {
return R.failed("获取字典失败!");
} else {
dictDataMap = dictR.getData();
dictMap = dictDataMap.get("data");
if (dictMap == null) {
return R.failed("获取字典失败!!");
}
empLabelMap = dictMap.get("reduce_project_reason");
}
// 执行数据插入操作 组装 PostDto
for (int i = 0; i < excelVOList.size(); i++) {
EmployeeXProjectVO excel = excelVOList.get(i);
......@@ -452,22 +513,27 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
.eq(TEmployeeProject::getDeleteFlag, CommonConstants.STATUS_NORMAL)
.eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT));
String errorMessage = "";
if (Common.isNotNull(excel.getEmpName())) {
errorMessage = errorMessage.concat(excel.getEmpName()).concat(";");
}else {
errorMessage = " ".concat(";");
}
errorMessage = errorMessage + excel.getEmpIdcard() + ";" + excel.getDeptNo() + ";" + excel.getLeaveReason() + ";";
if (Common.isNotNull(excel.getLeaveRemark())) {
errorMessage = errorMessage.concat(excel.getLeaveRemark()).concat(";");
}else {
errorMessage = errorMessage.concat(" ").concat(";");
}
if (Common.isNotNull(tEmployeeProject)) {
if (tEmployeeProject.getInsuranceStatus() != CommonConstants.dingleDigitIntArray[0] || tEmployeeProject.getSocialStatus() != CommonConstants.dingleDigitIntArray[0] ||
tEmployeeProject.getFundStatus() != CommonConstants.dingleDigitIntArray[0]) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_CHANGE_NOT_EXIST)));
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), errorMessage + MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_CHANGE_NOT_EXIST)));
} else {
TEmployeeProject tEmployeeProjectOld = this.getById(tEmployeeProject.getId());
tEmployeeProject.setProjectStatus(CommonConstants.dingleDigitIntArray[1]);
// 校验字典数据是否正确-减项原因
if (Common.isNotNull(excel.getLeaveReason())) {
if (empLabelMap.get(excel.getLeaveReason()) == null) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.ARCHIVES_IMPORT_EMP_REDUCE_ERROR)));
} else {
tEmployeeProject.setLeaveReason(empLabelMap.get(excel.getLeaveReason()));
}
}
tEmployeeProject.setLeaveReason(excel.getLeaveReason());
tEmployeeProject.setLeaveRemark(excel.getLeaveRemark());
tEmployeeProject.setLeaveTime(LocalDateTime.now());
updProjectList.add(tEmployeeProject);
......@@ -483,7 +549,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
}
} else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.PROJECT_PERSON_SEARCH_EXIT)));
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), errorMessage + MsgUtils.getMessage(ErrorCodes.PROJECT_PERSON_SEARCH_EXIT)));
}
}
if (errorMessageList.size() > CommonConstants.ZERO_INT) {
......@@ -641,12 +707,28 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
//档案有(在档人员),项目无
} else if (Common.isNotNull(tEmployeeInfo) && Common.isEmpty(tEmployeeProject)
&& CommonConstants.dingleDigitIntArray[0] == tEmployeeInfo.getFileStatus()) {
updateExcelPost(excel, updateList, tEmployeeInfo, CommonConstants.ONE_INT);
insertExcelPro(excel, proInsList);
TCheckBankNo check = new TCheckBankNo();
check.setBankNo(excel.getBankNo());
check.setIdNum(excel.getEmpIdcard());
check.setName(excel.getEmpName());
R<TCheckBankNo> checkListR = HttpDaprUtil.invokeMethodPost(daprCheckProperties.getAppUrl(), daprCheckProperties.getAppId()
, "/tcheckbankno/inner/checkBankNo", check, TCheckBankNo.class, SecurityConstants.FROM_IN);
if (checkListR != null && checkListR.getData() != null) {
check = checkListR.getData();
if (check == null || Common.isEmpty(check.getResult())) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), EmployeeConstants.CHECK_NO_RESPONSE));
} else if (check.getResult().equals(CommonConstants.ZERO_STRING)) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), check.getMessage()));
}
} else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), EmployeeConstants.CHECK_NO_RESPONSE));
}
updateExcelPost(excel, updateList, tEmployeeInfo);
insertExcelPro(excel, proInsList,tEmployeeInfo);
//档案有(在档人员),项目有(草稿/已审核);
} else if (Common.isNotNull(tEmployeeInfo) && CommonConstants.dingleDigitIntArray[0] == tEmployeeInfo.getFileStatus()
&& Common.isNotNull(tEmployeeProject) && CommonConstants.dingleDigitIntArray[0] == tEmployeeProject.getProjectStatus()) {
updateExcelPost(excel, updateList, tEmployeeInfo, CommonConstants.ZERO_INT);
updateExcelPost(excel, updateList, tEmployeeInfo);
updateExcelPro(excel, proupdateList, tEmployeeProject);
}
......@@ -655,17 +737,33 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
//档案有(离职库),项目(已减档)
if (Common.isNotNull(tEmployeeInfo) && CommonConstants.dingleDigitIntArray[1] == tEmployeeInfo.getFileStatus()
&& Common.isNotNull(tEmployeeProject) && CommonConstants.dingleDigitIntArray[1] == tEmployeeProject.getProjectStatus()) {
updateExcelPost(excel, updateList, tEmployeeInfo, CommonConstants.ZERO_INT);
updateExcelPost(excel, updateList, tEmployeeInfo);
updateExcelPro(excel, proupdateList, tEmployeeProject);
//档案有(离职库),项目无;
} else if (Common.isNotNull(tEmployeeInfo) && CommonConstants.dingleDigitIntArray[1] == tEmployeeInfo.getFileStatus()
&& Common.isEmpty(tEmployeeProject)) {
updateExcelPost(excel, updateList, tEmployeeInfo, CommonConstants.ONE_INT);
insertExcelPro(excel, proInsList);
TCheckBankNo check = new TCheckBankNo();
check.setBankNo(excel.getBankNo());
check.setIdNum(excel.getEmpIdcard());
check.setName(excel.getEmpName());
R<TCheckBankNo> checkListR = HttpDaprUtil.invokeMethodPost(daprCheckProperties.getAppUrl(), daprCheckProperties.getAppId()
, "/tcheckbankno/inner/checkBankNo", check, TCheckBankNo.class, SecurityConstants.FROM_IN);
if (checkListR != null && checkListR.getData() != null) {
check = checkListR.getData();
if (check == null || Common.isEmpty(check.getResult())) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), EmployeeConstants.CHECK_NO_RESPONSE));
} else if (check.getResult().equals(CommonConstants.ZERO_STRING)) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), check.getMessage()));
}
} else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), EmployeeConstants.CHECK_NO_RESPONSE));
}
updateExcelPost(excel, updateList, tEmployeeInfo);
insertExcelPro(excel, proInsList, tEmployeeInfo);
//档案有(在档人员),项目(已减档)
} else if (Common.isNotNull(tEmployeeInfo) && CommonConstants.dingleDigitIntArray[0] == tEmployeeInfo.getFileStatus()
&& Common.isNotNull(tEmployeeProject) && CommonConstants.dingleDigitIntArray[1] == tEmployeeProject.getProjectStatus()) {
updateExcelPost(excel, updateList, tEmployeeInfo, CommonConstants.ZERO_INT);
updateExcelPost(excel, updateList, tEmployeeInfo);
updateExcelPro(excel, proupdateList, tEmployeeProject);
}
//不允许复档复项
......@@ -688,14 +786,10 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
if (CollUtil.isEmpty(errorMessageList)) {
try {
if (updateList.size() > CommonConstants.dingleDigitIntArray[0]) {
tEmployeeInfoMapper.updateExcelEmployeeInfo(updateList);
doJointTask.doUpdateEmployeeInfo(updateList);
}
if (proInsList.size() > CommonConstants.dingleDigitIntArray[0]) {
baseMapper.insertExcelEmpProject(proInsList);
List<String> idList = proInsList.stream().map(TEmployeeProject::getEmpIdcard).collect(Collectors.toList());
List<TEmployeeInfo> updList = tEmployeeInfoMapper.selectList(Wrappers.<TEmployeeInfo>query().lambda().in(TEmployeeInfo::getEmpIdcard, idList));
baseMapper.updateEmpIdById(updList);
}
if (proupdateList.size() > CommonConstants.dingleDigitIntArray[0]) {
baseMapper.updateExcelEmpProject(proupdateList);
......@@ -859,15 +953,13 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
/**
* 插入excel Pro
*/
private void insertExcelPro(EmployeeProjectVO excel, List<TEmployeeProject> proInsList) {
private void insertExcelPro(EmployeeProjectVO excel, List<TEmployeeProject> proInsList,TEmployeeInfo tEmployeeInfo) {
TEmployeeProject insTEmployeePro = new TEmployeeProject();
BeanUtil.copyProperties(excel, insTEmployeePro);
insTEmployeePro.setId(String.valueOf(UUID.randomUUID()).replaceAll("-", ""));
insTEmployeePro.setDeleteFlag(CommonConstants.STATUS_NORMAL);
insTEmployeePro.setStatus(CommonConstants.dingleDigitIntArray[0]);
//人员档案主表id先设置成空,后面更新id
insTEmployeePro.setEmpId(CommonConstants.EMPTY_STRING);
//获取项目和单位信息
TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda()
......@@ -887,14 +979,13 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
String empNO = getEmpNo(insTEmployeePro.getDeptNo());
insTEmployeePro.setEmpNo(empNO);
//员工编码生成规则
TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getEmpIdcard, excel.getEmpIdcard())
.eq(TEmployeeInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL));
insTEmployeePro.setEmpCode(tEmployeeInfo.getEmpCode());
YifuUser user = SecurityUtils.getUser();
insTEmployeePro.setCreateBy(user.getId());
insTEmployeePro.setEmpName(tEmployeeInfo.getEmpName());
insTEmployeePro.setCreateName(user.getNickname());
insTEmployeePro.setProjectSource(CommonConstants.dingleDigitStrArray[5]);
insTEmployeePro.setProjectSource(CommonConstants.dingleDigitStrArray[6]);
insTEmployeePro.setEmpId(tEmployeeInfo.getId());
proInsList.add(insTEmployeePro);
}
......@@ -930,7 +1021,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
.eq(TEmployeeInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL));
infoUpdList.add(tEmployeeInfo);
} else {
errorList.add(new ErrorMessage(i, MsgUtils.getMessage(ErrorCodes.CHECKS_PROJECT_DELETE_ERROR)));
errorList.add(new ErrorMessage(i, delProject.getEmpName() + ";" + delProject.getEmpIdcard() + ";" + delProject.getDeptNo() + ";" + "项目档案状态为已审核,禁止删除"));
}
} catch (Exception e) {
log.error("项目档案批量删除异常:" + e.getMessage());
......@@ -1063,17 +1154,10 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
/**
* 更新人员档案
*/
private void updateExcelPost(EmployeeProjectVO excel, List<TEmployeeInfo> updateList, TEmployeeInfo tEmployeeInfo, int num) {
private void updateExcelPost(EmployeeProjectVO excel, List<TEmployeeInfo> updateList, TEmployeeInfo tEmployeeInfo) {
BeanUtil.copyProperties(excel, tEmployeeInfo);
YifuUser user = SecurityUtils.getUser();
tEmployeeInfo.setUpdateBy(user.getId());
if (num == CommonConstants.ONE_INT) {
tEmployeeInfo.setProjectNum(tEmployeeInfo.getProjectNum().intValue() + CommonConstants.ONE_INT);
}
tEmployeeInfo.setFileStatus(CommonConstants.ZERO_INT);
updateList.add(tEmployeeInfo);
// 记录变更日志
TEmployeeInfo tEmployeeInfoOld = tEmployeeInfoMapper.selectById(tEmployeeInfo.getId());
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], tEmployeeInfo.getId(), "", tEmployeeInfoOld, tEmployeeInfo);
}
/**
......
......@@ -55,10 +55,10 @@ public class DoJointTask {
.eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT));
if (Common.isNotNull(list)) {
Set<String> empNatrue = list.stream().map(TEmployeeProject::getEmpNatrue).collect(Collectors.toSet());
if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ZERO_STRING))) {
tEmployeeInfo.setEmpNatrue(CommonConstants.ZERO_STRING);
} else if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ONE_STRING))) {
if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ONE_STRING))) {
tEmployeeInfo.setEmpNatrue(CommonConstants.ONE_STRING);
} else if (empNatrue.stream().anyMatch(e -> e.equals(CommonConstants.ZERO_STRING))) {
tEmployeeInfo.setEmpNatrue(CommonConstants.ZERO_STRING);
} else {
tEmployeeInfo.setEmpNatrue(CommonConstants.TWO_STRING);
}
......
......@@ -65,16 +65,16 @@
AND a.EMP_IDCARD = #{tElecEmployeeInfo.empIdcard}
</if>
<if test="tElecEmployeeInfo.unitName != null and tElecEmployeeInfo.unitName.trim() != ''">
AND b.UNIT_NAME like concat('%',#{tElecEmployeeInfo.unitName},'%')
AND c.UNIT_NAME like concat('%',#{tElecEmployeeInfo.unitName},'%')
</if>
<if test="tElecEmployeeInfo.deptName != null and tElecEmployeeInfo.deptName.trim() != ''">
AND b.DEPT_NAME like concat('%',#{tElecEmployeeInfo.deptName},'%')
AND c.DEPT_NAME like concat('%',#{tElecEmployeeInfo.deptName},'%')
</if>
<if test="tElecEmployeeInfo.empNo != null and tElecEmployeeInfo.empNo.trim() != ''">
AND b.EMP_NO = #{tElecEmployeeInfo.empNo}
AND c.EMP_NO = #{tElecEmployeeInfo.empNo}
</if>
<if test="tElecEmployeeInfo.deptNo != null and tElecEmployeeInfo.deptNo.trim() != ''">
AND b.DEPT_NO like concat('%',#{tElecEmployeeInfo.deptNo},'%')
AND c.DEPT_NO like concat('%',#{tElecEmployeeInfo.deptNo},'%')
</if>
<if test="tElecEmployeeInfo.dataType != null and tElecEmployeeInfo.dataType.trim() != ''">
AND a.DATA_TYPE = #{tElecEmployeeInfo.dataType}
......@@ -100,14 +100,15 @@
<!--tElecEmployeeInfo简单分页查询-->
<select id="getTElecEmployeeInfoPage" resultMap="tElecEmployeeInfoMap">
SELECT
<include refid="Base_Column_List"/>,GROUP_CONCAT(distinct b.DEPT_NAME) as DEPT_NAME,GROUP_CONCAT(distinct b.UNIT_NAME) as UNIT_NAME,GROUP_CONCAT(distinct b.DEPT_NO) as DEPT_NO,GROUP_CONCAT(distinct b.EMP_NO) as EMP_NO
<include refid="Base_Column_List"/>,GROUP_CONCAT(distinct c.DEPT_NAME) as DEPT_NAME,GROUP_CONCAT(distinct c.UNIT_NAME) as UNIT_NAME,GROUP_CONCAT(distinct c.DEPT_NO) as DEPT_NO,GROUP_CONCAT(distinct c.EMP_NO) as EMP_NO
FROM t_elec_employee_info a
left join t_employee_project b on a.EMP_IDCARD = b.EMP_IDCARD
left join t_employee_info b on a.EMP_IDCARD = b.EMP_IDCARD
left join t_employee_project c on a.EMP_IDCARD = c.EMP_IDCARD AND c.DELETE_FLAG = '0' AND c.PROJECT_STATUS = '0'
<where>
1=1 AND a.DELETE_FLAG = '0' AND b.DELETE_FLAG = '0'
1=1 AND a.DELETE_FLAG = '0'
<include refid="tElecEmployeeInfo_where"/>
</where>
GROUP BY a.EMP_IDCARD
GROUP BY a.EMP_IDCARD,a.CREATE_TIME,a.DATA_TYPE
ORDER BY a.CREATE_TIME desc
</select>
</mapper>
......@@ -518,13 +518,6 @@
</if>
</foreach>
</trim>
<trim prefix="EMP_NAME =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.empName!=null">
when ID=#{i.id} then #{i.empName}
</if>
</foreach>
</trim>
<trim prefix="EMP_IDCARD =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.empIdcard!=null">
......@@ -622,7 +615,7 @@
insert into t_employee_project
(ID,EMP_ID,EMP_NATRUE,EMP_NAME,EMP_IDCARD,STATUS,PROJECT_STATUS,EMP_CODE,DEPT_NO,CONTRACT_TYPE,POST,
DEPT_ID,DEPT_NAME,UNIT_ID,UNIT_NAME,UNIT_NO,EMP_NO,TRY_PERIOD,ENJOIN_DATE,BANK_NAME,BANK_NO,BANK_SUB_NAME,
DELETE_FLAG,CREATE_BY,CREATE_NAME,CREATE_TIME,INSURANCE_STATUS,SOCIAL_STATUS,FUND_STATUS)
WORKING_HOURS,PROJECT_SOURCE,DELETE_FLAG,CREATE_BY,CREATE_NAME,CREATE_TIME,INSURANCE_STATUS,SOCIAL_STATUS,FUND_STATUS)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
......@@ -648,6 +641,8 @@
#{item.bankName,jdbcType=VARCHAR},
#{item.bankNo,jdbcType=VARCHAR},
#{item.bankSubName,jdbcType=VARCHAR},
#{item.workingHours,jdbcType=VARCHAR},
#{item.projectSource,jdbcType=VARCHAR},
#{item.deleteFlag,jdbcType=VARCHAR},
#{item.createBy,jdbcType=VARCHAR},
#{item.createName,jdbcType=VARCHAR},
......
......@@ -38,7 +38,7 @@ public class ChecksUtil {
// 1.调用身份信息校验api
checkIdCardMethod(checkIdCard);
} else {
checkIdCard.setIsTrue(0);
checkIdCard.setIsTrue(CommonConstants.ZERO_INT);
checkIdCard.setReason(ChecksConstants.NACOS_CHECK_CONFIG_ERROR);
}
}
......@@ -173,20 +173,20 @@ public class ChecksUtil {
JsonObject resultJson = jsonObject.get(ChecksConstants.DATA).getAsJsonObject();
String resultStr = getJsonElementValue(resultJson.getAsJsonObject().get(ChecksConstants.RESULT));
if ("01".equals(resultStr)) {
checkIdCard.setIsTrue(1);
checkIdCard.setIsTrue(CommonConstants.ONE_INT);
checkIdCard.setReason("正确");
} else {
checkIdCard.setIsTrue(0);
checkIdCard.setIsTrue(CommonConstants.ZERO_INT);
String remark = getJsonElementValue(resultJson.get(ChecksConstants.REMARK));
checkIdCard.setReason("调用身份信息校验失败,resultStr:" + resultStr + ",msg:" + remark);
}
} else {
// 记录错误日志,正式项目中请换成log打印
checkIdCard.setIsTrue(0);
checkIdCard.setIsTrue(CommonConstants.ZERO_INT);
checkIdCard.setReason("调用身份信息校验失败,code:" + code + ",msg:" + jsonObject.get(ChecksConstants.MESSAGE).getAsString());
}
} else {
checkIdCard.setIsTrue(0);
checkIdCard.setIsTrue(CommonConstants.ZERO_INT);
checkIdCard.setReason(ChecksConstants.NO_DATA_RESULT);
}
}
......
......@@ -233,25 +233,22 @@ public class TCheckIdCardServiceImpl extends ServiceImpl<TCheckIdCardMapper, TCh
if (Common.isEmpty(idCard) || Common.isEmpty(name)){
tCheckIdCard.setIsTrue(CommonConstants.ZERO_INT);
tCheckIdCard.setReason(CommonConstants.PARAM_IS_NOT_EMPTY);
tCheckIdCard.setIsTrue(CommonConstants.ONE_INT);
return tCheckIdCard;
}
// 校验姓名身份证规则
if (!regIdCard(idCard)) {
tCheckIdCard.setIsTrue(0);
tCheckIdCard.setIsTrue(CommonConstants.ZERO_INT);
tCheckIdCard.setReason("身份证格式有误");
tCheckIdCard.setIsTrue(CommonConstants.ONE_INT);
return tCheckIdCard;
} else if (regEmpName(name)) {
tCheckIdCard.setIsTrue(0);
tCheckIdCard.setIsTrue(CommonConstants.ZERO_INT);
tCheckIdCard.setReason("姓名含数字或空格,无法校验");
tCheckIdCard.setIsTrue(CommonConstants.ONE_INT);
return tCheckIdCard;
}
synchronized (this){
TCheckIdCard checkIdCard = baseMapper.selectOne(Wrappers.<TCheckIdCard>query().lambda()
.eq(TCheckIdCard::getIdCard,idCard)
.eq(TCheckIdCard::getIsTrue,CommonConstants.ONE_STRING)
.eq(TCheckIdCard::getIsTrue,CommonConstants.ONE_INT)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(checkIdCard)){
if (name.equals(checkIdCard.getName())) {
......@@ -268,7 +265,7 @@ public class TCheckIdCardServiceImpl extends ServiceImpl<TCheckIdCardMapper, TCh
if (checkList != null && !checkList.isEmpty()) {
for (TCheckIdCard c : checkList) {
if (idCard.equals(c.getIdCard()) && name.equals(c.getName())) {
tCheckIdCard.setIsTrue(0);
tCheckIdCard.setIsTrue(CommonConstants.ZERO_INT);
tCheckIdCard.setReason(c.getReason());
return tCheckIdCard;
}
......
......@@ -116,7 +116,7 @@ public class TCheckMobileServiceImpl extends ServiceImpl<TCheckMobileMapper, TCh
public synchronized TCheckMobile checkOneMobile(String mobile) {
TCheckMobile returnMobile = new TCheckMobile();
returnMobile.setMobile(mobile);
returnMobile.setMessage("未找到!");
returnMobile.setMessage("手机号不可用!");
returnMobile.setStatus(CommonConstants.ZERO_STRING);
if (Common.isNotNull(mobile)) {
//1.先从本地库获取正常数据
......
......@@ -31,7 +31,14 @@ public class ExcelAttributeConstants {
// 减档原因
public static final String DOWNSHIFT_REASON = "downshift_reason";
// 业务类型一级分类
public static final String CUSTOMER_BUSSINESS_PARENT = "customer_business_parent";
// 业务类型二级分类
public static final String CUSTOMER_BUSSINESS_TYPE = "customer_business_type";
// 业务类型三级分类
public static final String CUSTOMER_BUSSINESS_SUB_TYPE = "customer_business_sub_type";
//员工合同类型
......@@ -107,4 +114,6 @@ public class ExcelAttributeConstants {
public static final String FAMILY_RELATION = "family_relation";
// 工作类型---工具履历
public static final String WORKINFO_TYPE = "workinfo_type";
// 项目档案来源
public static final String PROJECT_EMP_SOURCE = "project_emp_source";
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
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.math.BigDecimal;
import java.util.Date;
/**
* 社保、公积金基数配置
*
* @author hgw
* @date 2022-07-11 18:13:22
*/
@Data
@TableName("sys_base_set_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "社保、公积金基数配置")
public class SysBaseSetInfo extends BaseEntity {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelAttribute(name = "主键")
@Schema(description = "主键")
@ExcelProperty("主键")
private String id;
/**
* 缴纳地-省(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-省(社保或公积金)")
@Schema(description = "缴纳地-省(社保或公积金)")
@ExcelProperty("缴纳地-省(社保或公积金)")
private Integer province;
/**
* 缴纳地-市(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-市(社保或公积金)")
@Schema(description = "缴纳地-市(社保或公积金)")
@ExcelProperty("缴纳地-市(社保或公积金)")
private Integer city;
/**
* 缴纳地-县(社保或公积金)
*/
@ExcelAttribute(name = "缴纳地-县(社保或公积金)")
@Schema(description = "缴纳地-县(社保或公积金)")
@ExcelProperty("缴纳地-县(社保或公积金)")
private Integer town;
/**
* 适用周期-开始时间(社保或公积金)
*/
@ExcelAttribute(name = "适用周期-开始时间(社保或公积金)")
@Schema(description = "适用周期-开始时间(社保或公积金)")
@ExcelProperty("适用周期-开始时间(社保或公积金)")
private Date applyStartDate;
/**
* 适用周期-结束时间(社保或公积金)
*/
@ExcelAttribute(name = "适用周期-结束时间(社保或公积金)")
@Schema(description = "适用周期-结束时间(社保或公积金)")
@ExcelProperty("适用周期-结束时间(社保或公积金)")
private Date applyEndDate;
/**
* 基数上限(社保或公积金)
*/
@ExcelAttribute(name = "基数上限(社保或公积金)")
@Schema(description = "基数上限(社保或公积金)")
@ExcelProperty("基数上限(社保或公积金)")
private BigDecimal upperLimit;
/**
* 基数下限(社保或公积金)
*/
@ExcelAttribute(name = "基数下限(社保或公积金)")
@Schema(description = "基数下限(社保或公积金)")
@ExcelProperty("基数下限(社保或公积金)")
private BigDecimal lowerLimit;
/**
* 补缴政策(社保或公积金)
*/
@ExcelAttribute(name = "补缴政策(社保或公积金)")
@Schema(description = "补缴政策(社保或公积金)")
@ExcelProperty("补缴政策(社保或公积金)")
private String payPolicy;
/**
* 0.社保 1.公积金
*/
@ExcelAttribute(name = "0.社保 1.公积金")
@Schema(description = "0.社保 1.公积金")
@ExcelProperty("0.社保 1.公积金")
private String baseType;
/**
* 单位养老缴纳比例
*/
@ExcelAttribute(name = "单位养老缴纳比例")
@Schema(description = "单位养老缴纳比例")
@ExcelProperty("单位养老缴纳比例")
private BigDecimal unitPersionPro;
/**
* 单位医疗缴纳比例
*/
@ExcelAttribute(name = "单位医疗缴纳比例")
@Schema(description = "单位医疗缴纳比例")
@ExcelProperty("单位医疗缴纳比例")
private BigDecimal unitMedicalPro;
/**
* 单位失业缴纳比例
*/
@ExcelAttribute(name = "单位失业缴纳比例")
@Schema(description = "单位失业缴纳比例")
@ExcelProperty("单位失业缴纳比例")
private BigDecimal unitUnemploymentPro;
/**
* 单位工伤缴纳比例
*/
@ExcelAttribute(name = "单位工伤缴纳比例")
@Schema(description = "单位工伤缴纳比例")
@ExcelProperty("单位工伤缴纳比例")
private BigDecimal unitInjuryPro;
/**
* 单位生育缴纳比例-已删除
*/
@ExcelAttribute(name = "单位生育缴纳比例-已删除")
@Schema(description = "单位生育缴纳比例-已删除")
@ExcelProperty("单位生育缴纳比例-已删除")
private BigDecimal unitBirthPro;
/**
* 单位比例合计
*/
@ExcelAttribute(name = "单位比例合计")
@Schema(description = "单位比例合计")
@ExcelProperty("单位比例合计")
private BigDecimal unitProSum;
/**
* 个人养老比例
*/
@ExcelAttribute(name = "个人养老比例")
@Schema(description = "个人养老比例")
@ExcelProperty("个人养老比例")
private BigDecimal personalPersionPro;
/**
* 个人医疗比例
*/
@ExcelAttribute(name = "个人医疗比例")
@Schema(description = "个人医疗比例")
@ExcelProperty("个人医疗比例")
private BigDecimal personalMedicalPro;
/**
* 个人失业比例
*/
@ExcelAttribute(name = "个人失业比例")
@Schema(description = "个人失业比例")
@ExcelProperty("个人失业比例")
private BigDecimal personalUnemploymentPro;
/**
* 个人比例合计
*/
@ExcelAttribute(name = "个人比例合计")
@Schema(description = "个人比例合计")
@ExcelProperty("个人比例合计")
private BigDecimal personalProSum;
/**
* 是否大病: 1.是 2.否
*/
@ExcelAttribute(name = "是否大病: 1.是 2.否")
@Schema(description = "是否大病: 1.是 2.否")
@ExcelProperty("是否大病: 1.是 2.否")
private String isIllness;
/**
* 收费模式:新员工入职是否收费 1.是 2.否
*/
@ExcelAttribute(name = "收费模式:新员工入职是否收费 1.是 2.否")
@Schema(description = "收费模式:新员工入职是否收费 1.是 2.否")
@ExcelProperty("收费模式:新员工入职是否收费 1.是 2.否")
private String isChargePersonal;
/**
* 单位大病金额(元/人)--按定值
*/
@ExcelAttribute(name = "单位大病金额(元/人)--按定值")
@Schema(description = "单位大病金额(元/人)--按定值")
@ExcelProperty("单位大病金额(元/人)--按定值")
private BigDecimal chargeCompany;
/**
* 个人大病金额(元/人)--按定值
*/
@ExcelAttribute(name = "个人大病金额(元/人)--按定值")
@Schema(description = "个人大病金额(元/人)--按定值")
@ExcelProperty("个人大病金额(元/人)--按定值")
private BigDecimal chargePersonal;
/**
* 大病缴纳周期:收取方式 1.年 2.月
*/
@ExcelAttribute(name = "大病缴纳周期:收取方式 1.年 2.月")
@Schema(description = "大病缴纳周期:收取方式 1.年 2.月")
@ExcelProperty("大病缴纳周期:收取方式 1.年 2.月")
private String collectType;
/**
* 大病单位缴纳金额--按比例
*/
@ExcelAttribute(name = "大病单位缴纳金额--按比例")
@Schema(description = "大病单位缴纳金额--按比例")
@ExcelProperty("大病单位缴纳金额--按比例")
private BigDecimal payCompany;
/**
* 单位大病比例
*/
@ExcelAttribute(name = "单位大病比例")
@Schema(description = "单位大病比例")
@ExcelProperty("单位大病比例")
private BigDecimal payCompanyPro;
/**
* 大病个人缴纳金额--按比例
*/
@ExcelAttribute(name = "大病个人缴纳金额--按比例")
@Schema(description = "大病个人缴纳金额--按比例")
@ExcelProperty("大病个人缴纳金额--按比例")
private BigDecimal payPersonal;
/**
* 个人大病比例
*/
@ExcelAttribute(name = "个人大病比例")
@Schema(description = "个人大病比例")
@ExcelProperty("个人大病比例")
private BigDecimal payPersonalPro;
/**
* 缴纳月份:周期为年--收取月份 1到12月份
*/
@ExcelAttribute(name = "缴纳月份:周期为年--收取月份 1到12月份")
@Schema(description = "缴纳月份:周期为年--收取月份 1到12月份")
@ExcelProperty("缴纳月份:周期为年--收取月份 1到12月份")
private Integer collectMoth;
/**
* 单边缴费额度下--公积金
*/
@ExcelAttribute(name = "单边缴费额度下--公积金")
@Schema(description = "单边缴费额度下--公积金")
@ExcelProperty("单边缴费额度下--公积金")
private BigDecimal fundPayLowerLimit;
/**
* 单边缴费额度上限--公积金
*/
@ExcelAttribute(name = "单边缴费额度上限--公积金")
@Schema(description = "单边缴费额度上限--公积金")
@ExcelProperty("单边缴费额度上限--公积金")
private BigDecimal fundPayUpperLimit;
/**
* 单边小数点:公积金
*/
@ExcelAttribute(name = "单边小数点:公积金")
@Schema(description = "单边小数点:公积金")
@ExcelProperty("单边小数点:公积金")
private Integer fundPayPoint;
/**
* 公积金类型 1.市直 2. 省直
*/
@ExcelAttribute(name = "公积金类型 1.市直 2. 省直")
@Schema(description = "公积金类型 1.市直 2. 省直")
@ExcelProperty("公积金类型 1.市直 2. 省直")
private Integer fundPayType;
/**
* 单位公积金比例
*/
@ExcelAttribute(name = "单位公积金比例")
@Schema(description = "单位公积金比例")
@ExcelProperty("单位公积金比例")
private BigDecimal housingFundCompamyPro;
/**
* 个人公积金比例
*/
@ExcelAttribute(name = "个人公积金比例")
@Schema(description = "个人公积金比例")
@ExcelProperty("个人公积金比例")
private BigDecimal housingFundPersonalPro;
/**
* 部门关联ID
*/
@ExcelAttribute(name = "部门关联ID")
@Schema(description = "部门关联ID")
@ExcelProperty("部门关联ID")
private String departId;
/**
* 0.在用1.终止2过期
*/
@ExcelAttribute(name = "0.在用1.终止2过期")
@Schema(description = "0.在用1.终止2过期")
@ExcelProperty("0.在用1.终止2过期")
private Integer status;
/**
* 缴纳方式:周期为月--取值方式 0.按定值1比例
*/
@ExcelAttribute(name = "缴纳方式:周期为月--取值方式 0.按定值1比例")
@Schema(description = "缴纳方式:周期为月--取值方式 0.按定值1比例")
@ExcelProperty("缴纳方式:周期为月--取值方式 0.按定值1比例")
private String valueType;
/**
* 是否可以补缴: 0:是,1:否
*/
@ExcelAttribute(name = "是否可以补缴: 0:是,1:否")
@Schema(description = "是否可以补缴: 0:是,1:否")
@ExcelProperty("是否可以补缴: 0:是,1:否")
private String canOverpay;
/**
* 最大补缴期限
*/
@ExcelAttribute(name = "最大补缴期限")
@Schema(description = "最大补缴期限")
@ExcelProperty("最大补缴期限")
private Integer overpayNumber;
/**
* 是否含起缴当月: 0:是,1:否
*/
@ExcelAttribute(name = "是否含起缴当月: 0:是,1:否")
@Schema(description = "是否含起缴当月: 0:是,1:否")
@ExcelProperty("是否含起缴当月: 0:是,1:否")
private String haveThisMonth;
/**
* 补缴险种-是否能补缴养老0是1否
*/
@ExcelAttribute(name = "补缴险种-是否能补缴养老0是1否")
@Schema(description = "补缴险种-是否能补缴养老0是1否")
@ExcelProperty("补缴险种-是否能补缴养老0是1否")
private String insurancePension;
/**
* 补缴险种-是否能补缴医疗0是1否
*/
@ExcelAttribute(name = "补缴险种-是否能补缴医疗0是1否")
@Schema(description = "补缴险种-是否能补缴医疗0是1否")
@ExcelProperty("补缴险种-是否能补缴医疗0是1否")
private String insuranceMedical;
/**
* 补缴险种-是否能补缴失业0是1否
*/
@ExcelAttribute(name = "补缴险种-是否能补缴失业0是1否")
@Schema(description = "补缴险种-是否能补缴失业0是1否")
@ExcelProperty("补缴险种-是否能补缴失业0是1否")
private String insuranceUnemployment;
/**
* 补缴险种-是否能补缴工伤0是1否
*/
@ExcelAttribute(name = "补缴险种-是否能补缴工伤0是1否")
@Schema(description = "补缴险种-是否能补缴工伤0是1否")
@ExcelProperty("补缴险种-是否能补缴工伤0是1否")
private String insuranceInjury;
/**
* 补缴险种-是否能补缴生育0是1否
*/
@ExcelAttribute(name = "补缴险种-是否能补缴生育0是1否")
@Schema(description = "补缴险种-是否能补缴生育0是1否")
@ExcelProperty("补缴险种-是否能补缴生育0是1否")
private String insuranceBirth;
/**
* 补缴险种-是否能补缴大病0是1否
*/
@ExcelAttribute(name = "补缴险种-是否能补缴大病0是1否")
@Schema(description = "补缴险种-是否能补缴大病0是1否")
@ExcelProperty("补缴险种-是否能补缴大病0是1否")
private String insuranceBigailment;
/**
* 补缴险种-补缴是否采用最新基数0是1否
*/
@ExcelAttribute(name = "补缴险种-补缴是否采用最新基数0是1否")
@Schema(description = "补缴险种-补缴是否采用最新基数0是1否")
@ExcelProperty("补缴险种-补缴是否采用最新基数0是1否")
private String insuranceIsLatestCardinality;
/**
* 删除标志0正常1删除
*/
@ExcelAttribute(name = "删除标志0正常1删除")
@Schema(description = "删除标志0正常1删除")
@ExcelProperty("删除标志0正常1删除")
private String deleteFlag;
/**
* 社保户名称
*/
@ExcelAttribute(name = "社保户名称")
@Schema(description = "社保户名称")
@ExcelProperty("社保户名称")
private String departName;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
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;
/**
* 公积金政策对应的缴费比例表
*
* @author hgw
* @date 2022-07-11 18:13:22
*/
@Data
@TableName("sys_pay_proportion")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "公积金政策对应的缴费比例表")
public class SysPayProportion extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelAttribute(name = "id" )
@Schema(description ="id")
@ExcelProperty("id")
private String id;
/**
* 住房公积金公司缴纳比例
*/
@ExcelAttribute(name = "住房公积金公司缴纳比例" )
@Schema(description ="住房公积金公司缴纳比例")
@ExcelProperty("住房公积金公司缴纳比例")
private Double companyPro;
/**
* 公积金住房个人缴纳比例
*/
@ExcelAttribute(name = "公积金住房个人缴纳比例" )
@Schema(description ="公积金住房个人缴纳比例")
@ExcelProperty("公积金住房个人缴纳比例")
private Double personalPro;
/**
* 关联公积金政策基数设置表ID
*/
@ExcelAttribute(name = "关联公积金政策基数设置表ID" )
@Schema(description ="关联公积金政策基数设置表ID")
@ExcelProperty("关联公积金政策基数设置表ID")
private String sysBaseSetId;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
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;
/**
* 社保变更记录表
*
* @author hgw
* @date 2022-07-11 18:13:21
*/
@Data
@TableName("t_social_log")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "社保变更记录表")
public class TSocialLog extends BaseEntity {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelAttribute(name = "主键")
@Schema(description = "主键")
@ExcelProperty("主键")
private String id;
/**
* 类型:1社保基数配置;2公积金基数配置
*/
@ExcelAttribute(name = "类型:1社保基数配置;2公积金基数配置")
@Schema(description = "类型:1社保基数配置;2公积金基数配置")
@ExcelProperty("类型:1社保基数配置;2公积金基数配置")
private Integer type;
/**
* 主表id
*/
@ExcelAttribute(name = "主表id")
@Schema(description = "主表id")
@ExcelProperty("主表id")
private String mainId;
/**
* 原来的信息
*/
@ExcelAttribute(name = "原来的信息")
@Schema(description = "原来的信息")
@ExcelProperty("原来的信息")
private String oldInfo;
/**
* 新的信息
*/
@ExcelAttribute(name = "新的信息")
@Schema(description = "新的信息")
@ExcelProperty("新的信息")
private String newInfo;
/**
* 差异的信息(属性名称,逗号隔开)
*/
@ExcelAttribute(name = "差异的信息(属性名称,逗号隔开)")
@Schema(description = "差异的信息(属性名称,逗号隔开)")
@ExcelProperty("差异的信息(属性名称,逗号隔开)")
private String differenceInfo;
}
......@@ -27,6 +27,11 @@
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-seata</artifactId>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-social-api</artifactId>
<version>1.0.0</version>
</dependency>
<!--必备: 依赖api模块-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
......
package com.yifu.cloud.plus.v1.yifu.demo.controller;
\ No newline at end of file
package com.yifu.cloud.plus.v1.yifu.demo.service;
\ No newline at end of file
package com.yifu.cloud.plus.v1.yifu.demo;
package com.yifu.cloud.plus.v1.yifu.social;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.EnableYifuResourceServer;
import org.springframework.boot.SpringApplication;
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.SysBaseSetInfoService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 基数设置表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/sysbasesetinfo")
@Tag(name = "基数设置表管理")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class SysBaseSetInfoController {
private final SysBaseSetInfoService sysBaseSetInfoService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param sysBaseSetInfo 基数设置表
* @return
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
public R<IPage<SysBaseSetInfo>> getSysBaseSetInfoPage(Page<SysBaseSetInfo> page, SysBaseSetInfo sysBaseSetInfo) {
return new R<>(sysBaseSetInfoService.getSysBaseSetInfoPage(page, sysBaseSetInfo));
}
/**
* 不分页查询
*
* @param sysBaseSetInfo 基数设置表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_sysbasesetinfo_get')" )
public R<List<SysBaseSetInfo>> getSysBaseSetInfoNoPage(@RequestBody SysBaseSetInfo sysBaseSetInfo) {
return R.ok(sysBaseSetInfoService.list(Wrappers.query(sysBaseSetInfo).orderByDesc(CommonConstants.CREATE_TIME)));
}
/**
* 通过id查询基数设置表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_sysbasesetinfo_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_sysbasesetinfo_get')")
public R<SysBaseSetInfo> getById(@PathVariable("id") String id) {
return R.ok(sysBaseSetInfoService.getById(id));
}
/**
* 新增基数设置表
*
* @param sysBaseSetInfo 基数设置表
* @return R
*/
@Operation(summary = "新增基数设置表", description = "新增基数设置表:hasPermission('social_sysbasesetinfo_add')")
@SysLog("新增基数设置表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_sysbasesetinfo_add')")
public R<Boolean> save(@RequestBody SysBaseSetInfo sysBaseSetInfo) {
return R.ok(sysBaseSetInfoService.save(sysBaseSetInfo));
}
/**
* 修改基数设置表
*
* @param sysBaseSetInfo 基数设置表
* @return R
*/
@Operation(summary = "修改基数设置表", description = "修改基数设置表:hasPermission('social_sysbasesetinfo_edit')")
@SysLog("修改基数设置表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_sysbasesetinfo_edit')")
public R<Boolean> updateById(@RequestBody SysBaseSetInfo sysBaseSetInfo) {
return R.ok(sysBaseSetInfoService.updateById(sysBaseSetInfo));
}
/**
* 通过id删除基数设置表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除基数设置表", description = "通过id删除基数设置表:hasPermission('social_sysbasesetinfo_del')")
@SysLog("通过id删除基数设置表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_sysbasesetinfo_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(sysBaseSetInfoService.removeById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysPayProportion;
import com.yifu.cloud.plus.v1.yifu.social.service.SysPayProportionService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 公积金政策对应的缴费比例表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/syspayproportion")
@Tag(name = "公积金政策对应的缴费比例表管理")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class SysPayProportionController {
private final SysPayProportionService sysPayProportionService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
public R<IPage<SysPayProportion>> getSysPayProportionPage(Page<SysPayProportion> page, SysPayProportion sysPayProportion) {
return new R<>(sysPayProportionService.getSysPayProportionPage(page, sysPayProportion));
}
/**
* 不分页查询
*
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_syspayproportion_get')" )
public R<List<SysPayProportion>> getSysPayProportionNoPage(@RequestBody SysPayProportion sysPayProportion) {
return R.ok(sysPayProportionService.list(Wrappers.query(sysPayProportion).orderByDesc(CommonConstants.CREATE_TIME)));
}
/**
* 通过id查询公积金政策对应的缴费比例表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_syspayproportion_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_syspayproportion_get')")
public R<SysPayProportion> getById(@PathVariable("id") String id) {
return R.ok(sysPayProportionService.getById(id));
}
/**
* 新增公积金政策对应的缴费比例表
*
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return R
*/
@Operation(summary = "新增公积金政策对应的缴费比例表", description = "新增公积金政策对应的缴费比例表:hasPermission('social_syspayproportion_add')")
@SysLog("新增公积金政策对应的缴费比例表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_syspayproportion_add')")
public R<Boolean> save(@RequestBody SysPayProportion sysPayProportion) {
return R.ok(sysPayProportionService.save(sysPayProportion));
}
/**
* 修改公积金政策对应的缴费比例表
*
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return R
*/
@Operation(summary = "修改公积金政策对应的缴费比例表", description = "修改公积金政策对应的缴费比例表:hasPermission('social_syspayproportion_edit')")
@SysLog("修改公积金政策对应的缴费比例表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_syspayproportion_edit')")
public R<Boolean> updateById(@RequestBody SysPayProportion sysPayProportion) {
return R.ok(sysPayProportionService.updateById(sysPayProportion));
}
/**
* 通过id删除公积金政策对应的缴费比例表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除公积金政策对应的缴费比例表", description = "通过id删除公积金政策对应的缴费比例表:hasPermission('social_syspayproportion_del')")
@SysLog("通过id删除公积金政策对应的缴费比例表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_syspayproportion_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(sysPayProportionService.removeById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialLog;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialLogService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 社保变更记录表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tsociallog")
@Tag(name = "社保变更记录表管理")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class TSocialLogController {
private final TSocialLogService tSocialLogService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSocialLog 社保变更记录表
* @return
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
public R<IPage<TSocialLog>> getTSocialLogPage(Page<TSocialLog> page, TSocialLog tSocialLog) {
return new R<>(tSocialLogService.getTSocialLogPage(page, tSocialLog));
}
/**
* 不分页查询
*
* @param tSocialLog 社保变更记录表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('social_tsociallog_get')" )
public R<List<TSocialLog>> getTSocialLogNoPage(@RequestBody TSocialLog tSocialLog) {
return R.ok(tSocialLogService.list(Wrappers.query(tSocialLog).orderByDesc(CommonConstants.CREATE_TIME)));
}
/**
* 通过id查询社保变更记录表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('social_tsociallog_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tsociallog_get')")
public R<TSocialLog> getById(@PathVariable("id") String id) {
return R.ok(tSocialLogService.getById(id));
}
/**
* 新增社保变更记录表
*
* @param tSocialLog 社保变更记录表
* @return R
*/
@Operation(summary = "新增社保变更记录表", description = "新增社保变更记录表:hasPermission('social_tsociallog_add')")
@SysLog("新增社保变更记录表")
@PostMapping
@PreAuthorize("@pms.hasPermission('social_tsociallog_add')")
public R<Boolean> save(@RequestBody TSocialLog tSocialLog) {
return R.ok(tSocialLogService.save(tSocialLog));
}
/**
* 修改社保变更记录表
*
* @param tSocialLog 社保变更记录表
* @return R
*/
@Operation(summary = "修改社保变更记录表", description = "修改社保变更记录表:hasPermission('social_tsociallog_edit')")
@SysLog("修改社保变更记录表")
@PutMapping
@PreAuthorize("@pms.hasPermission('social_tsociallog_edit')")
public R<Boolean> updateById(@RequestBody TSocialLog tSocialLog) {
return R.ok(tSocialLogService.updateById(tSocialLog));
}
/**
* 通过id删除社保变更记录表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除社保变更记录表", description = "通过id删除社保变更记录表:hasPermission('social_tsociallog_del')")
@SysLog("通过id删除社保变更记录表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('social_tsociallog_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tSocialLogService.removeById(id));
}
}
package com.yifu.cloud.plus.v1.yifu.social.controller;
\ No newline at end of file
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 基数设置表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@Mapper
public interface SysBaseSetInfoMapper extends BaseMapper<SysBaseSetInfo> {
/**
* 基数设置表简单分页查询
*
* @param sysBaseSetInfo 基数设置表
* @return
*/
IPage<SysBaseSetInfo> getSysBaseSetInfoPage(Page<SysBaseSetInfo> page, @Param("sysBaseSetInfo") SysBaseSetInfo sysBaseSetInfo);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysPayProportion;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 公积金政策对应的缴费比例表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@Mapper
public interface SysPayProportionMapper extends BaseMapper<SysPayProportion> {
/**
* 公积金政策对应的缴费比例表简单分页查询
*
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return
*/
IPage<SysPayProportion> getSysPayProportionPage(Page<SysPayProportion> page, @Param("sysPayProportion") SysPayProportion sysPayProportion);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 社保变更记录表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@Mapper
public interface TSocialLogMapper extends BaseMapper<TSocialLog> {
/**
* 社保变更记录表简单分页查询
*
* @param tSocialLog 社保变更记录表
* @return
*/
IPage<TSocialLog> getTSocialLogPage(Page<TSocialLog> page, @Param("tSocialLog") TSocialLog tSocialLog);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.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.social.entity.SysBaseSetInfo;
/**
* 基数设置表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
public interface SysBaseSetInfoService extends IService<SysBaseSetInfo> {
/**
* 基数设置表简单分页查询
*
* @param sysBaseSetInfo 基数设置表
* @return
*/
IPage<SysBaseSetInfo> getSysBaseSetInfoPage(Page<SysBaseSetInfo> page, SysBaseSetInfo sysBaseSetInfo);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.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.social.entity.SysPayProportion;
/**
* 公积金政策对应的缴费比例表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
public interface SysPayProportionService extends IService<SysPayProportion> {
/**
* 公积金政策对应的缴费比例表简单分页查询
*
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return
*/
IPage<SysPayProportion> getSysPayProportionPage(Page<SysPayProportion> page, SysPayProportion sysPayProportion);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.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.social.entity.TSocialLog;
/**
* 社保变更记录表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
public interface TSocialLogService extends IService<TSocialLog> {
/**
* 社保变更记录表简单分页查询
*
* @param tSocialLog 社保变更记录表
* @return
*/
IPage<TSocialLog> getTSocialLogPage(Page<TSocialLog> page, TSocialLog tSocialLog);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.service.impl;
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.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysBaseSetInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.SysBaseSetInfoService;
import org.springframework.stereotype.Service;
/**
* 基数设置表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@Service
public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, SysBaseSetInfo> implements SysBaseSetInfoService {
/**
* 基数设置表简单分页查询
*
* @param sysBaseSetInfo 基数设置表
* @return
*/
@Override
public IPage<SysBaseSetInfo> getSysBaseSetInfoPage(Page<SysBaseSetInfo> page, SysBaseSetInfo sysBaseSetInfo) {
return baseMapper.getSysBaseSetInfoPage(page, sysBaseSetInfo);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.service.impl;
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.social.entity.SysPayProportion;
import com.yifu.cloud.plus.v1.yifu.social.mapper.SysPayProportionMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.SysPayProportionService;
import org.springframework.stereotype.Service;
/**
* 公积金政策对应的缴费比例表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@Service
public class SysPayProportionServiceImpl extends ServiceImpl<SysPayProportionMapper, SysPayProportion> implements SysPayProportionService {
/**
* 公积金政策对应的缴费比例表简单分页查询
*
* @param sysPayProportion 公积金政策对应的缴费比例表
* @return
*/
@Override
public IPage<SysPayProportion> getSysPayProportionPage(Page<SysPayProportion> page, SysPayProportion sysPayProportion) {
return baseMapper.getSysPayProportionPage(page, sysPayProportion);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.social.service.impl;
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.social.entity.TSocialLog;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialLogMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialLogService;
import org.springframework.stereotype.Service;
/**
* 社保变更记录表
*
* @author hgw
* @date 2022-07-11 18:21:23
*/
@Service
public class TSocialLogServiceImpl extends ServiceImpl<TSocialLogMapper, TSocialLog> implements TSocialLogService {
/**
* 社保变更记录表简单分页查询
*
* @param tSocialLog 社保变更记录表
* @return
*/
@Override
public IPage<TSocialLog> getTSocialLogPage(Page<TSocialLog> page, TSocialLog tSocialLog) {
return baseMapper.getTSocialLogPage(page, tSocialLog);
}
}
package com.yifu.cloud.plus.v1.yifu.social.service;
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.SysBaseSetInfoMapper">
<resultMap id="sysBaseSetInfoMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo">
<id property="id" column="ID"/>
<result property="province" column="PROVINCE"/>
<result property="city" column="CITY"/>
<result property="town" column="TOWN"/>
<result property="applyStartDate" column="APPLY_START_DATE"/>
<result property="applyEndDate" column="APPLY_END_DATE"/>
<result property="upperLimit" column="UPPER_LIMIT"/>
<result property="lowerLimit" column="LOWER_LIMIT"/>
<result property="payPolicy" column="PAY_POLICY"/>
<result property="baseType" column="BASE_TYPE"/>
<result property="unitPersionPro" column="UNIT_PERSION_PRO"/>
<result property="unitMedicalPro" column="UNIT_MEDICAL_PRO"/>
<result property="unitUnemploymentPro" column="UNIT_UNEMPLOYMENT_PRO"/>
<result property="unitInjuryPro" column="UNIT_INJURY_PRO"/>
<result property="unitBirthPro" column="UNIT_BIRTH_PRO"/>
<result property="unitProSum" column="UNIT_PRO_SUM"/>
<result property="personalPersionPro" column="PERSONAL_PERSION_PRO"/>
<result property="personalMedicalPro" column="PERSONAL_MEDICAL_PRO"/>
<result property="personalUnemploymentPro" column="PERSONAL_UNEMPLOYMENT_PRO"/>
<result property="personalProSum" column="PERSONAL_PRO_SUM"/>
<result property="isIllness" column="IS_ILLNESS"/>
<result property="isChargePersonal" column="IS_CHARGE_PERSONAL"/>
<result property="chargeCompany" column="CHARGE_COMPANY"/>
<result property="chargePersonal" column="CHARGE_PERSONAL"/>
<result property="collectType" column="COLLECT_TYPE"/>
<result property="payCompany" column="PAY_COMPANY"/>
<result property="payCompanyPro" column="PAY_COMPANY_PRO"/>
<result property="payPersonal" column="PAY_PERSONAL"/>
<result property="payPersonalPro" column="PAY_PERSONAL_PRO"/>
<result property="collectMoth" column="COLLECT_MOTH"/>
<result property="fundPayLowerLimit" column="FUND_PAY_LOWER_LIMIT"/>
<result property="fundPayUpperLimit" column="FUND_PAY_UPPER_LIMIT"/>
<result property="fundPayPoint" column="FUND_PAY_POINT"/>
<result property="fundPayType" column="FUND_PAY_TYPE"/>
<result property="housingFundCompamyPro" column="HOUSING_FUND_COMPAMY_PRO"/>
<result property="housingFundPersonalPro" column="HOUSING_FUND_PERSONAL_PRO"/>
<result property="departId" column="DEPART_ID"/>
<result property="status" column="STATUS"/>
<result property="valueType" column="VALUE_TYPE"/>
<result property="canOverpay" column="CAN_OVERPAY"/>
<result property="overpayNumber" column="OVERPAY_NUMBER"/>
<result property="haveThisMonth" column="HAVE_THIS_MONTH"/>
<result property="insurancePension" column="INSURANCE_PENSION"/>
<result property="insuranceMedical" column="INSURANCE_MEDICAL"/>
<result property="insuranceUnemployment" column="INSURANCE_UNEMPLOYMENT"/>
<result property="insuranceInjury" column="INSURANCE_INJURY"/>
<result property="insuranceBirth" column="INSURANCE_BIRTH"/>
<result property="insuranceBigailment" column="INSURANCE_BIGAILMENT"/>
<result property="insuranceIsLatestCardinality" column="INSURANCE_IS_LATEST_CARDINALITY"/>
<result property="deleteFlag" column="DELETE_FLAG"/>
<result property="departName" column="DEPART_NAME"/>
<result property="createBy" column="CREATE_BY"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap>
<sql id="Base_Column_List">
a
.
ID
,
a.PROVINCE,
a.CITY,
a.TOWN,
a.APPLY_START_DATE,
a.APPLY_END_DATE,
a.UPPER_LIMIT,
a.LOWER_LIMIT,
a.PAY_POLICY,
a.BASE_TYPE,
a.UNIT_PERSION_PRO,
a.UNIT_MEDICAL_PRO,
a.UNIT_UNEMPLOYMENT_PRO,
a.UNIT_INJURY_PRO,
a.UNIT_BIRTH_PRO,
a.UNIT_PRO_SUM,
a.PERSONAL_PERSION_PRO,
a.PERSONAL_MEDICAL_PRO,
a.PERSONAL_UNEMPLOYMENT_PRO,
a.PERSONAL_PRO_SUM,
a.IS_ILLNESS,
a.IS_CHARGE_PERSONAL,
a.CHARGE_COMPANY,
a.CHARGE_PERSONAL,
a.COLLECT_TYPE,
a.PAY_COMPANY,
a.PAY_COMPANY_PRO,
a.PAY_PERSONAL,
a.PAY_PERSONAL_PRO,
a.COLLECT_MOTH,
a.FUND_PAY_LOWER_LIMIT,
a.FUND_PAY_UPPER_LIMIT,
a.FUND_PAY_POINT,
a.FUND_PAY_TYPE,
a.HOUSING_FUND_COMPAMY_PRO,
a.HOUSING_FUND_PERSONAL_PRO,
a.DEPART_ID,
a.STATUS,
a.VALUE_TYPE,
a.CAN_OVERPAY,
a.OVERPAY_NUMBER,
a.HAVE_THIS_MONTH,
a.INSURANCE_PENSION,
a.INSURANCE_MEDICAL,
a.INSURANCE_UNEMPLOYMENT,
a.INSURANCE_INJURY,
a.INSURANCE_BIRTH,
a.INSURANCE_BIGAILMENT,
a.INSURANCE_IS_LATEST_CARDINALITY,
a.DELETE_FLAG,
a.DEPART_NAME,
a.CREATE_BY,
a.UPDATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_TIME
</sql>
<sql id="sysBaseSetInfo_where">
<if test="sysBaseSetInfo != null">
<if test="sysBaseSetInfo.id != null and sysBaseSetInfo.id.trim() != ''">
AND a.ID = #{sysBaseSetInfo.id}
</if>
<if test="sysBaseSetInfo.province != null">
AND a.PROVINCE = #{sysBaseSetInfo.province}
</if>
<if test="sysBaseSetInfo.city != null">
AND a.CITY = #{sysBaseSetInfo.city}
</if>
<if test="sysBaseSetInfo.town != null">
AND a.TOWN = #{sysBaseSetInfo.town}
</if>
<if test="sysBaseSetInfo.applyStartDate != null">
AND a.APPLY_START_DATE = #{sysBaseSetInfo.applyStartDate}
</if>
<if test="sysBaseSetInfo.applyEndDate != null">
AND a.APPLY_END_DATE = #{sysBaseSetInfo.applyEndDate}
</if>
<if test="sysBaseSetInfo.upperLimit != null">
AND a.UPPER_LIMIT = #{sysBaseSetInfo.upperLimit}
</if>
<if test="sysBaseSetInfo.lowerLimit != null">
AND a.LOWER_LIMIT = #{sysBaseSetInfo.lowerLimit}
</if>
<if test="sysBaseSetInfo.payPolicy != null and sysBaseSetInfo.payPolicy.trim() != ''">
AND a.PAY_POLICY = #{sysBaseSetInfo.payPolicy}
</if>
<if test="sysBaseSetInfo.baseType != null and sysBaseSetInfo.baseType.trim() != ''">
AND a.BASE_TYPE = #{sysBaseSetInfo.baseType}
</if>
<if test="sysBaseSetInfo.unitPersionPro != null">
AND a.UNIT_PERSION_PRO = #{sysBaseSetInfo.unitPersionPro}
</if>
<if test="sysBaseSetInfo.unitMedicalPro != null">
AND a.UNIT_MEDICAL_PRO = #{sysBaseSetInfo.unitMedicalPro}
</if>
<if test="sysBaseSetInfo.unitUnemploymentPro != null">
AND a.UNIT_UNEMPLOYMENT_PRO = #{sysBaseSetInfo.unitUnemploymentPro}
</if>
<if test="sysBaseSetInfo.unitInjuryPro != null">
AND a.UNIT_INJURY_PRO = #{sysBaseSetInfo.unitInjuryPro}
</if>
<if test="sysBaseSetInfo.unitBirthPro != null">
AND a.UNIT_BIRTH_PRO = #{sysBaseSetInfo.unitBirthPro}
</if>
<if test="sysBaseSetInfo.unitProSum != null">
AND a.UNIT_PRO_SUM = #{sysBaseSetInfo.unitProSum}
</if>
<if test="sysBaseSetInfo.personalPersionPro != null">
AND a.PERSONAL_PERSION_PRO = #{sysBaseSetInfo.personalPersionPro}
</if>
<if test="sysBaseSetInfo.personalMedicalPro != null">
AND a.PERSONAL_MEDICAL_PRO = #{sysBaseSetInfo.personalMedicalPro}
</if>
<if test="sysBaseSetInfo.personalUnemploymentPro != null">
AND a.PERSONAL_UNEMPLOYMENT_PRO = #{sysBaseSetInfo.personalUnemploymentPro}
</if>
<if test="sysBaseSetInfo.personalProSum != null">
AND a.PERSONAL_PRO_SUM = #{sysBaseSetInfo.personalProSum}
</if>
<if test="sysBaseSetInfo.isIllness != null and sysBaseSetInfo.isIllness.trim() != ''">
AND a.IS_ILLNESS = #{sysBaseSetInfo.isIllness}
</if>
<if test="sysBaseSetInfo.isChargePersonal != null and sysBaseSetInfo.isChargePersonal.trim() != ''">
AND a.IS_CHARGE_PERSONAL = #{sysBaseSetInfo.isChargePersonal}
</if>
<if test="sysBaseSetInfo.chargeCompany != null">
AND a.CHARGE_COMPANY = #{sysBaseSetInfo.chargeCompany}
</if>
<if test="sysBaseSetInfo.chargePersonal != null">
AND a.CHARGE_PERSONAL = #{sysBaseSetInfo.chargePersonal}
</if>
<if test="sysBaseSetInfo.collectType != null and sysBaseSetInfo.collectType.trim() != ''">
AND a.COLLECT_TYPE = #{sysBaseSetInfo.collectType}
</if>
<if test="sysBaseSetInfo.payCompany != null">
AND a.PAY_COMPANY = #{sysBaseSetInfo.payCompany}
</if>
<if test="sysBaseSetInfo.payCompanyPro != null">
AND a.PAY_COMPANY_PRO = #{sysBaseSetInfo.payCompanyPro}
</if>
<if test="sysBaseSetInfo.payPersonal != null">
AND a.PAY_PERSONAL = #{sysBaseSetInfo.payPersonal}
</if>
<if test="sysBaseSetInfo.payPersonalPro != null">
AND a.PAY_PERSONAL_PRO = #{sysBaseSetInfo.payPersonalPro}
</if>
<if test="sysBaseSetInfo.collectMoth != null">
AND a.COLLECT_MOTH = #{sysBaseSetInfo.collectMoth}
</if>
<if test="sysBaseSetInfo.fundPayLowerLimit != null">
AND a.FUND_PAY_LOWER_LIMIT = #{sysBaseSetInfo.fundPayLowerLimit}
</if>
<if test="sysBaseSetInfo.fundPayUpperLimit != null">
AND a.FUND_PAY_UPPER_LIMIT = #{sysBaseSetInfo.fundPayUpperLimit}
</if>
<if test="sysBaseSetInfo.fundPayPoint != null">
AND a.FUND_PAY_POINT = #{sysBaseSetInfo.fundPayPoint}
</if>
<if test="sysBaseSetInfo.fundPayType != null">
AND a.FUND_PAY_TYPE = #{sysBaseSetInfo.fundPayType}
</if>
<if test="sysBaseSetInfo.housingFundCompamyPro != null">
AND a.HOUSING_FUND_COMPAMY_PRO = #{sysBaseSetInfo.housingFundCompamyPro}
</if>
<if test="sysBaseSetInfo.housingFundPersonalPro != null">
AND a.HOUSING_FUND_PERSONAL_PRO = #{sysBaseSetInfo.housingFundPersonalPro}
</if>
<if test="sysBaseSetInfo.departId != null and sysBaseSetInfo.departId.trim() != ''">
AND a.DEPART_ID = #{sysBaseSetInfo.departId}
</if>
<if test="sysBaseSetInfo.status != null">
AND a.STATUS = #{sysBaseSetInfo.status}
</if>
<if test="sysBaseSetInfo.valueType != null and sysBaseSetInfo.valueType.trim() != ''">
AND a.VALUE_TYPE = #{sysBaseSetInfo.valueType}
</if>
<if test="sysBaseSetInfo.canOverpay != null and sysBaseSetInfo.canOverpay.trim() != ''">
AND a.CAN_OVERPAY = #{sysBaseSetInfo.canOverpay}
</if>
<if test="sysBaseSetInfo.overpayNumber != null">
AND a.OVERPAY_NUMBER = #{sysBaseSetInfo.overpayNumber}
</if>
<if test="sysBaseSetInfo.haveThisMonth != null and sysBaseSetInfo.haveThisMonth.trim() != ''">
AND a.HAVE_THIS_MONTH = #{sysBaseSetInfo.haveThisMonth}
</if>
<if test="sysBaseSetInfo.insurancePension != null and sysBaseSetInfo.insurancePension.trim() != ''">
AND a.INSURANCE_PENSION = #{sysBaseSetInfo.insurancePension}
</if>
<if test="sysBaseSetInfo.insuranceMedical != null and sysBaseSetInfo.insuranceMedical.trim() != ''">
AND a.INSURANCE_MEDICAL = #{sysBaseSetInfo.insuranceMedical}
</if>
<if test="sysBaseSetInfo.insuranceUnemployment != null and sysBaseSetInfo.insuranceUnemployment.trim() != ''">
AND a.INSURANCE_UNEMPLOYMENT = #{sysBaseSetInfo.insuranceUnemployment}
</if>
<if test="sysBaseSetInfo.insuranceInjury != null and sysBaseSetInfo.insuranceInjury.trim() != ''">
AND a.INSURANCE_INJURY = #{sysBaseSetInfo.insuranceInjury}
</if>
<if test="sysBaseSetInfo.insuranceBirth != null and sysBaseSetInfo.insuranceBirth.trim() != ''">
AND a.INSURANCE_BIRTH = #{sysBaseSetInfo.insuranceBirth}
</if>
<if test="sysBaseSetInfo.insuranceBigailment != null and sysBaseSetInfo.insuranceBigailment.trim() != ''">
AND a.INSURANCE_BIGAILMENT = #{sysBaseSetInfo.insuranceBigailment}
</if>
<if test="sysBaseSetInfo.insuranceIsLatestCardinality != null and sysBaseSetInfo.insuranceIsLatestCardinality.trim() != ''">
AND a.INSURANCE_IS_LATEST_CARDINALITY = #{sysBaseSetInfo.insuranceIsLatestCardinality}
</if>
<if test="sysBaseSetInfo.deleteFlag != null and sysBaseSetInfo.deleteFlag.trim() != ''">
AND a.DELETE_FLAG = #{sysBaseSetInfo.deleteFlag}
</if>
<if test="sysBaseSetInfo.departName != null and sysBaseSetInfo.departName.trim() != ''">
AND a.DEPART_NAME = #{sysBaseSetInfo.departName}
</if>
<if test="sysBaseSetInfo.createBy != null and sysBaseSetInfo.createBy.trim() != ''">
AND a.CREATE_BY = #{sysBaseSetInfo.createBy}
</if>
<if test="sysBaseSetInfo.updateBy != null and sysBaseSetInfo.updateBy.trim() != ''">
AND a.UPDATE_BY = #{sysBaseSetInfo.updateBy}
</if>
<if test="sysBaseSetInfo.createName != null and sysBaseSetInfo.createName.trim() != ''">
AND a.CREATE_NAME = #{sysBaseSetInfo.createName}
</if>
<if test="sysBaseSetInfo.createTime != null">
AND a.CREATE_TIME = #{sysBaseSetInfo.createTime}
</if>
<if test="sysBaseSetInfo.updateTime != null">
AND a.UPDATE_TIME = #{sysBaseSetInfo.updateTime}
</if>
</if>
</sql>
<!--sysBaseSetInfo简单分页查询-->
<select id="getSysBaseSetInfoPage" resultMap="sysBaseSetInfoMap">
SELECT
<include refid="Base_Column_List"/>
FROM sys_base_set_info a
<where>
1=1
<include refid="sysBaseSetInfo_where"/>
</where>
order by a.CREATE_TIME desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.SysPayProportionMapper">
<resultMap id="sysPayProportionMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.SysPayProportion">
<id property="id" column="ID"/>
<result property="companyPro" column="COMPANY_PRO"/>
<result property="personalPro" column="PERSONAL_PRO"/>
<result property="sysBaseSetId" column="SYS_BASE_SET_ID"/>
</resultMap>
<sql id="Base_Column_List">
a
.
ID
,
a.COMPANY_PRO,
a.PERSONAL_PRO,
a.SYS_BASE_SET_ID
</sql>
<sql id="sysPayProportion_where">
<if test="sysPayProportion != null">
<if test="sysPayProportion.id != null and sysPayProportion.id.trim() != ''">
AND a.ID = #{sysPayProportion.id}
</if>
<if test="sysPayProportion.companyPro != null">
AND a.COMPANY_PRO = #{sysPayProportion.companyPro}
</if>
<if test="sysPayProportion.personalPro != null">
AND a.PERSONAL_PRO = #{sysPayProportion.personalPro}
</if>
<if test="sysPayProportion.sysBaseSetId != null and sysPayProportion.sysBaseSetId.trim() != ''">
AND a.SYS_BASE_SET_ID = #{sysPayProportion.sysBaseSetId}
</if>
</if>
</sql>
<!--sysPayProportion简单分页查询-->
<select id="getSysPayProportionPage" resultMap="sysPayProportionMap">
SELECT
<include refid="Base_Column_List"/>
FROM sys_pay_proportion a
<where>
1=1
<include refid="sysPayProportion_where"/>
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialLogMapper">
<resultMap id="tSocialLogMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TSocialLog">
<id property="id" column="ID"/>
<result property="type" column="TYPE"/>
<result property="mainId" column="MAIN_ID"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="oldInfo" column="OLD_INFO"/>
<result property="newInfo" column="NEW_INFO"/>
<result property="differenceInfo" column="DIFFERENCE_INFO"/>
</resultMap>
<sql id="Base_Column_List">
a
.
ID
,
a.TYPE,
a.MAIN_ID,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.OLD_INFO,
a.NEW_INFO,
a.DIFFERENCE_INFO
</sql>
<sql id="tSocialLog_where">
<if test="tSocialLog != null">
<if test="tSocialLog.id != null and tSocialLog.id.trim() != ''">
AND a.ID = #{tSocialLog.id}
</if>
<if test="tSocialLog.type != null">
AND a.TYPE = #{tSocialLog.type}
</if>
<if test="tSocialLog.mainId != null and tSocialLog.mainId.trim() != ''">
AND a.MAIN_ID = #{tSocialLog.mainId}
</if>
<if test="tSocialLog.createBy != null and tSocialLog.createBy.trim() != ''">
AND a.CREATE_BY = #{tSocialLog.createBy}
</if>
<if test="tSocialLog.createName != null and tSocialLog.createName.trim() != ''">
AND a.CREATE_NAME = #{tSocialLog.createName}
</if>
<if test="tSocialLog.createTime != null">
AND a.CREATE_TIME = #{tSocialLog.createTime}
</if>
<if test="tSocialLog.updateBy != null and tSocialLog.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tSocialLog.updateBy}
</if>
<if test="tSocialLog.updateTime != null">
AND a.UPDATE_TIME = #{tSocialLog.updateTime}
</if>
<if test="tSocialLog.oldInfo != null and tSocialLog.oldInfo.trim() != ''">
AND a.OLD_INFO = #{tSocialLog.oldInfo}
</if>
<if test="tSocialLog.newInfo != null and tSocialLog.newInfo.trim() != ''">
AND a.NEW_INFO = #{tSocialLog.newInfo}
</if>
<if test="tSocialLog.differenceInfo != null and tSocialLog.differenceInfo.trim() != ''">
AND a.DIFFERENCE_INFO = #{tSocialLog.differenceInfo}
</if>
</if>
</sql>
<!--tSocialLog简单分页查询-->
<select id="getTSocialLogPage" resultMap="tSocialLogMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_social_log a
<where>
1=1
<include refid="tSocialLog_where"/>
</where>
order by a.CREATE_TIME desc
</select>
</mapper>
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