Commit 2e6e4526 authored by fangxinjiang's avatar fangxinjiang

社保多比例&派减截止日期开发-fxj

parent bffbce58
...@@ -85,7 +85,7 @@ public class TSocialDeadlineInfo extends BaseEntity { ...@@ -85,7 +85,7 @@ public class TSocialDeadlineInfo extends BaseEntity {
@TableField(updateStrategy = FieldStrategy.IGNORED) @TableField(updateStrategy = FieldStrategy.IGNORED)
private String town; private String town;
/** /**
* 社保起始日 * 社保(增员)起始日
*/ */
@ExcelAttribute(name = "社保起始日", isNotEmpty = true, errorInfo = "社保起始日不能为空", isDate = true) @ExcelAttribute(name = "社保起始日", isNotEmpty = true, errorInfo = "社保起始日不能为空", isDate = true)
@NotBlank(message = "社保起始日不能为空") @NotBlank(message = "社保起始日不能为空")
...@@ -93,7 +93,7 @@ public class TSocialDeadlineInfo extends BaseEntity { ...@@ -93,7 +93,7 @@ public class TSocialDeadlineInfo extends BaseEntity {
@Schema(description = "社保起始日") @Schema(description = "社保起始日")
private Date socialStartDate; private Date socialStartDate;
/** /**
* 社保截止日 * 社保(增员)截止日
*/ */
@ExcelAttribute(name = "社保截止日", isNotEmpty = true, errorInfo = "社保截止日不能为空", isDate = true) @ExcelAttribute(name = "社保截止日", isNotEmpty = true, errorInfo = "社保截止日不能为空", isDate = true)
@NotBlank(message = "社保截止日不能为空") @NotBlank(message = "社保截止日不能为空")
...@@ -101,7 +101,7 @@ public class TSocialDeadlineInfo extends BaseEntity { ...@@ -101,7 +101,7 @@ public class TSocialDeadlineInfo extends BaseEntity {
@Schema(description = "社保截止日") @Schema(description = "社保截止日")
private Date socialEndDate; private Date socialEndDate;
/** /**
* 医疗起始日 * 医疗(增员)起始日
*/ */
@ExcelAttribute(name = "医疗起始日", isNotEmpty = true, errorInfo = "医疗起始日不能为空", isDate = true) @ExcelAttribute(name = "医疗起始日", isNotEmpty = true, errorInfo = "医疗起始日不能为空", isDate = true)
@NotBlank(message = "医疗起始日不能为空") @NotBlank(message = "医疗起始日不能为空")
...@@ -109,7 +109,7 @@ public class TSocialDeadlineInfo extends BaseEntity { ...@@ -109,7 +109,7 @@ public class TSocialDeadlineInfo extends BaseEntity {
@Schema(description = "医疗起始日") @Schema(description = "医疗起始日")
private Date medicalStartDate; private Date medicalStartDate;
/** /**
* 医疗截止日 * 医疗(增员)截止日
*/ */
@ExcelAttribute(name = "医疗截止日", isNotEmpty = true, errorInfo = "医疗截止日不能为空", isDate = true) @ExcelAttribute(name = "医疗截止日", isNotEmpty = true, errorInfo = "医疗截止日不能为空", isDate = true)
@NotBlank(message = "医疗截止日不能为空") @NotBlank(message = "医疗截止日不能为空")
...@@ -141,4 +141,41 @@ public class TSocialDeadlineInfo extends BaseEntity { ...@@ -141,4 +141,41 @@ public class TSocialDeadlineInfo extends BaseEntity {
@Schema(description = "配置类型:0 非基础配置 1基础配置(后面配置都是按他生成的)") @Schema(description = "配置类型:0 非基础配置 1基础配置(后面配置都是按他生成的)")
private String type; private String type;
/**
* 社保减员起始日期
*/
@ExcelAttribute(name = "社保减员起始日期", isNotEmpty = true, errorInfo = "社保减员起始日期不能为空", isDate = true)
@NotBlank(message = "社保减员起始日期不可为空")
@ExcelProperty("社保减员起始日期")
@Schema(description = "社保减员起始日期")
private Date socialStartDateReduce;
/**
* 医疗减员起始日期
*/
@ExcelAttribute(name = "医疗减员起始日期", isNotEmpty = true, errorInfo = "医疗减员起始日期不能为空", isDate = true)
@NotBlank(message = "医疗减员起始日期不能为空")
@ExcelProperty("医疗减员起始日期")
@Schema(description = "医疗减员起始日期")
private Date medicalStartDateReduce;
/**
* 社保减员截止日期
*/
@ExcelAttribute(name = "社保减员截止日期", isNotEmpty = true, errorInfo = "社保减员截止日期不能为空", isDate = true)
@NotBlank(message = "社保减员截止日期不能为空")
@ExcelProperty("社保减员截止日期")
@Schema(description = "社保减员截止日期")
private Date socialEndDateReduce;
/**
* 医疗减员截止日期
*/
@ExcelAttribute(name = "医疗减员截止日期", isNotEmpty = true, errorInfo = "医疗减员截止日期不能为空", isDate = true)
@NotBlank(message = "医疗减员截止日期不能为空")
@ExcelProperty("医疗减员截止日期")
@Schema(description = "医疗减员截止日期")
private Date medicalEndDateReduce;
} }
...@@ -134,7 +134,7 @@ public class FundHandleExportVo implements Serializable { ...@@ -134,7 +134,7 @@ public class FundHandleExportVo implements Serializable {
@ExcelAttribute(name = "公积金起缴日期", errorInfo = "公积金起缴日期不能为空",needExport = true) @ExcelAttribute(name = "公积金起缴日期", errorInfo = "公积金起缴日期不能为空",needExport = true)
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金起缴日期" ) @ExcelProperty("公积金起缴日期" )
private LocalDateTime providentStart; private String providentStart;
/** /**
......
...@@ -477,30 +477,30 @@ public class TDispatchImportVo extends RowIndex implements Serializable { ...@@ -477,30 +477,30 @@ public class TDispatchImportVo extends RowIndex implements Serializable {
/** /**
* 单位公积金比例(原‘公积金比例’) * 单位公积金比例(原‘公积金比例’)
*/ */
@ExcelAttribute(name = "公积金比例" ) @ExcelAttribute(name = "单位公积金缴纳比例" )
@Schema(description = "公积金比例" ) @Schema(description = "单位公积金缴纳比例" )
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金比例" ) @ExcelProperty("单位公积金缴纳比例" )
private BigDecimal providentPer; private BigDecimal providentPer;
/** /**
* 个人公积金比例 * 个人公积金缴纳比例
*/ */
@ExcelAttribute(name = "个人公积金比例" ) @ExcelAttribute(name = "个人公积金缴纳比例" )
@Schema(description = "个人公积金比例" ) @Schema(description = "个人公积金缴纳比例" )
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金比例" ) @ExcelProperty("个人公积金缴纳比例" )
private BigDecimal personalProvidentPer; private BigDecimal personalProvidentPer;
/** /**
* 单位个人公积金比例是否相同 0 是 1 否 * 公积金单位个人比例是否一致 0 是 1 否
*/ */
@ExcelAttribute(name = "单位个人公积金比例是否相同" ,isNotEmpty = true,isDataId = true,readConverterExp = "0=是,1=否") @ExcelAttribute(name = "公积金单位个人比例是否一致" ,isNotEmpty = true,isDataId = true,readConverterExp = "0=是,1=否")
@Schema(description = "单位个人公积金比例是否相同" ) @Schema(description = "公积金单位个人比例是否一致" )
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("单位个人公积金比例是否相同" ) @ExcelProperty("公积金单位个人比例是否一致" )
private BigDecimal perFlag ; private String perFlag ;
/** /**
......
...@@ -295,14 +295,23 @@ public class TDispatchInfoExportVo { ...@@ -295,14 +295,23 @@ public class TDispatchInfoExportVo {
private BigDecimal unitProvidengCardinal; private BigDecimal unitProvidengCardinal;
/** /**
* 公积金缴纳比例 * 单位公积金缴纳比例(原:公积金缴纳比例)
*/ */
@ExcelAttribute(name = "公积金缴纳比例" ) @ExcelAttribute(name = "单位公积金缴纳比例" )
@Schema(description = "公积金缴纳比例" ) @Schema(description = "单位公积金缴纳比例" )
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("公积金缴纳比例" ) @ExcelProperty("单位公积金缴纳比例" )
private BigDecimal unitProvidentPer; private BigDecimal unitProvidentPer;
/**
* 个人公积金缴纳比例
*/
@ExcelAttribute(name = "个人公积金缴纳比例" )
@Schema(description = "个人公积金缴纳比例" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金缴纳比例" )
private BigDecimal personalProvidentPer;
/** /**
* 养老基数 * 养老基数
*/ */
......
...@@ -432,6 +432,14 @@ public class TPaymentInfoBatchVo { ...@@ -432,6 +432,14 @@ public class TPaymentInfoBatchVo {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金基数") @ExcelProperty("个人公积金基数")
private BigDecimal personalProidentSet; private BigDecimal personalProidentSet;
/**
* 个人公积金比例
*/
@ExcelAttribute(name = "个人公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金比例")
private BigDecimal personalProvidentPercent;
/** /**
* 个人公积金缴费 * 个人公积金缴费
*/ */
......
...@@ -377,6 +377,13 @@ public class TPaymentInfoExportVo extends RowIndex implements Serializable { ...@@ -377,6 +377,13 @@ public class TPaymentInfoExportVo extends RowIndex implements Serializable {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金基数") @ExcelProperty("个人公积金基数")
private BigDecimal personalProidentSet; private BigDecimal personalProidentSet;
/**
* 个人公积金比例
*/
@ExcelAttribute(name = "个人公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金比例")
private BigDecimal personalProvidentPercent;
/** /**
* 个人公积金费用 * 个人公积金费用
*/ */
......
...@@ -468,6 +468,13 @@ public class TPaymentInfoNewExportVo extends RowIndex implements Serializable { ...@@ -468,6 +468,13 @@ public class TPaymentInfoNewExportVo extends RowIndex implements Serializable {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金基数") @ExcelProperty("个人公积金基数")
private BigDecimal personalProidentSet; private BigDecimal personalProidentSet;
/**
* 个人公积金比例
*/
@ExcelAttribute(name = "个人公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("个人公积金比例")
private BigDecimal personalProvidentPercent;
/** /**
* 个人公积金费用 * 个人公积金费用
*/ */
......
...@@ -578,6 +578,15 @@ public class TPaymentInfoVo extends RowIndex implements Serializable { ...@@ -578,6 +578,15 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "公积金单边比例", converter = BigDecimalConverter.class) @ExcelProperty(value = "公积金单边比例", converter = BigDecimalConverter.class)
private BigDecimal providentPercent; private BigDecimal providentPercent;
/**
* 单位公积金比例-- 兼用多比例 实际使用值 providentPercent
*/
@ExcelAttribute(name = "单位公积金比例", isFloat = true,max = "100.00")
@Schema(description ="单位公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "单位公积金比例", converter = BigDecimalConverter.class)
private BigDecimal unitProvidentPercent;
/** /**
* 公积金单边金额 * 公积金单边金额
*/ */
...@@ -586,6 +595,15 @@ public class TPaymentInfoVo extends RowIndex implements Serializable { ...@@ -586,6 +595,15 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "公积金单边金额", converter = BigDecimalConverter.class) @ExcelProperty(value = "公积金单边金额", converter = BigDecimalConverter.class)
private BigDecimal unitProvidentSum; private BigDecimal unitProvidentSum;
/**
* 单位公积金金额--兼容多比例 实际使用值 unitProvidentSum
*/
@ExcelAttribute(name = "单位公积金金额", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="单位公积金金额")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "单位公积金金额", converter = BigDecimalConverter.class)
private BigDecimal unitProvidentFee;
/** /**
* 个人公积金基数 * 个人公积金基数
*/ */
...@@ -594,13 +612,23 @@ public class TPaymentInfoVo extends RowIndex implements Serializable { ...@@ -594,13 +612,23 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "个人公积金基数", converter = BigDecimalConverter.class) @ExcelProperty(value = "个人公积金基数", converter = BigDecimalConverter.class)
private BigDecimal personalProidentSet; private BigDecimal personalProidentSet;
/**
* 个人公积金比例
*/
@ExcelAttribute(name = "个人公积金比例", isFloat = true,max = "100.00")
@Schema(description ="个人公积金比例")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "个人公积金比例", converter = BigDecimalConverter.class)
private BigDecimal personalProvidentPercent;
/** /**
* 个人公积金费用 * 个人公积金费用
*/ */
@ExcelAttribute(name = "个人公积金费用") @ExcelAttribute(name = "个人公积金金额")
@Schema(description ="个人公积金费用") @Schema(description ="个人公积金金额")
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "个人公积金费用", converter = BigDecimalConverter.class) @ExcelProperty(value = "个人公积金金额", converter = BigDecimalConverter.class)
private BigDecimal personalProvidentSum; private BigDecimal personalProvidentSum;
/** /**
* 创建者 * 创建者
......
...@@ -15,7 +15,6 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;/* ...@@ -15,7 +15,6 @@ package com.yifu.cloud.plus.v1.yifu.social.controller;/*
* Author: lengleng (wangiegie@gmail.com) * Author: lengleng (wangiegie@gmail.com)
*/ */
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -53,8 +52,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -53,8 +52,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
...@@ -298,7 +295,42 @@ public class TPaymentInfoController { ...@@ -298,7 +295,42 @@ public class TPaymentInfoController {
} }
try { try {
if (Common.isNotNull(requestId)) { if (Common.isNotNull(requestId)) {
return tPaymentInfoService.batchImportPaymentFundInfo(file.getInputStream()); return tPaymentInfoService.batchImportPaymentFundInfo(file.getInputStream(),0);
} else {
return R.failed(ResultConstants.NO_GETLOCK_DATA);
}
}finally {
//主动释放锁
RedisDistributedLock.unlock(key, requestId);
}
}
/**
* 导入公积金-多比例
*
* @author huyc
* @date 2022-07-27
**/
@SneakyThrows
@Operation(description = "导入公积金-多比例 hasPermission('social_tpaymentinfo_batchImport')")
@SysLog("导入公积金-多比例")
@PostMapping("/batchImportPaymentFundInfoNew")
@PreAuthorize("@pms.hasPermission('social_tpaymentinfo_batchImport')")
public R<List<ErrorDetailVO>> importListFundNew(@RequestBody MultipartFile file) {
YifuUser user = SecurityUtils.getUser();
if (Common.isEmpty(user)){
return R.failed(CommonConstants.USER_FAIL);
}
// 获取redis分布式事务锁
String key = CacheConstants.PAYMENT_FUND_IMPORT + CommonConstants.DOWN_LINE_STRING + user.getId();
String requestId;
try {
requestId = RedisDistributedLock.getLock(key,"10");
} catch (Exception e) {
throw new RuntimeException(ResultConstants.NO_GETLOCK_DATA+CommonConstants.DOWN_LINE_STRING+e.getMessage());
}
try {
if (Common.isNotNull(requestId)) {
return tPaymentInfoService.batchImportPaymentFundInfo(file.getInputStream(),1);
} else { } else {
return R.failed(ResultConstants.NO_GETLOCK_DATA); return R.failed(ResultConstants.NO_GETLOCK_DATA);
} }
...@@ -307,7 +339,6 @@ public class TPaymentInfoController { ...@@ -307,7 +339,6 @@ public class TPaymentInfoController {
RedisDistributedLock.unlock(key, requestId); RedisDistributedLock.unlock(key, requestId);
} }
} }
/** /**
* 缴费库 批量导出 * 缴费库 批量导出
* *
......
...@@ -85,9 +85,10 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> { ...@@ -85,9 +85,10 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
/** /**
* 批量导入公积金 * 批量导入公积金
* @param inputStream * @param inputStream
* @param type 0 单边比例 1 多比例
* @return * @return
*/ */
R<List<ErrorDetailVO>> batchImportPaymentFundInfo(InputStream inputStream); R<List<ErrorDetailVO>> batchImportPaymentFundInfo(InputStream inputStream,int type);
/** /**
* 导出缴费库 * 导出缴费库
......
...@@ -1526,6 +1526,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -1526,6 +1526,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_FUND_PERCENT_NOT_EXIST))); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_FUND_PERCENT_NOT_EXIST)));
return true; return true;
} }
// 校验公积金比例后会同步excel的个人公积金比例,顺序不要调整了
fund.setPersonalProvidentPer(excel.getPersonalProvidentPer());
fund.setCanOverpay(fundSet.getCanOverpay()); fund.setCanOverpay(fundSet.getCanOverpay());
fund.setOverpayNumber(fundSet.getOverpayNumber()); fund.setOverpayNumber(fundSet.getOverpayNumber());
fund.setFundBaseSetId(fundSet.getId()); fund.setFundBaseSetId(fundSet.getId());
...@@ -1550,8 +1552,6 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T ...@@ -1550,8 +1552,6 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
fund.setPersonalProvidentFee(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(fund.getPersonalProvidentCardinal(), fund.getPersonalProvidentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())),Integer.valueOf(fund.getFundPayPoint()))); fund.setPersonalProvidentFee(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(fund.getPersonalProvidentCardinal(), fund.getPersonalProvidentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())),Integer.valueOf(fund.getFundPayPoint())));
} }
} }
// 校验公积金比例后会同步excel的个人公积金比例,顺序不要调整了
fund.setPersonalProvidentPer(excel.getPersonalProvidentPer());
funds.put(excel.getEmpIdcard(),fund); funds.put(excel.getEmpIdcard(),fund);
} }
return false; return false;
......
...@@ -2052,7 +2052,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2052,7 +2052,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
tProvidentFund = null; tProvidentFund = null;
} }
//计算公积金合计,个人金额和单位金额一致 //计算公积金合计,个人金额和单位金额一致
infoVo.setProvidentSum(BigDecimalUtils.safeAdd(infoVo.getUnitProvidentSum(), infoVo.getUnitProvidentSum())); infoVo.setProvidentSum(BigDecimalUtils.safeAdd(infoVo.getUnitProvidentSum(), infoVo.getPersonalProvidentSum()));
// 判重 // 判重
if (paymentInfoMap.size() > CommonConstants.ZERO_INT) { if (paymentInfoMap.size() > CommonConstants.ZERO_INT) {
paymentInfo = (TPaymentInfo) paymentInfoMap.get(infoVo.getProvidentPayAddr() paymentInfo = (TPaymentInfo) paymentInfoMap.get(infoVo.getProvidentPayAddr()
...@@ -2180,8 +2180,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2180,8 +2180,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
paymentInfo.setUnitProvidentSet(null == infoVo.getUnitProvidentSet() ? BigDecimal.ZERO : infoVo.getUnitProvidentSet()); paymentInfo.setUnitProvidentSet(null == infoVo.getUnitProvidentSet() ? BigDecimal.ZERO : infoVo.getUnitProvidentSet());
paymentInfo.setPersonalProidentSet(null == infoVo.getUnitProvidentSet() ? BigDecimal.ZERO : infoVo.getUnitProvidentSet()); paymentInfo.setPersonalProidentSet(null == infoVo.getUnitProvidentSet() ? BigDecimal.ZERO : infoVo.getUnitProvidentSet());
paymentInfo.setProvidentPercent(null == infoVo.getProvidentPercent() ? BigDecimal.ZERO : infoVo.getProvidentPercent()); paymentInfo.setProvidentPercent(null == infoVo.getProvidentPercent() ? BigDecimal.ZERO : infoVo.getProvidentPercent());
//个人单边比例 fxj 2024-12-06 v1.7.3
paymentInfo.setPersonalProvidentPercent(null == infoVo.getPersonalProvidentPercent() ? BigDecimal.ZERO : infoVo.getPersonalProvidentPercent());
paymentInfo.setProvidentNo(infoVo.getProvidentNo()); paymentInfo.setProvidentNo(infoVo.getProvidentNo());
paymentInfo.setPersonalProvidentSum(null == infoVo.getUnitProvidentSum() ? BigDecimal.ZERO : infoVo.getUnitProvidentSum()); //个人单表金额 fxj 2024-12-06 v1.7.3
paymentInfo.setPersonalProvidentSum(null == infoVo.getPersonalProvidentSum() ? BigDecimal.ZERO : infoVo.getPersonalProvidentSum());
paymentInfo.setUnitProvidentSum(null == infoVo.getUnitProvidentSum() ? BigDecimal.ZERO : infoVo.getUnitProvidentSum()); paymentInfo.setUnitProvidentSum(null == infoVo.getUnitProvidentSum() ? BigDecimal.ZERO : infoVo.getUnitProvidentSum());
paymentInfo.setProvidentSum(null == infoVo.getProvidentSum() ? BigDecimal.ZERO : infoVo.getProvidentSum()); paymentInfo.setProvidentSum(null == infoVo.getProvidentSum() ? BigDecimal.ZERO : infoVo.getProvidentSum());
paymentInfo.setSumAll(paymentInfo.getProvidentSum()); paymentInfo.setSumAll(paymentInfo.getProvidentSum());
...@@ -2211,7 +2214,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2211,7 +2214,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
} }
@Override @Override
public R<List<ErrorDetailVO>> batchImportPaymentFundInfo(InputStream inputStream) { public R<List<ErrorDetailVO>> batchImportPaymentFundInfo(InputStream inputStream, int type) {
List<ErrorDetailVO> errorMessageList = new ArrayList<>(); List<ErrorDetailVO> errorMessageList = new ArrayList<>();
ExcelUtil<TPaymentInfoVo> util1 = new ExcelUtil<>(TPaymentInfoVo.class); ExcelUtil<TPaymentInfoVo> util1 = new ExcelUtil<>(TPaymentInfoVo.class);
//批量插入的集合 //批量插入的集合
...@@ -2258,6 +2261,17 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2258,6 +2261,17 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if (Common.isNotNull(errorMessage)) { if (Common.isNotNull(errorMessage)) {
errorMessageList.add(new ErrorDetailVO(errorMessage.getLineNum(), errorMessage.getMessage())); errorMessageList.add(new ErrorDetailVO(errorMessage.getLineNum(), errorMessage.getMessage()));
} else { } else {
//直接兼容多比例 fxj 2024-12-06 v1.7.3 type=1 为多比例
if (type == CommonConstants.ZERO_INT){
//非多比例时 直接赋值个人公积金比例和金额 以便后面统一处理
data.setPersonalProvidentPercent(null==data.getProvidentPercent()? BigDecimal.ZERO:data.getProvidentPercent());
data.setPersonalProvidentSum(null==data.getUnitProvidentSum()? BigDecimal.ZERO:data.getUnitProvidentSum());
}else {
// 多比例时 单位公积金比例 和金额 用冗余字段赋值
data.setProvidentPercent(null==data.getUnitProvidentPercent()? BigDecimal.ZERO:data.getUnitProvidentPercent());
data.setUnitProvidentSum(null==data.getUnitProvidentFee()? BigDecimal.ZERO:data.getUnitProvidentFee());
data.setPersonalProidentSet(null==data.getUnitProvidentSet()? BigDecimal.ZERO:data.getUnitProvidentSet());
}
cachedDataList.add(data); cachedDataList.add(data);
} }
if (cachedDataList.size() >= BATCH_COUNT) { if (cachedDataList.size() >= BATCH_COUNT) {
......
...@@ -307,12 +307,29 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI ...@@ -307,12 +307,29 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI
if (Common.isNotNull(save.getSocialEndDate())) { if (Common.isNotNull(save.getSocialEndDate())) {
save.setSocialEndDate(this.getNewDateByOldDate(save.getSocialEndDate())); save.setSocialEndDate(this.getNewDateByOldDate(save.getSocialEndDate()));
} }
//2024-12-09 fxj v1.7.3
if (Common.isNotNull(save.getSocialStartDateReduce())){
save.setSocialStartDateReduce(this.getNewDateByOldDate(save.getSocialStartDateReduce()));
}
if (Common.isNotNull(save.getSocialEndDateReduce())){
save.setSocialEndDateReduce(this.getNewDateByOldDate(save.getSocialEndDateReduce()));
}
if (Common.isNotNull(save.getMedicalStartDateReduce())){
save.setMedicalStartDateReduce(this.getNewDateByOldDate(save.getMedicalStartDateReduce()));
}
if (Common.isNotNull(save.getMedicalEndDateReduce())){
save.setMedicalEndDateReduce(this.getNewDateByOldDate(save.getMedicalEndDateReduce()));
}
initSocialEndDate(holidayMap, save); initSocialEndDate(holidayMap, save);
initMedicalEndDate(holidayMap, save); initMedicalEndDate(holidayMap, save);
//处理社保减少截止时间和医保减少截止时间
initSocialEndDateReduce(holidayMap, save);
initMedicalEndDateReduce(holidayMap, save);
save.setUpdateTime(null); save.setUpdateTime(null);
save.setUpdateBy(null); save.setUpdateBy(null);
save.setUpdateName(null); save.setUpdateName(null);
//已存在跳过
queryWrapper = initCountQuery(save,queryWrapper); queryWrapper = initCountQuery(save,queryWrapper);
if (baseMapper.selectCount(queryWrapper) > 0){ if (baseMapper.selectCount(queryWrapper) > 0){
continue; continue;
...@@ -458,6 +475,28 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI ...@@ -458,6 +475,28 @@ public class TSocialDeadlineInfoServiceImpl extends ServiceImpl<TSocialDeadlineI
initSocialEndDate(holidayMap,save); initSocialEndDate(holidayMap,save);
} }
private void initSocialEndDateReduce(Map<String, String> holidayMap, TSocialDeadlineInfo save) {
// type 0 休假 1 补班
String day= holidayMap.get(DateUtil.getDay(save.getSocialEndDateReduce()));
if (Common.isNotNull(day)){
save.setSocialEndDateReduce(DateUtil.addDayByDate(save.getSocialEndDateReduce(),CommonConstants.ONE_INT_NEGATE));
}else {
return;
}
initSocialEndDateReduce(holidayMap,save);
}
private void initMedicalEndDateReduce(Map<String, String> holidayMap, TSocialDeadlineInfo save) {
// type 0 休假 1 补班
String day= holidayMap.get(DateUtil.getDay(save.getMedicalEndDateReduce()));
if (Common.isNotNull(day)){
save.setMedicalEndDateReduce(DateUtil.addDayByDate(save.getMedicalEndDateReduce(),CommonConstants.ONE_INT_NEGATE));
}else {
return;
}
initMedicalEndDateReduce(holidayMap,save);
}
/** /**
* @Description: 获取 当月启用 的配置 * @Description: 获取 当月启用 的配置
* @Author: hgw * @Author: hgw
......
...@@ -181,6 +181,9 @@ ...@@ -181,6 +181,9 @@
<result property="graduationTime" column="GRADUATION_TIME"/> <result property="graduationTime" column="GRADUATION_TIME"/>
<result property="autoFlag" column="AUTO_FLAG"/> <result property="autoFlag" column="AUTO_FLAG"/>
<result property="unitProvidentPer" column="UNIT_PROVIDENT_PER"/>
<result property="personalProvidentPer" column="PERSONAL_PROVIDENT_PER"/>
</resultMap> </resultMap>
<resultMap id="fundSupplementaryMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.FundSupplementaryExportVo"> <resultMap id="fundSupplementaryMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.FundSupplementaryExportVo">
...@@ -965,6 +968,7 @@ ...@@ -965,6 +968,7 @@
c.PROVIDENT_HOUSEHOLD_NAME, c.PROVIDENT_HOUSEHOLD_NAME,
c.UNIT_PROVIDENG_CARDINAL, c.UNIT_PROVIDENG_CARDINAL,
c.UNIT_PROVIDENT_PER, c.UNIT_PROVIDENT_PER,
c.PERSONAL_PROVIDENT_PER,
a.EMP_MOBILE, a.EMP_MOBILE,
a.EDUCATION_NAME, a.EDUCATION_NAME,
a.SCHOOL_NAME, a.SCHOOL_NAME,
......
...@@ -106,6 +106,8 @@ ...@@ -106,6 +106,8 @@
<result property="payCollectFlag" column="PAY_COLLECT_FLAG"/> <result property="payCollectFlag" column="PAY_COLLECT_FLAG"/>
<result property="bpoFlag" column="BPO_FLAG"/> <result property="bpoFlag" column="BPO_FLAG"/>
<result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/> <result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/>
<result property="personalProvidentPercent" column="PERSONAL_PROVIDENT_PERCENT"/>
</resultMap> </resultMap>
<resultMap id="tPaymentInfoSumMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoExportVo"> <resultMap id="tPaymentInfoSumMap" type="com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoExportVo">
<result property="empName" column="EMP_NAME"/> <result property="empName" column="EMP_NAME"/>
...@@ -151,6 +153,7 @@ ...@@ -151,6 +153,7 @@
<result property="providentPercent" column="PROVIDENT_PERCENT"/> <result property="providentPercent" column="PROVIDENT_PERCENT"/>
<result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/> <result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/>
<result property="personalProidentSet" column="PERSONAL_PROIDENT_SET"/> <result property="personalProidentSet" column="PERSONAL_PROIDENT_SET"/>
<result property="personalProvidentPercent" column="PERSONAL_PROVIDENT_PERCENT"/>
<result property="socialCreateName" column="SOCIAL_CREATE_NAME"/> <result property="socialCreateName" column="SOCIAL_CREATE_NAME"/>
<result property="socialCreateTime" column="SOCIAL_CREATE_TIME"/> <result property="socialCreateTime" column="SOCIAL_CREATE_TIME"/>
<result property="fundCreateName" column="FUND_CREATE_NAME"/> <result property="fundCreateName" column="FUND_CREATE_NAME"/>
...@@ -248,6 +251,7 @@ ...@@ -248,6 +251,7 @@
<result property="providentPercent" column="PROVIDENT_PERCENT"/> <result property="providentPercent" column="PROVIDENT_PERCENT"/>
<result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/> <result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/>
<result property="personalProidentSet" column="PERSONAL_PROIDENT_SET"/> <result property="personalProidentSet" column="PERSONAL_PROIDENT_SET"/>
<result property="personalProvidentPercent" column="PERSONAL_PROVIDENT_PERCENT"/>
<result property="personalProvidentSum" column="PERSONAL_PROVIDENT_SUM"/> <result property="personalProvidentSum" column="PERSONAL_PROVIDENT_SUM"/>
<result property="createName" column="CREATE_NAME"/> <result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/> <result property="createTime" column="CREATE_TIME"/>
...@@ -356,6 +360,7 @@ ...@@ -356,6 +360,7 @@
<result property="providentPercent" column="PROVIDENT_PERCENT"/> <result property="providentPercent" column="PROVIDENT_PERCENT"/>
<result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/> <result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/>
<result property="personalProidentSet" column="PERSONAL_PROIDENT_SET"/> <result property="personalProidentSet" column="PERSONAL_PROIDENT_SET"/>
<result property="personalProvidentPercent" column="PERSONAL_PROVIDENT_PERCENT"/>
<result property="personalProvidentSum" column="PERSONAL_PROVIDENT_SUM"/> <result property="personalProvidentSum" column="PERSONAL_PROVIDENT_SUM"/>
<result property="keyGroup" column="keyGroup"/> <result property="keyGroup" column="keyGroup"/>
<result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/> <result property="secondIndicatorBelong" column="SECOND_INDICATOR_BELONG"/>
...@@ -1966,6 +1971,7 @@ ...@@ -1966,6 +1971,7 @@
c.PERSONAL_UNEMPLOYMENT_PER, c.PERSONAL_UNEMPLOYMENT_PER,
c.PROVIDENT_NO AS PROVIDENT_NO, c.PROVIDENT_NO AS PROVIDENT_NO,
c.PERSONAL_PROIDENT_SET, c.PERSONAL_PROIDENT_SET,
c.PERSONAL_PROVIDENT_PERCENT,
c.UNIT_PROVIDENT_SET, c.UNIT_PROVIDENT_SET,
c.PROVIDENT_PERCENT, c.PROVIDENT_PERCENT,
c.UNIT_PROVIDENT_SUM c.UNIT_PROVIDENT_SUM
...@@ -2028,6 +2034,7 @@ ...@@ -2028,6 +2034,7 @@
w.PERSONAL_UNEMPLOYMENT_PER, w.PERSONAL_UNEMPLOYMENT_PER,
MAX( w.PROVIDENT_NO ) AS PROVIDENT_NO, MAX( w.PROVIDENT_NO ) AS PROVIDENT_NO,
MAX( w.PERSONAL_PROIDENT_SET ) AS PERSONAL_PROIDENT_SET, MAX( w.PERSONAL_PROIDENT_SET ) AS PERSONAL_PROIDENT_SET,
w.PERSONAL_PROVIDENT_PERCENT,
SUM( w.UNIT_PROVIDENT_SET ) AS UNIT_PROVIDENT_SET, SUM( w.UNIT_PROVIDENT_SET ) AS UNIT_PROVIDENT_SET,
SUM( w.PROVIDENT_PERCENT ) AS PROVIDENT_PERCENT, SUM( w.PROVIDENT_PERCENT ) AS PROVIDENT_PERCENT,
SUM( w.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM SUM( w.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM
...@@ -2092,6 +2099,7 @@ ...@@ -2092,6 +2099,7 @@
a.UNIT_PROVIDENT_SET, a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT, a.PROVIDENT_PERCENT,
a.PERSONAL_PROIDENT_SET, a.PERSONAL_PROIDENT_SET,
a.PERSONAL_PROVIDENT_PERCENT,
a.UNIT_PROVIDENT_SUM a.UNIT_PROVIDENT_SUM
FROM t_payment_info a FROM t_payment_info a
<where> <where>
...@@ -2161,6 +2169,7 @@ ...@@ -2161,6 +2169,7 @@
a.UNIT_PROVIDENT_SET, a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT, a.PROVIDENT_PERCENT,
a.PERSONAL_PROIDENT_SET, a.PERSONAL_PROIDENT_SET,
a.PERSONAL_PROVIDENT_PERCENT,
SUM( a.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM SUM( a.UNIT_PROVIDENT_SUM ) AS UNIT_PROVIDENT_SUM
FROM t_payment_info a FROM t_payment_info a
<where> <where>
...@@ -2224,6 +2233,7 @@ ...@@ -2224,6 +2233,7 @@
a.UNIT_PROVIDENT_SUM, a.UNIT_PROVIDENT_SUM,
a.PERSONAL_PROIDENT_SET, a.PERSONAL_PROIDENT_SET,
a.PERSONAL_PROVIDENT_SUM, a.PERSONAL_PROVIDENT_SUM,
a.PERSONAL_PROVIDENT_PERCENT,
CASE WHEN a.PUSH_STATUS=0 THEN "已推送" CASE WHEN a.PUSH_STATUS=0 THEN "已推送"
WHEN a.PUSH_STATUS =1 THEN "未推送" WHEN a.PUSH_STATUS =1 THEN "未推送"
ELSE a.PUSH_STATUS END as "PUSH_STATUS", ELSE a.PUSH_STATUS END as "PUSH_STATUS",
...@@ -2310,6 +2320,7 @@ ...@@ -2310,6 +2320,7 @@
MAX( w.PERSONAL_PROIDENT_SET ) AS PERSONAL_PROIDENT_SET, MAX( w.PERSONAL_PROIDENT_SET ) AS PERSONAL_PROIDENT_SET,
SUM( w.UNIT_PROVIDENT_SET ) AS UNIT_PROVIDENT_SET, SUM( w.UNIT_PROVIDENT_SET ) AS UNIT_PROVIDENT_SET,
SUM( w.PROVIDENT_PERCENT ) AS PROVIDENT_PERCENT, SUM( w.PROVIDENT_PERCENT ) AS PROVIDENT_PERCENT,
w.PERSONAL_PROVIDENT_PERCENT,
w.SOCIAL_CREATE_NAME, w.SOCIAL_CREATE_NAME,
w.SOCIAL_CREATE_TIME, w.SOCIAL_CREATE_TIME,
MAX( w.FUND_CREATE_NAME ) AS FUND_CREATE_NAME, MAX( w.FUND_CREATE_NAME ) AS FUND_CREATE_NAME,
...@@ -2361,6 +2372,7 @@ ...@@ -2361,6 +2372,7 @@
a.UNIT_PROVIDENT_SET, a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT, a.PROVIDENT_PERCENT,
a.PERSONAL_PROIDENT_SET, a.PERSONAL_PROIDENT_SET,
a.PERSONAL_PROVIDENT_PERCENT,
a.CREATE_NAME AS SOCIAL_CREATE_NAME, a.CREATE_NAME AS SOCIAL_CREATE_NAME,
DATE_FORMAT(a.CREATE_TIME,'%Y-%m-%d') AS SOCIAL_CREATE_TIME, DATE_FORMAT(a.CREATE_TIME,'%Y-%m-%d') AS SOCIAL_CREATE_TIME,
NULL AS FUND_CREATE_NAME, NULL AS FUND_CREATE_NAME,
...@@ -2419,6 +2431,7 @@ ...@@ -2419,6 +2431,7 @@
a.UNIT_PROVIDENT_SET, a.UNIT_PROVIDENT_SET,
a.PROVIDENT_PERCENT, a.PROVIDENT_PERCENT,
a.PERSONAL_PROIDENT_SET, a.PERSONAL_PROIDENT_SET,
a.PERSONAL_PROVIDENT_PERCENT,
NULL AS SOCIAL_CREATE_NAME, NULL AS SOCIAL_CREATE_NAME,
NULL AS SOCIAL_CREATE_TIME, NULL AS SOCIAL_CREATE_TIME,
a.CREATE_NAME AS FUND_CREATE_NAME, a.CREATE_NAME AS FUND_CREATE_NAME,
......
...@@ -41,6 +41,10 @@ ...@@ -41,6 +41,10 @@
<result property="type" column="TYPE"/> <result property="type" column="TYPE"/>
<result property="socialStartDate" column="SOCIAL_START_DATE"/> <result property="socialStartDate" column="SOCIAL_START_DATE"/>
<result property="medicalStartDate" column="MEDICAL_START_DATE"/> <result property="medicalStartDate" column="MEDICAL_START_DATE"/>
<result property="socialStartDateReduce" column="SOCIAL_START_DATE_REDUCE"/>
<result property="medicalStartDateReduce" column="MEDICAL_START_DATE_REDUCE"/>
<result property="socialEndDateReduce" column="SOCIAL_END_DATE_REDUCE"/>
<result property="medicalEndDateReduce" column="MEDICAL_END_DATE_REDUCE"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -57,7 +61,11 @@ ...@@ -57,7 +61,11 @@
a.UPDATE_NAME, a.UPDATE_NAME,
a.UPDATE_TIME, a.UPDATE_TIME,
a.STATUS,a.TYPE, a.STATUS,a.TYPE,
a.SOCIAL_START_DATE,a.MEDICAL_START_DATE a.SOCIAL_START_DATE,a.MEDICAL_START_DATE,
a.SOCIAL_START_DATE_REDUCE,
a.MEDICAL_START_DATE_REDUCE,
a.SOCIAL_END_DATE_REDUCE,
a.MEDICAL_END_DATE_REDUCE
</sql> </sql>
<sql id="tSocialDeadlineInfo_where"> <sql id="tSocialDeadlineInfo_where">
<if test="tSocialDeadlineInfo != null"> <if test="tSocialDeadlineInfo != null">
......
...@@ -111,7 +111,7 @@ public class UserController { ...@@ -111,7 +111,7 @@ public class UserController {
@GetMapping("/getInfoByUsername") @GetMapping("/getInfoByUsername")
public UserInfo infoAPI(@RequestParam(required = true, name = "username") String username, public UserInfo infoAPI(@RequestParam(required = true, name = "username") String username,
@RequestParam(required = false, name = "password") String password) { @RequestParam(required = false, name = "password") String password) {
SysUser user = userService.getOne(Wrappers.<SysUser>query().lambda().eq(SysUser::getUsername, username)); SysUser user = userService.getOne(Wrappers.<SysUser>query().lambda().eq(SysUser::getUsername, username).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(user)) { if (Common.isNotNull(user)) {
userService.ldapLogin(username, password, user); userService.ldapLogin(username, password, user);
} }
......
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