Commit d5baee3f authored by fangxinjiang's avatar fangxinjiang

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

parents 8c7ced23 fd61bf08
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.util.List;
@Data
public class TSettleDomainListVo {
/**
* 合同主体对应的单位名称
*/
private List<TSettleDomainSelectVo> listSelectVO;
}
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package com.yifu.cloud.plus.v1.yifu.archives.controller; package com.yifu.cloud.plus.v1.yifu.archives.controller;
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;
import com.pig4cloud.plugin.excel.annotation.RequestExcel; import com.pig4cloud.plugin.excel.annotation.RequestExcel;
...@@ -117,6 +118,17 @@ public class TEmpChangeInfoController { ...@@ -117,6 +118,17 @@ public class TEmpChangeInfoController {
return R.ok(tEmpChangeInfoService.removeById(id)); return R.ok(tEmpChangeInfoService.removeById(id));
} }
/**
* 分页查询获取所有项目名称
* @param page 分页对象
* @return
*/
@Operation(description = "分页查询")
@GetMapping("/getAllDeptPage" )
public R<IPage<TSettleDomain>> getItemNamePage(Page page) {
return new R<>(tEmpChangeInfoService.getAllDeptPage(page));
}
/** /**
* 获取所有项目名称 * 获取所有项目名称
* @return R * @return R
...@@ -130,7 +142,6 @@ public class TEmpChangeInfoController { ...@@ -130,7 +142,6 @@ public class TEmpChangeInfoController {
return tEmpChangeInfoService.getAllDept(); return tEmpChangeInfoService.getAllDept();
} }
/** /**
* 获取所有单位名称 * 获取所有单位名称
* @return R * @return R
......
...@@ -149,8 +149,8 @@ public class TSettleDomainController { ...@@ -149,8 +149,8 @@ public class TSettleDomainController {
**/ **/
@Inner @Inner
@PostMapping("/getSettleDomainSelectVoById") @PostMapping("/getSettleDomainSelectVoById")
public R<TSettleDomainSelectVo> getInnerSettleDomainSelectVoByUserId(@RequestParam String id) { public TSettleDomainSelectVo getInnerSettleDomainSelectVoByUserId(@RequestParam String id) {
return new R<>(tSettleDomainService.selectSettleDomainSelectVosById(id)); return tSettleDomainService.selectSettleDomainSelectVosById(id);
} }
/** /**
...@@ -161,8 +161,11 @@ public class TSettleDomainController { ...@@ -161,8 +161,11 @@ public class TSettleDomainController {
**/ **/
@Inner @Inner
@PostMapping("/selectAllSettleDomainSelectVos") @PostMapping("/selectAllSettleDomainSelectVos")
public R<List<TSettleDomainSelectVo>> selectAllSettleDomainSelectVos() { public TSettleDomainListVo selectAllSettleDomainSelectVos() {
return new R<>(tSettleDomainService.selectAllSettleDomainSelectVos()); List<TSettleDomainSelectVo> list = tSettleDomainService.selectAllSettleDomainSelectVos();
TSettleDomainListVo listVo = new TSettleDomainListVo();
listVo.setListSelectVO(list);
return listVo;
} }
/** /**
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
package com.yifu.cloud.plus.v1.yifu.archives.service; package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.pig4cloud.plugin.excel.vo.ErrorMessage; import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
...@@ -66,4 +68,5 @@ public interface TEmpChangeInfoService extends IService<TEmpChangeInfo> { ...@@ -66,4 +68,5 @@ public interface TEmpChangeInfoService extends IService<TEmpChangeInfo> {
*/ */
R<List<TCustomerInfo>> getAllUint(); R<List<TCustomerInfo>> getAllUint();
IPage<TSettleDomain> getAllDeptPage(Page page);
} }
...@@ -17,18 +17,18 @@ ...@@ -17,18 +17,18 @@
package com.yifu.cloud.plus.v1.yifu.archives.service.impl; package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pig4cloud.plugin.excel.vo.ErrorMessage; import com.pig4cloud.plugin.excel.vo.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpChangeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmpChangeInfoMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmpChangeInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TSettleDomainMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TCustomerInfoService; import com.yifu.cloud.plus.v1.yifu.archives.service.TCustomerInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpChangeInfoService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpChangeInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectService;
import com.yifu.cloud.plus.v1.yifu.archives.service.TSettleDomainService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmpChangeInfoVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmpChangeInfoVO;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
...@@ -57,7 +57,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -57,7 +57,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
private final TCustomerInfoService tCustomerInfoService; private final TCustomerInfoService tCustomerInfoService;
private final TSettleDomainService tSettleDomainService; private final TSettleDomainMapper tSettleDomainMapper;
private final TEmployeeLogServiceImpl tEmployeeLogService; private final TEmployeeLogServiceImpl tEmployeeLogService;
...@@ -89,7 +89,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -89,7 +89,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
.eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL).eq(TEmployeeProject::getProjectStatus,CommonConstants.ZERO_INT)); .eq(TEmployeeProject::getDeleteFlag,CommonConstants.STATUS_NORMAL).eq(TEmployeeProject::getProjectStatus,CommonConstants.ZERO_INT));
if (Common.isNotNull(updateTEmployeeProject)) { if (Common.isNotNull(updateTEmployeeProject)) {
TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda() TSettleDomain tSettleDomain = tSettleDomainMapper.selectOne(Wrappers.<TSettleDomain>query().lambda()
.eq(TSettleDomain::getDepartNo, tEmpChangeInfo.getDeptNo()).eq(TSettleDomain::getDepartName, tEmpChangeInfo.getNewSettle()) .eq(TSettleDomain::getDepartNo, tEmpChangeInfo.getDeptNo()).eq(TSettleDomain::getDepartName, tEmpChangeInfo.getNewSettle())
.eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING).eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING)); .eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING).eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING));
TEmployeeProject tEmployeeProjectOld = tEmployeeProjectService.getById(updateTEmployeeProject.getId()); TEmployeeProject tEmployeeProjectOld = tEmployeeProjectService.getById(updateTEmployeeProject.getId());
...@@ -149,7 +149,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -149,7 +149,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
} }
//项目编码校验 //项目编码校验
TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda() TSettleDomain tSettleDomain = tSettleDomainMapper.selectOne(Wrappers.<TSettleDomain>query().lambda()
.eq(TSettleDomain::getDepartNo, excel.getNewSettleCode()) .eq(TSettleDomain::getDepartNo, excel.getNewSettleCode())
.eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING) .eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING)
.eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING)); .eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING));
...@@ -217,7 +217,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -217,7 +217,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
*/ */
@Override @Override
public R<List<TSettleDomain>> getAllDept() { public R<List<TSettleDomain>> getAllDept() {
List<TSettleDomain> list = tSettleDomainService.list(Wrappers.<TSettleDomain>query().lambda().eq(TSettleDomain::getDeleteFlag, CommonConstants.STATUS_NORMAL) List<TSettleDomain> list = tSettleDomainMapper.selectList(Wrappers.<TSettleDomain>query().lambda().eq(TSettleDomain::getDeleteFlag, CommonConstants.STATUS_NORMAL)
.eq(TSettleDomain::getStopFlag,CommonConstants.STATUS_NORMAL)); .eq(TSettleDomain::getStopFlag,CommonConstants.STATUS_NORMAL));
return R.ok(list); return R.ok(list);
} }
...@@ -233,4 +233,23 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -233,4 +233,23 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
List<TCustomerInfo> list = tCustomerInfoService.list(Wrappers.<TCustomerInfo>query().lambda().eq(TCustomerInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL)); List<TCustomerInfo> list = tCustomerInfoService.list(Wrappers.<TCustomerInfo>query().lambda().eq(TCustomerInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL));
return R.ok(list); return R.ok(list);
} }
/**
* 分页获取所有项目名称
* @return R
* @Author huyc
* @Date 2022-07-26
*/
@Override
public IPage<TSettleDomain> getAllDeptPage(Page page) {
LambdaQueryWrapper<TSettleDomain> wrapper = buildQueryWrapper();
return tSettleDomainMapper.selectPage(page,wrapper);
}
private LambdaQueryWrapper buildQueryWrapper() {
LambdaQueryWrapper<TSettleDomain> wrapper = Wrappers.lambdaQuery();
wrapper.eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING);
wrapper.eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING);
return wrapper;
}
} }
...@@ -358,6 +358,20 @@ public interface CommonConstants { ...@@ -358,6 +358,20 @@ public interface CommonConstants {
// 是否 // 是否
String IS_CHANGE = "划转"; String IS_CHANGE = "划转";
/**
* 省市
* @Author fxj
* @Date 2020-08-25
**/
public static final String HEFEISTRING="安徽省-合肥市";
/**
* 省
* @Author fxj
* @Date 2020-08-25
**/
public static final String ANHUISTRING="安徽省";
/** /**
*是所有者 *是所有者
**/ **/
...@@ -378,6 +392,10 @@ public interface CommonConstants { ...@@ -378,6 +392,10 @@ public interface CommonConstants {
public static final String NINE_STRING = "9"; public static final String NINE_STRING = "9";
String EIGHT_STRING = "8"; String EIGHT_STRING = "8";
public static final String PAYMENT_SOCIAL_IMPORT = "payment_social_import";
public static final String PAYMENT_SOCIAL_WAIT_EXPORT = "payment_social_wait_export";
//百分之一 1/100 //百分之一 1/100
public static final BigDecimal ONE_OF_PERCENT = new BigDecimal("0.01"); public static final BigDecimal ONE_OF_PERCENT = new BigDecimal("0.01");
...@@ -389,4 +407,8 @@ public interface CommonConstants { ...@@ -389,4 +407,8 @@ public interface CommonConstants {
String SEVEN_STRING = "7"; String SEVEN_STRING = "7";
public static final BigDecimal MONEY_MAX = new BigDecimal("999999.99"); public static final BigDecimal MONEY_MAX = new BigDecimal("999999.99");
public static final String ERROR_MSG_PRFIX = "error=";
public static final String SUCCESS_MSG_PREFIX = "success=";
} }
...@@ -126,4 +126,10 @@ public class ExcelAttributeConstants { ...@@ -126,4 +126,10 @@ public class ExcelAttributeConstants {
public static final String DEPARTID_PROVINCE_CITY_TOWN = "departId_province_city_town"; public static final String DEPARTID_PROVINCE_CITY_TOWN = "departId_province_city_town";
//派减离职原因 //派减离职原因
public static final String REDUCE_PROJECT_REASON = "reduce_project_reason"; public static final String REDUCE_PROJECT_REASON = "reduce_project_reason";
//社保缴纳月份
public static final String SOCIAL_PAY_MONTH = "socialPayMonth";
//身份证
public static final String EMPIDCARD = "empIdcard";
} }
...@@ -416,4 +416,8 @@ public interface ErrorCodes { ...@@ -416,4 +416,8 @@ public interface ErrorCodes {
* 派减异常: 本次派增已存在对应身份证号的派减记录 * 派减异常: 本次派增已存在对应身份证号的派减记录
*/ */
String EMP_DISPATCH_REDUCE_EXISTS = "emp.dispatch.reduce.exists"; String EMP_DISPATCH_REDUCE_EXISTS = "emp.dispatch.reduce.exists";
/**
* 当前社保导入队列不足或者数据量过大,请稍后重试!
*/
String SOCIALINFO_LIST_NUM_LARGE = "socialinfo.list.num.large";
} }
...@@ -399,4 +399,44 @@ public class Common { ...@@ -399,4 +399,44 @@ public class Common {
map.clear(); map.clear();
} }
} }
/**
* 按字段返回字符串
*
* @param list
* @param filedName
* @param <T>
* @return
*/
public static <T> List<String> listObjectToStrList(List<T> list, String filedName) {
List<String> idsStr = new ArrayList<String>();
Object temp = null;
if (null != list && list.size() > 0) {
for (T t : list) {
temp = getFieldValueByName(filedName, t);
if (null != temp) {
idsStr.add(temp.toString());
}
}
}
return idsStr;
}
/**
* 默认空 置为零
* @param obj
* @return
*/
public static BigDecimal isBlankToBigDecimalZero(BigDecimal obj) {
if(obj == null) {
return BigDecimal.ZERO;
}
if(String.valueOf(obj).trim().length() == 0) {
return BigDecimal.ZERO;
}
if(String.valueOf(obj).trim().equals("null")) {
return BigDecimal.ZERO;
}
return obj;
}
} }
...@@ -151,6 +151,8 @@ emp.dispatch.reduce.fund.status.error=\u6D3E\u51CF\u5F02\u5E38\uFF1A \u672A\u627 ...@@ -151,6 +151,8 @@ emp.dispatch.reduce.fund.status.error=\u6D3E\u51CF\u5F02\u5E38\uFF1A \u672A\u627
emp.dispatch.reduce.exists=\u6D3E\u51CF\u5F02\u5E38\uFF1A \u672C\u6B21\u6D3E\u589E\u5DF2\u5B58\u5728\u5BF9\u5E94\u8EAB\u4EFD\u8BC1\u53F7\u7684\u6D3E\u51CF\u8BB0\u5F55 emp.dispatch.reduce.exists=\u6D3E\u51CF\u5F02\u5E38\uFF1A \u672C\u6B21\u6D3E\u589E\u5DF2\u5B58\u5728\u5BF9\u5E94\u8EAB\u4EFD\u8BC1\u53F7\u7684\u6D3E\u51CF\u8BB0\u5F55
socialinfo.list.num.large=\u5F53\u524D\u793E\u4FDD\u5BFC\u5165\u961F\u5217\u4E0D\u8DB3\u6216\u8005\u6570\u636E\u91CF\u8FC7\u5927\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\uFF01
......
...@@ -96,8 +96,8 @@ public class ArchivesDaprUtil { ...@@ -96,8 +96,8 @@ public class ArchivesDaprUtil {
* @Param * @Param
* @return * @return
**/ **/
public R<List<TSettleDomainSelectVo>> selectAllSettleDomainSelectVos(){ public R<TSettleDomainListVo> selectAllSettleDomainSelectVos(){
R<List<TSettleDomainSelectVo>> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/tsettledomain/getSettleDomainSelectVoById","", Map.class, SecurityConstants.FROM_IN); R<TSettleDomainListVo> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/tsettledomain/selectAllSettleDomainSelectVos","", Map.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){ if (Common.isEmpty(res)){
return R.failed("获取所有客户单位的结算主体信息失败!"); return R.failed("获取所有客户单位的结算主体信息失败!");
} }
......
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil,\ com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.CheckDaprUtil
...@@ -65,11 +65,6 @@ ...@@ -65,11 +65,6 @@
<artifactId>commons-collections</artifactId> <artifactId>commons-collections</artifactId>
<version>3.2.2</version> <version>3.2.2</version>
</dependency> </dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-check-api</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.yifu.cloud.plus.v1.check.entity.TCheckIdCard; import com.yifu.cloud.plus.v1.check.entity.TCheckIdCard;
import com.yifu.cloud.plus.v1.check.utils.ChecksUtil;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ProjectSetInfoVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.ProjectSetInfoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.SetInfoVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.SetInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
...@@ -18,6 +17,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R; ...@@ -18,6 +17,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.util.RedisUtil; import com.yifu.cloud.plus.v1.yifu.common.core.util.RedisUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.CheckDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants; import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.*; import com.yifu.cloud.plus.v1.yifu.insurances.entity.*;
...@@ -35,8 +35,6 @@ import org.springframework.stereotype.Service; ...@@ -35,8 +35,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotBlank;
import java.sql.Array;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
...@@ -69,6 +67,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -69,6 +67,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
private TInsuranceSettleService tInsuranceSettleService; private TInsuranceSettleService tInsuranceSettleService;
@Resource @Resource
private TInsuranceOperateService tInsuranceOperateService; private TInsuranceOperateService tInsuranceOperateService;
@Resource
private CheckDaprUtil checkDaprUtil;
/***********************商险办理********************************/ /***********************商险办理********************************/
...@@ -713,12 +713,15 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -713,12 +713,15 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
TCheckIdCard checkIdCard = new TCheckIdCard(); TCheckIdCard checkIdCard = new TCheckIdCard();
checkIdCard.setName(param.getEmpName()); checkIdCard.setName(param.getEmpName());
checkIdCard.setIdCard(param.getEmpIdcardNo()); checkIdCard.setIdCard(param.getEmpIdcardNo());
ChecksUtil.checkIdCard(checkIdCard,true); R<TCheckIdCard> tCheckIdCardR = checkDaprUtil.checkIdCardSingle(checkIdCard);
if (CommonConstants.ONE_INT != checkIdCard.getIsTrue()){ if (null != tCheckIdCardR && tCheckIdCardR.getCode() == CommonConstants.SUCCESS){
TCheckIdCard data = tCheckIdCardR.getData();
if (CommonConstants.ONE_INT != data.getIsTrue()){
param.setErrorMessage(InsurancesConstants.EMP_ID_CARD_NO_NOT_FIT); param.setErrorMessage(InsurancesConstants.EMP_ID_CARD_NO_NOT_FIT);
listResult.add(param); listResult.add(param);
continue; continue;
} }
}
//根据项目编码查询项目是否存在 //根据项目编码查询项目是否存在
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo())); R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
...@@ -962,12 +965,15 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -962,12 +965,15 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
TCheckIdCard checkIdCard = new TCheckIdCard(); TCheckIdCard checkIdCard = new TCheckIdCard();
checkIdCard.setName(param.getEmpName()); checkIdCard.setName(param.getEmpName());
checkIdCard.setIdCard(param.getEmpIdcardNo()); checkIdCard.setIdCard(param.getEmpIdcardNo());
ChecksUtil.checkIdCard(checkIdCard,true); R<TCheckIdCard> tCheckIdCardR = checkDaprUtil.checkIdCardSingle(checkIdCard);
if (CommonConstants.ONE_INT != checkIdCard.getIsTrue()){ if (null != tCheckIdCardR && tCheckIdCardR.getCode() == CommonConstants.SUCCESS){
TCheckIdCard data = tCheckIdCardR.getData();
if (CommonConstants.ONE_INT != data.getIsTrue()){
param.setErrorMessage(InsurancesConstants.EMP_ID_CARD_NO_NOT_FIT); param.setErrorMessage(InsurancesConstants.EMP_ID_CARD_NO_NOT_FIT);
listResult.add(param); listResult.add(param);
continue; continue;
} }
}
//根据项目编码查询项目是否存在 //根据项目编码查询项目是否存在
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo())); R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(Arrays.asList(param.getDeptNo()));
...@@ -1200,12 +1206,16 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap ...@@ -1200,12 +1206,16 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
TCheckIdCard checkIdCard = new TCheckIdCard(); TCheckIdCard checkIdCard = new TCheckIdCard();
checkIdCard.setName(param.getReplaceEmpName()); checkIdCard.setName(param.getReplaceEmpName());
checkIdCard.setIdCard(param.getReplaceEmpIdcardNo()); checkIdCard.setIdCard(param.getReplaceEmpIdcardNo());
ChecksUtil.checkIdCard(checkIdCard,true); R<TCheckIdCard> tCheckIdCardR = checkDaprUtil.checkIdCardSingle(checkIdCard);
if (CommonConstants.ONE_INT != checkIdCard.getIsTrue()){ if (null != tCheckIdCardR && tCheckIdCardR.getCode() == CommonConstants.SUCCESS){
TCheckIdCard data = tCheckIdCardR.getData();
if (CommonConstants.ONE_INT != data.getIsTrue()){
param.setErrorMessage(InsurancesConstants.REPLACE_EMP_ID_CARD_NO_NOT_FIT); param.setErrorMessage(InsurancesConstants.REPLACE_EMP_ID_CARD_NO_NOT_FIT);
listResult.add(param); listResult.add(param);
continue; continue;
} }
}
if(!LocalDateUtil.isDate(param.getPolicyStart(),LocalDateUtil.NORM_DATE_PATTERN)){ if(!LocalDateUtil.isDate(param.getPolicyStart(),LocalDateUtil.NORM_DATE_PATTERN)){
param.setErrorMessage(InsurancesConstants.POLICY_START_PARSE_ERROR); param.setErrorMessage(InsurancesConstants.POLICY_START_PARSE_ERROR);
listResult.add(param); listResult.add(param);
......
...@@ -481,13 +481,6 @@ public class TForecastLibrary extends BaseEntity { ...@@ -481,13 +481,6 @@ public class TForecastLibrary extends BaseEntity {
@Length(max = 50, message = "公积金户不能超过50个字符") @Length(max = 50, message = "公积金户不能超过50个字符")
@ExcelProperty("公积金户") @ExcelProperty("公积金户")
private String providentHouseholdName; private String providentHouseholdName;
/**
* 公积金编号
*/
@ExcelAttribute(name = "公积金编号", maxLength = 50)
@Length(max = 50, message = "公积金编号不能超过50个字符")
@ExcelProperty("公积金编号")
private String providentNo;
/** /**
* 数据同步:0未同步;1已同步 * 数据同步:0未同步;1已同步
*/ */
......
...@@ -636,9 +636,9 @@ public class TPreDispatchInfo extends BaseEntity { ...@@ -636,9 +636,9 @@ public class TPreDispatchInfo extends BaseEntity {
private String remark; private String remark;
/** /**
* 是否派单:0 是 2 否 * 是否派单:0 是 1 否
*/ */
@Schema(description ="是否派单:0 是 2 否 ") @Schema(description ="是否派单:0 是 1 否 ")
private String dispatchFlag; private String dispatchFlag;
/** /**
......
...@@ -45,103 +45,76 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -45,103 +45,76 @@ public class TSocialFundHistory extends BaseEntity {
* id * id
*/ */
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@Schema(description = "id" ) @Schema(description = "主键" )
@ExcelProperty("id" ) @ExcelProperty("主键" )
private String id; private String id;
/** /**
* name * name
*/ */
@Length(max = 20, message = "name 不能超过20个字符" ) @Length(max = 20, message = "员工姓名 不能超过20个字符" )
@ExcelAttribute(name = "name", maxLength = 20) @ExcelAttribute(name = "员工姓名", maxLength = 20)
@Schema(description = "name" ) @Schema(description = "员工姓名" )
@ExcelProperty("name" ) @ExcelProperty("员工姓名" )
private String name; private String empName;
/** /**
* idCard * idCard
*/ */
@Length(max = 20, message = "idCard 不能超过20个字符" ) @Length(max = 20, message = "身份证号 不能超过20个字符" )
@ExcelAttribute(name = "idCard", maxLength = 20) @ExcelAttribute(name = "身份证号", maxLength = 20)
@Schema(description = "idCard" ) @Schema(description = "身份证号" )
@ExcelProperty("idCard" ) @ExcelProperty("身份证号" )
private String idCard; private String empIdcard;
/** /**
* employeeId * employeeId
*/ */
@Length(max = 32, message = "employeeId 不能超过32个字符" ) @Length(max = 32, message = "员工id 不能超过32个字符" )
@ExcelAttribute(name = "employeeId", maxLength = 32) @ExcelAttribute(name = "员工id", maxLength = 32)
@Schema(description = "employeeId" ) @Schema(description = "员工id" )
@ExcelProperty("employeeId" ) @ExcelProperty("员工id" )
private String employeeId; private String empId;
/** /**
* 单位养老基数 * 单位养老基数
*/ */
@ExcelAttribute(name = "单位养老基数" ) @ExcelAttribute(name = "单位养老基数" )
@Schema(description = "单位养老基数" ) @Schema(description = "单位养老基数" )
@ExcelProperty("单位养老基数" ) @ExcelProperty("单位养老基数" )
private BigDecimal unitPensionBase; private BigDecimal unitPensionCardinal;
/** /**
* 单位医疗基数 * 单位医疗基数
*/ */
@ExcelAttribute(name = "单位医疗基数" ) @ExcelAttribute(name = "单位医疗基数" )
@Schema(description = "单位医疗基数" ) @Schema(description = "单位医疗基数" )
@ExcelProperty("单位医疗基数" ) @ExcelProperty("单位医疗基数" )
private BigDecimal unitMedicalBase; private BigDecimal unitMedicalCardinal;
/** /**
* 单位失业基数 * 单位失业基数
*/ */
@ExcelAttribute(name = "单位失业基数" ) @ExcelAttribute(name = "单位失业基数" )
@Schema(description = "单位失业基数" ) @Schema(description = "单位失业基数" )
@ExcelProperty("单位失业基数" ) @ExcelProperty("单位失业基数" )
private BigDecimal unitUnemploymentBase; private BigDecimal unitUnemploymentCardinal;
/** /**
* 单位工伤基数 * 单位工伤基数
*/ */
@ExcelAttribute(name = "单位工伤基数" ) @ExcelAttribute(name = "单位工伤基数" )
@Schema(description = "单位工伤基数" ) @Schema(description = "单位工伤基数" )
@ExcelProperty("单位工伤基数" ) @ExcelProperty("单位工伤基数" )
private BigDecimal unitInjuryBase; private BigDecimal unitWorkInjuryCardinal;
/** /**
* 单位生育基数 * 单位生育基数
*/ */
@ExcelAttribute(name = "单位生育基数" ) @ExcelAttribute(name = "单位生育基数" )
@Schema(description = "单位生育基数" ) @Schema(description = "单位生育基数" )
@ExcelProperty("单位生育基数" ) @ExcelProperty("单位生育基数" )
private BigDecimal unitBirthBase; private BigDecimal unitBirthCardinal;
/** /**
* 单位大病基数 * 单位大病基数
*/ */
@ExcelAttribute(name = "单位大病基数" ) @ExcelAttribute(name = "单位大病基数" )
@Schema(description = "单位大病基数" ) @Schema(description = "单位大病基数" )
@ExcelProperty("单位大病基数" ) @ExcelProperty("单位大病基数" )
private BigDecimal unitBigailmentBase; private BigDecimal unitBigailmentCardinal;
/**
* 个人养老基数
*/
@ExcelAttribute(name = "个人养老基数" )
@Schema(description = "个人养老基数" )
@ExcelProperty("个人养老基数" )
private BigDecimal personalPensionBase;
/**
* 个人医疗基数
*/
@ExcelAttribute(name = "个人医疗基数" )
@Schema(description = "个人医疗基数" )
@ExcelProperty("个人医疗基数" )
private BigDecimal personalMedicalBase;
/**
* 个人失业基数
*/
@ExcelAttribute(name = "个人失业基数" )
@Schema(description = "个人失业基数" )
@ExcelProperty("个人失业基数" )
private BigDecimal personalUnemploymentBase;
/**
* 个人大病基数
*/
@ExcelAttribute(name = "个人大病基数" )
@Schema(description = "个人大病基数" )
@ExcelProperty("个人大病基数" )
private BigDecimal personalBigailmentBase;
/** /**
* 单位养老比例 * 单位养老比例
*/ */
...@@ -150,11 +123,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -150,11 +123,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("单位养老比例" ) @ExcelProperty("单位养老比例" )
private BigDecimal unitPersionPro; private BigDecimal unitPersionPro;
/** /**
* unitPersionMoney * 单位养老金额
*/ */
@ExcelAttribute(name = "unitPersionMoney" ) @ExcelAttribute(name = "单位养老金额" )
@Schema(description = "unitPersionMoney" ) @Schema(description = "单位养老金额" )
@ExcelProperty("unitPersionMoney" ) @ExcelProperty("单位养老金额" )
private BigDecimal unitPersionMoney; private BigDecimal unitPersionMoney;
/** /**
* 单位医疗比例 * 单位医疗比例
...@@ -164,11 +137,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -164,11 +137,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("单位医疗比例" ) @ExcelProperty("单位医疗比例" )
private BigDecimal unitMedicalPro; private BigDecimal unitMedicalPro;
/** /**
* unitMedicalMoney * 单位医疗金额
*/ */
@ExcelAttribute(name = "unitMedicalMoney" ) @ExcelAttribute(name = "单位医疗金额" )
@Schema(description = "unitMedicalMoney" ) @Schema(description = "单位医疗金额" )
@ExcelProperty("unitMedicalMoney" ) @ExcelProperty("单位医疗金额" )
private BigDecimal unitMedicalMoney; private BigDecimal unitMedicalMoney;
/** /**
* 单位失业比例 * 单位失业比例
...@@ -178,11 +151,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -178,11 +151,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("单位失业比例" ) @ExcelProperty("单位失业比例" )
private BigDecimal unitUnemploymentPro; private BigDecimal unitUnemploymentPro;
/** /**
* unitUnemploymentMoney * 单位失业金额
*/ */
@ExcelAttribute(name = "unitUnemploymentMoney" ) @ExcelAttribute(name = "单位失业金额" )
@Schema(description = "unitUnemploymentMoney" ) @Schema(description = "单位失业金额" )
@ExcelProperty("unitUnemploymentMoney" ) @ExcelProperty("单位失业金额" )
private BigDecimal unitUnemploymentMoney; private BigDecimal unitUnemploymentMoney;
/** /**
* 单位工伤比例 * 单位工伤比例
...@@ -192,11 +165,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -192,11 +165,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("单位工伤比例" ) @ExcelProperty("单位工伤比例" )
private BigDecimal unitInjuryPro; private BigDecimal unitInjuryPro;
/** /**
* unitInjuryMoney * 单位工伤金额
*/ */
@ExcelAttribute(name = "unitInjuryMoney" ) @ExcelAttribute(name = "单位工伤金额" )
@Schema(description = "unitInjuryMoney" ) @Schema(description = "单位工伤金额" )
@ExcelProperty("unitInjuryMoney" ) @ExcelProperty("单位工伤金额" )
private BigDecimal unitInjuryMoney; private BigDecimal unitInjuryMoney;
/** /**
* 单位生育比例 * 单位生育比例
...@@ -206,11 +179,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -206,11 +179,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("单位生育比例" ) @ExcelProperty("单位生育比例" )
private BigDecimal unitBirthPro; private BigDecimal unitBirthPro;
/** /**
* unitBirthMoney * 单位生育金额
*/ */
@ExcelAttribute(name = "unitBirthMoney" ) @ExcelAttribute(name = "单位生育金额" )
@Schema(description = "unitBirthMoney" ) @Schema(description = "单位生育金额" )
@ExcelProperty("unitBirthMoney" ) @ExcelProperty("单位生育金额" )
private BigDecimal unitBirthMoney; private BigDecimal unitBirthMoney;
/** /**
* 单位大病比例 * 单位大病比例
...@@ -220,11 +193,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -220,11 +193,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("单位大病比例" ) @ExcelProperty("单位大病比例" )
private BigDecimal unitBigailmentPro; private BigDecimal unitBigailmentPro;
/** /**
* unitBigailmentMoney * 单位大病救助金额
*/ */
@ExcelAttribute(name = "unitBigailmentMoney" ) @ExcelAttribute(name = "单位大病救助金额" )
@Schema(description = "unitBigailmentMoney" ) @Schema(description = "单位大病救助金额" )
@ExcelProperty("unitBigailmentMoney" ) @ExcelProperty("单位大病救助金额" )
private BigDecimal unitBigailmentMoney; private BigDecimal unitBigailmentMoney;
/** /**
* 个人养老比例 * 个人养老比例
...@@ -234,11 +207,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -234,11 +207,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("个人养老比例" ) @ExcelProperty("个人养老比例" )
private BigDecimal personalPersionPro; private BigDecimal personalPersionPro;
/** /**
* personalPersionMoney * 个人养老金额
*/ */
@ExcelAttribute(name = "personalPersionMoney" ) @ExcelAttribute(name = "个人养老金额" )
@Schema(description = "personalPersionMoney" ) @Schema(description = "个人养老金额" )
@ExcelProperty("personalPersionMoney" ) @ExcelProperty("个人养老金额" )
private BigDecimal personalPersionMoney; private BigDecimal personalPersionMoney;
/** /**
* 个人医疗比例 * 个人医疗比例
...@@ -248,11 +221,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -248,11 +221,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("个人医疗比例" ) @ExcelProperty("个人医疗比例" )
private BigDecimal personalMedicalPro; private BigDecimal personalMedicalPro;
/** /**
* personalMedicalMoney * 个人医疗金额
*/ */
@ExcelAttribute(name = "personalMedicalMoney" ) @ExcelAttribute(name = "个人医疗金额" )
@Schema(description = "personalMedicalMoney" ) @Schema(description = "个人医疗金额" )
@ExcelProperty("personalMedicalMoney" ) @ExcelProperty("个人医疗金额" )
private BigDecimal personalMedicalMoney; private BigDecimal personalMedicalMoney;
/** /**
* 个人失业比例 * 个人失业比例
...@@ -262,11 +235,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -262,11 +235,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("个人失业比例" ) @ExcelProperty("个人失业比例" )
private BigDecimal personalUnemploymentPro; private BigDecimal personalUnemploymentPro;
/** /**
* personalUnemploymentMoney * 个人失业金额
*/ */
@ExcelAttribute(name = "personalUnemploymentMoney" ) @ExcelAttribute(name = "个人失业金额" )
@Schema(description = "personalUnemploymentMoney" ) @Schema(description = "个人失业金额" )
@ExcelProperty("personalUnemploymentMoney" ) @ExcelProperty("个人失业金额" )
private BigDecimal personalUnemploymentMoney; private BigDecimal personalUnemploymentMoney;
/** /**
* 个人大病比例 * 个人大病比例
...@@ -276,11 +249,11 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -276,11 +249,11 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("个人大病比例" ) @ExcelProperty("个人大病比例" )
private BigDecimal personalBigailmentPro; private BigDecimal personalBigailmentPro;
/** /**
* personalBigailmentMoney * 个人大病金额
*/ */
@ExcelAttribute(name = "personalBigailmentMoney" ) @ExcelAttribute(name = "个人大病金额" )
@Schema(description = "personalBigailmentMoney" ) @Schema(description = "个人大病金额" )
@ExcelProperty("personalBigailmentMoney" ) @ExcelProperty("个人大病金额" )
private BigDecimal personalBigailmentMoney; private BigDecimal personalBigailmentMoney;
/** /**
* 单位公积金基数 * 单位公积金基数
...@@ -311,26 +284,19 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -311,26 +284,19 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("个人公积金比例" ) @ExcelProperty("个人公积金比例" )
private BigDecimal personalFundProp; private BigDecimal personalFundProp;
/** /**
* unitFundMoney * 单位公积金金额
*/ */
@ExcelAttribute(name = "unitFundMoney" ) @ExcelAttribute(name = "单位公积金金额" )
@Schema(description = "unitFundMoney" ) @Schema(description = "单位公积金金额" )
@ExcelProperty("unitFundMoney" ) @ExcelProperty("单位公积金金额" )
private BigDecimal unitFundMoney; private BigDecimal unitFundMoney;
/** /**
* personalFundMoney * 个人公积金金额
*/ */
@ExcelAttribute(name = "personalFundMoney" ) @ExcelAttribute(name = "个人公积金金额" )
@Schema(description = "personalFundMoney" ) @Schema(description = "个人公积金金额" )
@ExcelProperty("personalFundMoney" ) @ExcelProperty("个人公积金金额" )
private BigDecimal personalFundMoney; private BigDecimal personalFundMoney;
/**
* 0老的调基,数据不对,将不使用;1新逻辑调基
*/
@ExcelAttribute(name = "0老的调基,数据不对,将不使用;1新逻辑调基" )
@Schema(description = "0老的调基,数据不对,将不使用;1新逻辑调基" )
@ExcelProperty("0老的调基,数据不对,将不使用;1新逻辑调基" )
private Integer isOld;
/** /**
* 缴纳类型(0最低缴纳、1自定义缴纳、2最高缴纳) * 缴纳类型(0最低缴纳、1自定义缴纳、2最高缴纳)
*/ */
...@@ -353,20 +319,12 @@ public class TSocialFundHistory extends BaseEntity { ...@@ -353,20 +319,12 @@ public class TSocialFundHistory extends BaseEntity {
@ExcelProperty("是否是公积金:0否1是" ) @ExcelProperty("是否是公积金:0否1是" )
private Integer isFund; private Integer isFund;
/** /**
* 社保id * 社保公积金表id
*/
@Length(max = 32, message = "社保id 不能超过32个字符" )
@ExcelAttribute(name = "社保id", maxLength = 32)
@Schema(description = "社保id" )
@ExcelProperty("社保id" )
private String socialId;
/**
* 公积金id
*/ */
@Length(max = 32, message = "公积金id 不能超过32个字符" ) @Length(max = 32, message = "社保公积金表id 不能超过32个字符" )
@ExcelAttribute(name = "公积金id", maxLength = 32) @ExcelAttribute(name = "社保公积金表id", maxLength = 32)
@Schema(description = "公积金id" ) @Schema(description = "社保公积金表id" )
@ExcelProperty("公积金id" ) @ExcelProperty("社保公积金表id" )
private String fundId; private String socialFundId;
} }
...@@ -460,6 +460,7 @@ public class TSocialFundInfo extends BaseEntity { ...@@ -460,6 +460,7 @@ public class TSocialFundInfo extends BaseEntity {
private BigDecimal unitBigailmentPer; private BigDecimal unitBigailmentPer;
/** /**
* 社保停缴日期 * 社保停缴日期
* 社保减少日期
*/ */
@ExcelAttribute(name = "社保停缴日期", isDate = true) @ExcelAttribute(name = "社保停缴日期", isDate = true)
@Schema(description = "社保停缴日期" ) @Schema(description = "社保停缴日期" )
......
...@@ -494,7 +494,7 @@ public class TPreDispatchExportVo implements Serializable { ...@@ -494,7 +494,7 @@ public class TPreDispatchExportVo implements Serializable {
private String remark; private String remark;
/** /**
* 是否派单:0 是 2 * 是否派单:0 是 1
*/ */
@ExcelProperty(value ="是否派单") @ExcelProperty(value ="是否派单")
@ExcelAttribute(name = "是否派单", maxLength = 2, needExport = true, readConverterExp = "0=是,1=否") @ExcelAttribute(name = "是否派单", maxLength = 2, needExport = true, readConverterExp = "0=是,1=否")
......
...@@ -42,13 +42,13 @@ public class TSocialFundHistoryVo extends RowIndex implements Serializable { ...@@ -42,13 +42,13 @@ public class TSocialFundHistoryVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, maxLength = 20, needExport = true, errorInfo = "员工姓名必填且不可超过20位") @ExcelAttribute(name = "员工姓名", isNotEmpty = true, maxLength = 20, needExport = true, errorInfo = "员工姓名必填且不可超过20位")
@Schema(description = "员工姓名") @Schema(description = "员工姓名")
@ExcelProperty("员工姓名") @ExcelProperty("员工姓名")
private String name; private String empName;
@Length(max = 20, message = "身份证号 不能超过20 个字符") @Length(max = 20, message = "身份证号 不能超过20 个字符")
@ExcelAttribute(name = "身份证号", isNotEmpty = true, maxLength = 20, needExport = true, errorInfo = "身份证号必填且不可超过20位") @ExcelAttribute(name = "身份证号", isNotEmpty = true, maxLength = 20, needExport = true, errorInfo = "身份证号必填且不可超过20位")
@Schema(description = "身份证号") @Schema(description = "身份证号")
@ExcelProperty("身份证号") @ExcelProperty("身份证号")
private String idCard; private String empIdcard;
@ExcelAttribute(name = "缴纳类型", isNotEmpty = true, errorInfo = "缴纳类型必填", readConverterExp = "0=最低缴纳,1=自定义缴纳,2=最高缴纳") @ExcelAttribute(name = "缴纳类型", isNotEmpty = true, errorInfo = "缴纳类型必填", readConverterExp = "0=最低缴纳,1=自定义缴纳,2=最高缴纳")
@Schema(description = "缴纳类型(0最低缴纳、1自定义缴纳、2最高缴纳)") @Schema(description = "缴纳类型(0最低缴纳、1自定义缴纳、2最高缴纳)")
...@@ -58,23 +58,27 @@ public class TSocialFundHistoryVo extends RowIndex implements Serializable { ...@@ -58,23 +58,27 @@ public class TSocialFundHistoryVo extends RowIndex implements Serializable {
@ExcelAttribute(name = "养老基数") @ExcelAttribute(name = "养老基数")
@Schema(description = "养老基数") @Schema(description = "养老基数")
@ExcelProperty("养老基数") @ExcelProperty("养老基数")
private BigDecimal unitPensionBase; private BigDecimal unitPensionCardinal;
@ExcelAttribute(name = "医疗基数") @ExcelAttribute(name = "医疗基数")
@Schema(description = "医疗基数") @Schema(description = "医疗基数")
@ExcelProperty("医疗基数") @ExcelProperty("医疗基数")
private BigDecimal unitMedicalBase; private BigDecimal unitMedicalCardinal;
@ExcelAttribute(name = "失业基数") @ExcelAttribute(name = "失业基数")
@Schema(description = "失业基数") @Schema(description = "失业基数")
@ExcelProperty("失业基数") @ExcelProperty("失业基数")
private BigDecimal unitUnemploymentBase; private BigDecimal unitUnemploymentCardinal;
@ExcelAttribute(name = "工伤基数") @ExcelAttribute(name = "工伤基数")
@Schema(description = "工伤基数") @Schema(description = "工伤基数")
@ExcelProperty("工伤基数") @ExcelProperty("工伤基数")
private BigDecimal unitInjuryBase; private BigDecimal unitWorkInjuryCardinal;
@ExcelAttribute(name = "生育基数") @ExcelAttribute(name = "生育基数")
@Schema(description = "生育基数") @Schema(description = "生育基数")
@ExcelProperty("生育基数") @ExcelProperty("生育基数")
private BigDecimal unitBirthBase; private BigDecimal unitBirthCardinal;
@ExcelAttribute(name = "单位大病救助金额") @ExcelAttribute(name = "单位大病救助金额")
@Schema(description = "单位大病救助金额") @Schema(description = "单位大病救助金额")
......
...@@ -159,7 +159,7 @@ public class TForecastLibraryController { ...@@ -159,7 +159,7 @@ public class TForecastLibraryController {
@SysLog("按缴纳月重新生成") @SysLog("按缴纳月重新生成")
@PostMapping("/createForecastlibary") @PostMapping("/createForecastlibary")
@PreAuthorize("@pms.hasPermission('social_tforecastlibrary_create')") @PreAuthorize("@pms.hasPermission('social_tforecastlibrary_create')")
public R<Boolean> createForecastlibary(@RequestParam String payMonths, public R<String> createForecastlibary(@RequestParam String payMonths,
@RequestParam(value = "empIdCard", required = false) String empIdCard, @RequestParam(value = "empIdCard", required = false) String empIdCard,
@RequestParam(value = "settleDomainIds", required = false) String settleDomainIds) { @RequestParam(value = "settleDomainIds", required = false) String settleDomainIds) {
if (Common.isEmpty(empIdCard) && Common.isEmpty(settleDomainIds)) { if (Common.isEmpty(empIdCard) && Common.isEmpty(settleDomainIds)) {
......
...@@ -225,7 +225,7 @@ public class TPreDispatchInfoController { ...@@ -225,7 +225,7 @@ public class TPreDispatchInfoController {
@Operation(summary = "预派单批量新增派增", description = "预派单批量新增派增") @Operation(summary = "预派单批量新增派增", description = "预派单批量新增派增")
@SysLog("预派单批量新增派增") @SysLog("预派单批量新增派增")
@PostMapping("/analysisJsonStringImportAdd") @PostMapping("/analysisJsonStringImportAdd")
@PreAuthorize("@pms.hasPermission('social:tpredispatchinfo_importAddList')") @PreAuthorize("@pms.hasPermission('social_tpredispatchinfo_importAddList')")
public R analysisJsonStringImportAdd(@RequestBody String jsonString, @RequestParam(value = "socialHouse",required = false) String socialHouse, public R analysisJsonStringImportAdd(@RequestBody String jsonString, @RequestParam(value = "socialHouse",required = false) String socialHouse,
@RequestParam(value = "fundHouse",required = false) String fundHouse, @RequestParam String departId) { @RequestParam(value = "fundHouse",required = false) String fundHouse, @RequestParam String departId) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
...@@ -265,7 +265,7 @@ public class TPreDispatchInfoController { ...@@ -265,7 +265,7 @@ public class TPreDispatchInfoController {
@Operation(summary = "预派单批量新增派减", description = "预派单批量新增派减") @Operation(summary = "预派单批量新增派减", description = "预派单批量新增派减")
@SysLog("预派单批量新增派减") @SysLog("预派单批量新增派减")
@PostMapping("/analysisJsonStringImportReduce") @PostMapping("/analysisJsonStringImportReduce")
@PreAuthorize("@pms.hasPermission('social:tpredispatchinfo_importReduceList')") @PreAuthorize("@pms.hasPermission('social_tpredispatchinfo_importAddList')")
public R analysisJsonStringImportReduce(@RequestBody String jsonString) { public R analysisJsonStringImportReduce(@RequestBody String jsonString) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
if (null == user || null == user.getId()) { if (null == user || null == user.getId()) {
......
...@@ -27,11 +27,9 @@ import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService; ...@@ -27,11 +27,9 @@ import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
......
...@@ -23,6 +23,8 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,6 +23,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import java.util.Map;
/** /**
* 基数设置表 * 基数设置表
* *
...@@ -56,4 +58,13 @@ public interface SysBaseSetInfoService extends IService<SysBaseSetInfo> { ...@@ -56,4 +58,13 @@ public interface SysBaseSetInfoService extends IService<SysBaseSetInfo> {
**/ **/
R<String> updateSysBase(SysBaseSetInfo sysBaseSetInfo); R<String> updateSysBase(SysBaseSetInfo sysBaseSetInfo);
/**
* @param
* @Description: 获取社保基数配置的Map
* @Author: hgw
* @Date: 2020/10/27 16:44
* @return: java.util.Map<java.lang.String, com.yifu.cloud.v1.hrms.api.entity.SysBaseSetInfo>
**/
Map<String, SysBaseSetInfo> getSysBaseSetInfoMap(String baseType);
} }
...@@ -57,16 +57,15 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> { ...@@ -57,16 +57,15 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> {
* @Date: 2022/7/18 17:11 * @Date: 2022/7/18 17:11
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean> * @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean>
**/ **/
R<Boolean> createForecastlibary(String payMonths, String empIdCard, String settleDomainIds); R<String> createForecastlibary(String payMonths, String empIdCard, String settleDomainIds);
/** /**
* @Description: 填充预估实际金额 * @param socialFundInfo
* @Description: 批量调基,同步预估库
* @Author: hgw * @Author: hgw
* @Date: 2020/10/10 16:45 * @Date: 2022/7/25 17:33
* @return: com.yifu.cloud.v1.hrms.api.entity.TForecastLibrary * @return: void
**/ **/
TForecastLibrary initForecastLibrary(TForecastLibrary library R<String> updateToneForecastLibary(TSocialFundInfo socialFundInfo);
, TSocialFundInfo socialInfo, TSocialFundInfo fund, Integer month, boolean isReduceFund
, boolean isReduceSocial, HashMap<String, TAgentConfig> agentConfigMap);
} }
...@@ -34,8 +34,11 @@ import com.yifu.cloud.plus.v1.yifu.social.service.TSocialLogService; ...@@ -34,8 +34,11 @@ import com.yifu.cloud.plus.v1.yifu.social.service.TSocialLogService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 基数设置表 * 基数设置表
...@@ -261,4 +264,31 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper, ...@@ -261,4 +264,31 @@ public class SysBaseSetInfoServiceImpl extends ServiceImpl<SysBaseSetInfoMapper,
} }
} }
} }
@Override
public Map<String, SysBaseSetInfo> getSysBaseSetInfoMap(String baseType) {
// 基数配置
SysBaseSetInfo sysBaseSetInfo = new SysBaseSetInfo();
sysBaseSetInfo.setBaseType(baseType);
sysBaseSetInfo.setDeleteFlag(CommonConstants.STATUS_NORMAL);
sysBaseSetInfo.setStatus(CommonConstants.ZERO_INT);
sysBaseSetInfo.setApplyStartDate(new Date());
// 查询符合条件的基数列表
List<SysBaseSetInfo> sysBaseSetInfoList = baseMapper.getSysBaseSetInfoNoPage(sysBaseSetInfo);
// 返回的map
Map<String, SysBaseSetInfo> setInfoMap = new HashMap<>();
if (sysBaseSetInfoList != null && !sysBaseSetInfoList.isEmpty()) {
// map的键
String key;
for (SysBaseSetInfo setInfo : sysBaseSetInfoList) {
key = setInfo.getDepartId() + CommonConstants.DOWN_LINE_STRING + setInfo.getProvince()
+ CommonConstants.DOWN_LINE_STRING + setInfo.getCity();
if (setInfo.getTown() != null) {
key += CommonConstants.DOWN_LINE_STRING + setInfo.getTown();
}
setInfoMap.put(key, setInfo);
}
}
return setInfoMap;
}
} }
...@@ -189,7 +189,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -189,7 +189,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean> * @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean>
**/ **/
@Override @Override
public R<Boolean> createForecastlibary(String payMonths, String empIdCard, String settleDomainIds) { public R<String> createForecastlibary(String payMonths, String empIdCard, String settleDomainIds) {
//定义未推送的按条件查询得到的预估数据 //定义未推送的按条件查询得到的预估数据
List<TForecastLibrary> librarySocialList = null; List<TForecastLibrary> librarySocialList = null;
//定义已推送的按条件查询得到的预估数据 //定义已推送的按条件查询得到的预估数据
...@@ -237,7 +237,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -237,7 +237,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
.eq(TForecastLibrary::getDataPush, CommonConstants.ONE_INT)); .eq(TForecastLibrary::getDataPush, CommonConstants.ONE_INT));
socialInfoList = socialFundInfoMapper.getSocialList(empIdCard, null); socialInfoList = socialFundInfoMapper.getSocialList(empIdCard, null);
fundList = socialFundInfoMapper.getFundList(empIdCard, null); fundList = socialFundInfoMapper.getFundList(empIdCard, null);
} else { } else if (settleDomainIdList != null) {
librarySocialList = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda() librarySocialList = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.in(TForecastLibrary::getSettleDomainId, settleDomainIdList) .in(TForecastLibrary::getSettleDomainId, settleDomainIdList)
.eq(TForecastLibrary::getDataType, CommonConstants.ZERO_INT) .eq(TForecastLibrary::getDataType, CommonConstants.ZERO_INT)
...@@ -273,12 +273,64 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -273,12 +273,64 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
if (Common.isNotNull(libraryFundList)) { if (Common.isNotNull(libraryFundList)) {
baseMapper.deleteBatchIds(libraryFundList); baseMapper.deleteBatchIds(libraryFundList);
} }
boolean flag; // 未推送的预估明细Map
HashMap<String, TForecastLibrary> socialHistoryMap = new HashMap<>();
HashMap<String, TForecastLibrary> fundHistoryMap = new HashMap<>();
// 已推送的预估明细Map // 已推送的预估明细Map
HashMap<String, TForecastLibrary> socialPushMap = new HashMap<>(); HashMap<String, TForecastLibrary> socialPushMap = new HashMap<>();
HashMap<String, TForecastLibrary> fundPushMap = new HashMap<>(); HashMap<String, TForecastLibrary> fundPushMap = new HashMap<>();
// 组建基础Map
this.getBaseMap(librarySocialList, librarySocialListTemp, libraryFundList, libraryFundListTemp
, socialHistoryMap, fundHistoryMap, socialPushMap, fundPushMap);
Map<String, TForecastLibrary> saveLibraryMap = new HashMap<>();
boolean isReduceSocial = false;
boolean isReduceFund = false;
// 核心刷新
R<String> coreR = this.doCore(payMonthList, socialInfoList, fundList, agentConfigHashMap, socialHistoryMap
, fundHistoryMap, socialPushMap, fundPushMap, saveLibraryMap, isReduceSocial, isReduceFund);
if (coreR != null) return coreR;
boolean isSaveAndUpdate = false;
for (TForecastLibrary library : saveLibraryMap.values()) {
if (Common.isEmpty(library.getSocialId()) && Common.isEmpty(library.getProvidentId())) {
continue;
}
if (Common.isNotNull(library.getId())) {
baseMapper.updateById(library);
} else {
library.setCreateTime(LocalDateTime.now());
baseMapper.insert(library);
}
isSaveAndUpdate = true;
}
if (isSaveAndUpdate) {
return R.ok(null, "执行成功!");
} else {
return R.failed("执行失败!无需更新的数据!");
}
}
/**
* @Description: 组装基础Map
* @Author: hgw
* @Date: 2022/7/25 19:41
* @return: void
**/
private void getBaseMap(List<TForecastLibrary> librarySocialList, List<TForecastLibrary> librarySocialListTemp, List<TForecastLibrary> libraryFundList, List<TForecastLibrary> libraryFundListTemp, HashMap<String, TForecastLibrary> socialHistoryMap, HashMap<String, TForecastLibrary> fundHistoryMap, HashMap<String, TForecastLibrary> socialPushMap, HashMap<String, TForecastLibrary> fundPushMap) {
// Map的key // Map的key
String sfMapKey; String sfMapKey;
if (Common.isNotNull(librarySocialList)) {
for (TForecastLibrary library : librarySocialList) {
sfMapKey = this.getMapKey(library.getEmpIdcard(), library.getSettleDomainId(), library.getSocialPayMonth(), library.getSocialCreateMonth());
socialHistoryMap.put(sfMapKey, library);
}
}
if (Common.isNotNull(libraryFundList)) {
for (TForecastLibrary library : libraryFundList) {
sfMapKey = this.getMapKey(library.getEmpIdcard(), library.getSettleDomainId(), library.getProvidentPayMonth(), library.getProvidentCreateMonth());
fundHistoryMap.put(sfMapKey, library);
}
}
if (Common.isNotNull(librarySocialListTemp)) { if (Common.isNotNull(librarySocialListTemp)) {
TForecastLibrary libraryOld; TForecastLibrary libraryOld;
for (TForecastLibrary library : librarySocialListTemp) { for (TForecastLibrary library : librarySocialListTemp) {
...@@ -288,6 +340,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -288,6 +340,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
this.getChangeAddData(libraryOld, library); this.getChangeAddData(libraryOld, library);
} }
socialPushMap.put(sfMapKey, library); socialPushMap.put(sfMapKey, library);
socialHistoryMap.put(sfMapKey, library);
} }
} }
if (Common.isNotNull(libraryFundListTemp)) { if (Common.isNotNull(libraryFundListTemp)) {
...@@ -299,78 +352,9 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -299,78 +352,9 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
this.getChangeAddData(libraryOld, library); this.getChangeAddData(libraryOld, library);
} }
fundPushMap.put(sfMapKey, library); fundPushMap.put(sfMapKey, library);
fundHistoryMap.put(sfMapKey, library);
} }
} }
Map<String, TForecastLibrary> saveLibraryMap = new HashMap<>();
TForecastLibrary tForecastLibrary;
String createMonth;
boolean isReduceSocial = false;
boolean isReduceFund = false;
for (String payMonth : payMonthList) {
//封装社保预估数据
if (Common.isNotNull(socialInfoList)) {
for (TSocialFundInfo tSocialInfo : socialInfoList) {
createMonth = ServiceUtil.initCreateMonth(tSocialInfo.getCreateTime(), payMonth);
sfMapKey = this.getMapKey(tSocialInfo.getEmpIdcard(), tSocialInfo.getSettleDomain(), payMonth, createMonth);
// 变更:已推送的,计算变更值
tForecastLibrary = socialPushMap.get(sfMapKey);
if (null != tForecastLibrary) {
this.getChangeReduceData(tSocialInfo, tForecastLibrary);
}
//起缴月份在要生成的月份前不处理
if (Integer.parseInt(payMonth) < DateUtil.formatDateInt(tSocialInfo.getSocialStartDate())) {
continue;
}
flag = CommonConstants.ZERO_STRING.equals(tSocialInfo.getCanOverpay()) && (null == tSocialInfo.getOverpayNumber() || null == tSocialInfo.getHaveThisMonth() || null == tSocialInfo.getSocialStartDate());
if (flag) {
return R.failed("员工" + tSocialInfo.getEmpName() + ":" + tSocialInfo.getEmpIdcard() + SocialConstants.SOCIAL_SET_ERROR);
}
// 初始化社保
initSocialLibary(payMonth, saveLibraryMap, tSocialInfo, isReduceFund, agentConfigHashMap, tForecastLibrary, sfMapKey);
}
}
//封装公积金预估数据
if (Common.isNotNull(fundList)) {
for (TSocialFundInfo providentFund : fundList) {
createMonth = ServiceUtil.initCreateMonth(providentFund.getCreateTime(), payMonth);
sfMapKey = this.getMapKey(providentFund.getEmpIdcard(), providentFund.getSettleDomainFund(), payMonth, createMonth);
// 变更:已推送的,计算变更值
tForecastLibrary = fundPushMap.get(sfMapKey);
if (null != tForecastLibrary) {
this.getChangeReduceData(providentFund, tForecastLibrary);
}
//起缴月份在要生成的月份后不处理
if (Integer.parseInt(payMonth) < DateUtil.formatDateInt(providentFund.getProvidentStart())) {
continue;
}
flag = CommonConstants.ZERO_STRING.equals(providentFund.getCanOverpay()) && (null == providentFund.getOverpayNumber() || null == providentFund.getHaveThisMonth() || null == providentFund.getProvidentStart());
if (flag) {
return R.failed("员工" + providentFund.getEmpName() + ":" + providentFund.getEmpIdcard() + SocialConstants.SOCIAL_SET_ERROR);
}
// 初始化公积金
initFundLibary(payMonth, saveLibraryMap, providentFund, isReduceSocial, tForecastLibrary, sfMapKey);
}
}
}
boolean isSaveAndUpdate = false;
for (TForecastLibrary library : saveLibraryMap.values()) {
if (Common.isEmpty(library.getSocialId()) && Common.isEmpty(library.getProvidentId())) {
continue;
}
if (Common.isNotNull(library.getId())) {
baseMapper.updateById(library);
} else {
library.setCreateTime(LocalDateTime.now());
baseMapper.insert(library);
}
isSaveAndUpdate = true;
}
if (isSaveAndUpdate) {
return R.ok(null, "执行成功!");
} else {
return R.failed("执行失败!无需更新的数据!");
}
} }
private String getMapKey(String empIdcard, String settleDomainId private String getMapKey(String empIdcard, String settleDomainId
...@@ -484,7 +468,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -484,7 +468,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
private void initSocialLibary(String payMonth, Map<String, TForecastLibrary> saveLibraryMap private void initSocialLibary(String payMonth, Map<String, TForecastLibrary> saveLibraryMap
, TSocialFundInfo tSocialInfo, boolean isReduceFund, HashMap<String, TAgentConfig> agentConfigMap , TSocialFundInfo tSocialInfo, boolean isReduceFund, HashMap<String, TAgentConfig> agentConfigMap
, TForecastLibrary lib, String sfMapKey) { , TForecastLibrary lib, String sfMapKey, TForecastLibrary historyLibrary) {
if (null == lib) { if (null == lib) {
lib = new TForecastLibrary(); lib = new TForecastLibrary();
} }
...@@ -514,7 +498,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -514,7 +498,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
} else { } else {
isReduceSocial = false; isReduceSocial = false;
} }
lib = initForecastLibrary(lib, tSocialInfo, null, monthT, isReduceFund, isReduceSocial, agentConfigMap); lib = initForecastLibrary(lib, tSocialInfo, null, monthT, isReduceFund, isReduceSocial, agentConfigMap, historyLibrary);
saveLibraryMap.put(sfMapKey, lib); saveLibraryMap.put(sfMapKey, lib);
} }
...@@ -538,10 +522,10 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -538,10 +522,10 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
return overpayMonth; return overpayMonth;
} }
@Override // historyLibrary_历史比例(暂时未用到)
public TForecastLibrary initForecastLibrary(TForecastLibrary library private TForecastLibrary initForecastLibrary(TForecastLibrary library
, TSocialFundInfo socialInfo, TSocialFundInfo fund, Integer month, boolean isReduceFund , TSocialFundInfo socialInfo, TSocialFundInfo fund, Integer month, boolean isReduceFund
, boolean isReduceSocial, HashMap<String, TAgentConfig> agentConfigMap) { , boolean isReduceSocial, HashMap<String, TAgentConfig> agentConfigMap, TForecastLibrary historyLibrary) {
if (null != socialInfo && !isReduceSocial) { if (null != socialInfo && !isReduceSocial) {
library.setSocialId(socialInfo.getId()); library.setSocialId(socialInfo.getId());
library.setUnitBitailmentFee(BigDecimal.ZERO); library.setUnitBitailmentFee(BigDecimal.ZERO);
...@@ -1142,7 +1126,8 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -1142,7 +1126,8 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
* @Date 2020-07-21 * @Date 2020-07-21
**/ **/
private void initFundLibary(String payMonth, Map<String, TForecastLibrary> saveLibraryMap private void initFundLibary(String payMonth, Map<String, TForecastLibrary> saveLibraryMap
, TSocialFundInfo providentFund, boolean isReduceSocial, TForecastLibrary lib, String mapKeyStr) { , TSocialFundInfo providentFund, boolean isReduceSocial, TForecastLibrary lib, String mapKeyStr
, TForecastLibrary historyLibrary) {
if (lib == null) { if (lib == null) {
lib = new TForecastLibrary(); lib = new TForecastLibrary();
} }
...@@ -1181,8 +1166,190 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -1181,8 +1166,190 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
} else { } else {
isReduceFund = false; isReduceFund = false;
} }
lib = initForecastLibrary(lib, null, providentFund, monthT, isReduceFund, isReduceSocial, null); lib = initForecastLibrary(lib, null, providentFund, monthT, isReduceFund, isReduceSocial, null, historyLibrary);
saveLibraryMap.put(mapKeyStr, lib); saveLibraryMap.put(mapKeyStr, lib);
} }
/**
* @param socialFundInfo
* @Description: 批量调基,同步预估库
* @Author: hgw
* @Date: 2022/7/25 17:37
* @return: void
**/
@Override
public R<String> updateToneForecastLibary(TSocialFundInfo socialFundInfo) {
String empIdCard = socialFundInfo.getEmpIdcard();
//定义未推送的按条件查询得到的预估数据
List<TForecastLibrary> librarySocialList = null;
//定义已推送的按条件查询得到的预估数据
List<TForecastLibrary> librarySocialListTemp = null;
//定义未推送的按条件查询得到的预估数据
List<TForecastLibrary> libraryFundList = null;
//定义已推送的按条件查询得到的预估数据
List<TForecastLibrary> libraryFundListTemp = null;
// 获取要更新的月份
int monthDiff = DateUtil.getMonthDiff(socialFundInfo.getSocialStartDate(), new Date()) + 2;
List<String> payMonthList = new ArrayList<>();
for (int i = 0; i < monthDiff; i++) {
payMonthList.add(DateUtil.addMonth(1 - i));
}
//查询出所有符合条件的社保数据
List<TSocialFundInfo> socialInfoList = null;
List<TSocialFundInfo> fundList = null;
// 查询当年所有的社保临时政策用于生成预估数据
List<TAgentConfig> configList = agentConfigMapper.selectList(Wrappers.<TAgentConfig>query().lambda()
.eq(TAgentConfig::getOpenFlag, CommonConstants.ZERO_INT));
HashMap<String, TAgentConfig> agentConfigHashMap = new HashMap<>();
if (Common.isNotNull(configList) && Common.isNotNull(payMonthList)) {
initConfigByPayMonths(configList, payMonthList, agentConfigHashMap);
}
//查询出所有对应条件的预估数、社保数据、公积金数据据用于重新生成
if (Common.isNotNull(empIdCard)) {
librarySocialList = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.eq(TForecastLibrary::getEmpIdcard, empIdCard)
.eq(TForecastLibrary::getDataType, CommonConstants.ZERO_INT)
.in(TForecastLibrary::getSocialPayMonth, payMonthList)
.eq(TForecastLibrary::getDataPush, CommonConstants.ZERO_INT));
librarySocialListTemp = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.eq(TForecastLibrary::getEmpIdcard, empIdCard)
.eq(TForecastLibrary::getDataType, CommonConstants.ZERO_INT)
.in(TForecastLibrary::getSocialPayMonth, payMonthList)
.eq(TForecastLibrary::getDataPush, CommonConstants.ONE_INT));
libraryFundList = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.eq(TForecastLibrary::getEmpIdcard, empIdCard)
.eq(TForecastLibrary::getDataType, CommonConstants.ONE_INT)
.in(TForecastLibrary::getProvidentPayMonth, payMonthList)
.eq(TForecastLibrary::getDataPush, CommonConstants.ZERO_INT));
libraryFundListTemp = baseMapper.selectList(Wrappers.<TForecastLibrary>query().lambda()
.eq(TForecastLibrary::getEmpIdcard, empIdCard)
.eq(TForecastLibrary::getDataType, CommonConstants.ONE_INT)
.in(TForecastLibrary::getProvidentPayMonth, payMonthList)
.eq(TForecastLibrary::getDataPush, CommonConstants.ONE_INT));
socialInfoList = socialFundInfoMapper.getSocialList(empIdCard, null);
fundList = socialFundInfoMapper.getFundList(empIdCard, null);
}
if (Common.isEmpty(socialInfoList)
&& Common.isEmpty(fundList)) {
return R.failed("无需要重新生成的数据(无数据或数据已结算不可重新生成!)");
}
//先删除然后重新生成
if (Common.isNotNull(librarySocialList)) {
baseMapper.deleteBatchIds(librarySocialList);
}
if (Common.isNotNull(libraryFundList)) {
baseMapper.deleteBatchIds(libraryFundList);
}
// 未推送的预估明细Map
HashMap<String, TForecastLibrary> socialHistoryMap = new HashMap<>();
HashMap<String, TForecastLibrary> fundHistoryMap = new HashMap<>();
// 已推送的预估明细Map
HashMap<String, TForecastLibrary> socialPushMap = new HashMap<>();
HashMap<String, TForecastLibrary> fundPushMap = new HashMap<>();
// 组建基础Map
this.getBaseMap(librarySocialList, librarySocialListTemp, libraryFundList, libraryFundListTemp
, socialHistoryMap, fundHistoryMap, socialPushMap, fundPushMap);
Map<String, TForecastLibrary> saveLibraryMap = new HashMap<>();
boolean isReduceSocial = false;
boolean isReduceFund = false;
// 核心刷新
R<String> coreR = this.doCore(payMonthList, socialInfoList, fundList, agentConfigHashMap, socialHistoryMap
, fundHistoryMap, socialPushMap, fundPushMap, saveLibraryMap, isReduceSocial, isReduceFund);
if (coreR != null) return coreR;
boolean isSaveAndUpdate = false;
for (TForecastLibrary library : saveLibraryMap.values()) {
if (Common.isEmpty(library.getSocialId()) && Common.isEmpty(library.getProvidentId())) {
continue;
}
if (Common.isNotNull(library.getId())) {
baseMapper.updateById(library);
} else {
library.setCreateTime(LocalDateTime.now());
baseMapper.insert(library);
}
isSaveAndUpdate = true;
}
if (isSaveAndUpdate) {
return R.ok(null, "执行成功!");
} else {
return R.failed("执行失败!无需更新的数据!");
}
}
/**
* @Description: 核心刷新
* @Author: hgw
* @Date: 2022/7/25 19:39
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
private R<String> doCore(List<String> payMonthList, List<TSocialFundInfo> socialInfoList
, List<TSocialFundInfo> fundList, HashMap<String, TAgentConfig> agentConfigHashMap
, HashMap<String, TForecastLibrary> socialHistoryMap, HashMap<String, TForecastLibrary> fundHistoryMap
, HashMap<String, TForecastLibrary> socialPushMap, HashMap<String, TForecastLibrary> fundPushMap
, Map<String, TForecastLibrary> saveLibraryMap, boolean isReduceSocial, boolean isReduceFund) {
// 预估历史,存储基数
TForecastLibrary historyLibrary;
boolean flag;
String createMonth;
String sfMapKey;
TForecastLibrary tForecastLibrary;
for (String payMonth : payMonthList) {
//封装社保预估数据
if (Common.isNotNull(socialInfoList)) {
for (TSocialFundInfo tSocialInfo : socialInfoList) {
createMonth = ServiceUtil.initCreateMonth(tSocialInfo.getCreateTime(), payMonth);
sfMapKey = this.getMapKey(tSocialInfo.getEmpIdcard(), tSocialInfo.getSettleDomain(), payMonth, createMonth);
// 变更:已推送的,计算变更值
tForecastLibrary = socialPushMap.get(sfMapKey);
if (null != tForecastLibrary) {
this.getChangeReduceData(tSocialInfo, tForecastLibrary);
}
//起缴月份在要生成的月份前不处理 || 截止月份在要生成的月份后不处理
if (Integer.parseInt(payMonth) < DateUtil.formatDateInt(tSocialInfo.getSocialStartDate())
|| Integer.parseInt(payMonth) > DateUtil.formatDateInt(tSocialInfo.getSocialReduceDate())) {
continue;
}
flag = CommonConstants.ZERO_STRING.equals(tSocialInfo.getCanOverpay()) && (null == tSocialInfo.getOverpayNumber() || null == tSocialInfo.getHaveThisMonth() || null == tSocialInfo.getSocialStartDate());
if (flag) {
return R.failed("员工" + tSocialInfo.getEmpName() + ":" + tSocialInfo.getEmpIdcard() + SocialConstants.SOCIAL_SET_ERROR);
} else {
historyLibrary = socialHistoryMap.get(sfMapKey);
// 初始化社保
initSocialLibary(payMonth, saveLibraryMap, tSocialInfo, isReduceFund, agentConfigHashMap, tForecastLibrary, sfMapKey, historyLibrary);
}
}
}
//封装公积金预估数据
if (Common.isNotNull(fundList)) {
for (TSocialFundInfo providentFund : fundList) {
createMonth = ServiceUtil.initCreateMonth(providentFund.getCreateTime(), payMonth);
sfMapKey = this.getMapKey(providentFund.getEmpIdcard(), providentFund.getSettleDomainFund(), payMonth, createMonth);
// 变更:已推送的,计算变更值
tForecastLibrary = fundPushMap.get(sfMapKey);
if (null != tForecastLibrary) {
this.getChangeReduceData(providentFund, tForecastLibrary);
}
//起缴月份在要生成的月份后不处理 || 截止月份在要生成的月份后不处理
if (Integer.parseInt(payMonth) < DateUtil.formatDateInt(providentFund.getProvidentStart())
|| Integer.parseInt(payMonth) > DateUtil.formatDateInt(providentFund.getFundReduceDate())) {
continue;
}
flag = CommonConstants.ZERO_STRING.equals(providentFund.getCanOverpay()) && (null == providentFund.getOverpayNumber() || null == providentFund.getHaveThisMonth() || null == providentFund.getProvidentStart());
if (flag) {
return R.failed("员工" + providentFund.getEmpName() + ":" + providentFund.getEmpIdcard() + SocialConstants.SOCIAL_SET_ERROR);
} else {
historyLibrary = fundHistoryMap.get(sfMapKey);
// 初始化公积金
initFundLibary(payMonth, saveLibraryMap, providentFund, isReduceSocial, tForecastLibrary, sfMapKey, historyLibrary);
}
}
}
}
return null;
}
} }
...@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainListVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.*; import com.yifu.cloud.plus.v1.yifu.common.core.constant.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
...@@ -323,14 +324,21 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -323,14 +324,21 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
if (Common.isEmpty(id)) { if (Common.isEmpty(id)) {
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR); return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
} }
R<List<TSettleDomainSelectVo>> settleDomainR = null; List<TSettleDomainSelectVo> settleDomainR = null;
R<TSettleDomainListVo> listVo = null;
//结算主体名称map key:结算主体id value:结算主体名称 //结算主体名称map key:结算主体id value:结算主体名称
Map<String, String> settleDomainNameMap = new HashMap<>(); Map<String, String> settleDomainNameMap = new HashMap<>();
//客户名称map key:客户id value:客户名称 //客户名称map key:客户id value:客户名称
Map<String, String> customerNameMap = new HashMap<>(); Map<String, String> customerNameMap = new HashMap<>();
//结算主体客户关系map key:结算主体id value:客户id //结算主体客户关系map key:结算主体id value:客户id
Map<String, String> settleIdAndCustomerIdMap = new HashMap<>(); Map<String, String> settleIdAndCustomerIdMap = new HashMap<>();
settleDomainR = archivesDaprUtil.selectAllSettleDomainSelectVos(); listVo = archivesDaprUtil.selectAllSettleDomainSelectVos();
if (Common.isNotNull(listVo)) {
TSettleDomainListVo tSettleDomainListVo = listVo.getData();
if (Common.isNotNull(tSettleDomainListVo) && Common.isNotEmpty(tSettleDomainListVo.getListSelectVO())) {
settleDomainR = tSettleDomainListVo.getListSelectVO();
}
}
//map数据封装 //map数据封装
initSettleDomainMaps(settleDomainR, settleDomainNameMap, customerNameMap, settleIdAndCustomerIdMap); initSettleDomainMaps(settleDomainR, settleDomainNameMap, customerNameMap, settleIdAndCustomerIdMap);
TPreDispatchInfo preInfo = baseMapper.selectById(id); TPreDispatchInfo preInfo = baseMapper.selectById(id);
...@@ -388,14 +396,21 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -388,14 +396,21 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
if (null == user || null == user.getId()) { if (null == user || null == user.getId()) {
return R.failed(CommonConstants.USER_FAIL); return R.failed(CommonConstants.USER_FAIL);
} }
R<List<TSettleDomainSelectVo>> settleDomainR = null; List<TSettleDomainSelectVo> settleDomainR = null;
R<TSettleDomainListVo> listVo = null;
//结算主体名称map key:结算主体id value:结算主体名称 //结算主体名称map key:结算主体id value:结算主体名称
Map<String, String> settleDomainNameMap = new HashMap<>(); Map<String, String> settleDomainNameMap = new HashMap<>();
//客户名称map key:客户id value:客户名称 //客户名称map key:客户id value:客户名称
Map<String, String> customerNameMap = new HashMap<>(); Map<String, String> customerNameMap = new HashMap<>();
//结算主体客户关系map key:结算主体id value:客户id //结算主体客户关系map key:结算主体id value:客户id
Map<String, String> settleIdAndCustomerIdMap = new HashMap<>(); Map<String, String> settleIdAndCustomerIdMap = new HashMap<>();
settleDomainR = archivesDaprUtil.selectAllSettleDomainSelectVos(); listVo = archivesDaprUtil.selectAllSettleDomainSelectVos();
if (Common.isNotNull(listVo)) {
TSettleDomainListVo tSettleDomainListVo = listVo.getData();
if (Common.isNotNull(tSettleDomainListVo) && Common.isNotEmpty(tSettleDomainListVo.getListSelectVO())) {
settleDomainR = tSettleDomainListVo.getListSelectVO();
}
}
//map数据封装 //map数据封装
initSettleDomainMaps(settleDomainR, settleDomainNameMap, customerNameMap, settleIdAndCustomerIdMap); initSettleDomainMaps(settleDomainR, settleDomainNameMap, customerNameMap, settleIdAndCustomerIdMap);
// 获取当前创建人 截止到当前时间的 正常未派单 未删除的预派单数据 // 获取当前创建人 截止到当前时间的 正常未派单 未删除的预派单数据
...@@ -480,6 +495,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -480,6 +495,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
@Override @Override
public R update(TPreDispatchInfo tPreDispatchInfo) { public R update(TPreDispatchInfo tPreDispatchInfo) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
if (null == user || null == user.getId()) { if (null == user || null == user.getId()) {
return R.failed(CommonConstants.USER_FAIL); return R.failed(CommonConstants.USER_FAIL);
...@@ -549,7 +565,6 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -549,7 +565,6 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
public List<ErrorMessage> batchSavePreDisPatchAdd(List<TPreDispatchInfo> listInfo, YifuUser user, String socialHouse, String fundHouse, String departId) { public List<ErrorMessage> batchSavePreDisPatchAdd(List<TPreDispatchInfo> listInfo, YifuUser user, String socialHouse, String fundHouse, String departId) {
List<ErrorMessage> errorList = new ArrayList<>(); List<ErrorMessage> errorList = new ArrayList<>();
R<TSettleDomainSelectVo> domainR = archivesDaprUtil.getSettleDomainSelectVoById(departId); R<TSettleDomainSelectVo> domainR = archivesDaprUtil.getSettleDomainSelectVoById(departId);
TSettleDomainSelectVo selectVo = domainR.getData();
// 获取区域数据MAP // 获取区域数据MAP
HashMap<String, SysArea> areaHashMap = new HashMap<>(CommonConstants.SIXTEEN_INT); HashMap<String, SysArea> areaHashMap = new HashMap<>(CommonConstants.SIXTEEN_INT);
HashMap<String, SysArea> areaIdMap = new HashMap<>(CommonConstants.SIXTEEN_INT); HashMap<String, SysArea> areaIdMap = new HashMap<>(CommonConstants.SIXTEEN_INT);
...@@ -559,6 +574,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -559,6 +574,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
if (dataCheckDepart(errorList, domainR)) { if (dataCheckDepart(errorList, domainR)) {
return errorList; return errorList;
} }
TSettleDomainSelectVo selectVo = domainR.getData();
// 获取基数配置信息 // 获取基数配置信息
HashMap<String, SysBaseSetInfo> baseSocialSetMap = new HashMap<>(); HashMap<String, SysBaseSetInfo> baseSocialSetMap = new HashMap<>();
HashMap<String, SysBaseSetInfo> baseFundSetMap = new HashMap<>(); HashMap<String, SysBaseSetInfo> baseFundSetMap = new HashMap<>();
...@@ -653,8 +669,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -653,8 +669,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
initDayLimit(dayConfMap, info); initDayLimit(dayConfMap, info);
// 5.保存 有异常也保存 要做标识 // 5.保存 有异常也保存 要做标识
R<TSettleDomainSelectVo> domainR = archivesDaprUtil.getSettleDomainSelectVoById(user.getDeptId().toString()); R<TSettleDomainSelectVo> domainR = archivesDaprUtil.getSettleDomainSelectVoById(user.getDeptId().toString());
if (Common.isNotNull(domainR) && Common.isNotNull(domainR.getData())) {
TSettleDomainSelectVo selectVo = domainR.getData(); TSettleDomainSelectVo selectVo = domainR.getData();
info.setUserDeptName(selectVo.getDepartName()); info.setUserDeptName(selectVo.getDepartName());
}
info.setPreStatus(CommonConstants.ZERO_STRING); info.setPreStatus(CommonConstants.ZERO_STRING);
// 如果已经存在未派单的派增 这个时候派减 直接标记异常 客服自行判断是否派单 // 如果已经存在未派单的派增 这个时候派减 直接标记异常 客服自行判断是否派单
if (null != preAddMap.get(info.getEmpIdcard())) { if (null != preAddMap.get(info.getEmpIdcard())) {
...@@ -1041,10 +1059,12 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -1041,10 +1059,12 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
// 默认社保代理 4 // 默认社保代理 4
info.setEmpTypeAdd(CommonConstants.FOUR_STRING); info.setEmpTypeAdd(CommonConstants.FOUR_STRING);
info.setPositionAdd(PreDispatchConstants.POSITION); info.setPositionAdd(PreDispatchConstants.POSITION);
if (Common.isNotNull(selectVo)) {
info.setDepartIdAdd(selectVo.getId()); info.setDepartIdAdd(selectVo.getId());
info.setDepartNameAdd(selectVo.getDepartName()); info.setDepartNameAdd(selectVo.getDepartName());
info.setUnitIdAdd(selectVo.getCustomerId()); info.setUnitIdAdd(selectVo.getCustomerId());
info.setUnitNameAdd(selectVo.getCustomerName()); info.setUnitNameAdd(selectVo.getCustomerName());
}
// 默认合同名称为代理社保 合同类型为固定期限1 // 默认合同名称为代理社保 合同类型为固定期限1
info.setContractNameAdd(PreDispatchConstants.CONTRACT_NAME); info.setContractNameAdd(PreDispatchConstants.CONTRACT_NAME);
info.setContractTypeAdd(CommonConstants.ONE_STRING); info.setContractTypeAdd(CommonConstants.ONE_STRING);
...@@ -1847,7 +1867,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -1847,7 +1867,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
/** /**
* map数据封装 * map数据封装
* *
* @param settleDomainR * @param settleDomainList
* @param settleDomainNameMap * @param settleDomainNameMap
* @param customerNameMap * @param customerNameMap
* @param settleIdAndCustomerIdMap * @param settleIdAndCustomerIdMap
...@@ -1855,13 +1875,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -1855,13 +1875,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
* @Author huyc * @Author huyc
* @Date 2022-07-18 * @Date 2022-07-18
**/ **/
private void initSettleDomainMaps(R<List<TSettleDomainSelectVo>> settleDomainR, private void initSettleDomainMaps(List<TSettleDomainSelectVo> settleDomainList,
Map<String, String> settleDomainNameMap, Map<String, String> settleDomainNameMap,
Map<String, String> customerNameMap, Map<String, String> customerNameMap,
Map<String, String> settleIdAndCustomerIdMap) { Map<String, String> settleIdAndCustomerIdMap) {
List<TSettleDomainSelectVo> settleDomainList;
if (null != settleDomainR) {
settleDomainList = settleDomainR.getData();
//map数据封装 //map数据封装
if (Common.isNotNull(settleDomainList)) { if (Common.isNotNull(settleDomainList)) {
for (TSettleDomainSelectVo settleDomainSelectVo : settleDomainList) { for (TSettleDomainSelectVo settleDomainSelectVo : settleDomainList) {
...@@ -1873,7 +1890,6 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -1873,7 +1890,6 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
} }
} }
} }
}
/** /**
* 初始化派减的相关状态及数据 * 初始化派减的相关状态及数据
......
...@@ -52,7 +52,9 @@ import javax.servlet.ServletOutputStream; ...@@ -52,7 +52,9 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -74,6 +76,8 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe ...@@ -74,6 +76,8 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
private final TSocialLogService tSocialLogService; private final TSocialLogService tSocialLogService;
private final TAuditInfoService tAuditInfoService; private final TAuditInfoService tAuditInfoService;
private final TForecastLibraryService tForecastLibraryService; private final TForecastLibraryService tForecastLibraryService;
private final SysBaseSetInfoService sysBaseSetInfoService;
private final TSocialFundHistoryService tSocialFundHistoryService;
/** /**
* 社保公积金查询表简单分页查询 * 社保公积金查询表简单分页查询
...@@ -245,14 +249,11 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe ...@@ -245,14 +249,11 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
} }
private void importTSocialFundInfo(List<TSocialFundHistoryVo> excelVOList, List<ErrorMessage> errorMessageList) { private void importTSocialFundInfo(List<TSocialFundHistoryVo> excelVOList, List<ErrorMessage> errorMessageList) {
// 个性化校验逻辑
ErrorMessage errorMsg;
// 执行数据插入操作 组装 // 执行数据插入操作 组装
TSocialFundHistoryVo excel; TSocialFundHistoryVo excel;
List<String> idCardList = new ArrayList<>(); List<String> idCardList = new ArrayList<>();
for (int i = 0; i < excelVOList.size(); i++) { for (int i = 0; i < excelVOList.size(); i++) {
idCardList.add(excelVOList.get(i).getIdCard()); idCardList.add(excelVOList.get(i).getEmpIdcard());
} }
List<TSocialFundInfo> socialFundInfoList = this.list(Wrappers.<TSocialFundInfo>query().lambda() List<TSocialFundInfo> socialFundInfoList = this.list(Wrappers.<TSocialFundInfo>query().lambda()
.in(TSocialFundInfo::getEmpIdcard, idCardList)); .in(TSocialFundInfo::getEmpIdcard, idCardList));
...@@ -265,38 +266,393 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe ...@@ -265,38 +266,393 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
} }
TSocialFundInfo oldSocialFundInfo; TSocialFundInfo oldSocialFundInfo;
TSocialFundInfo socialFundInfo; TSocialFundInfo socialFundInfo;
// 判断是否修改了社保
boolean isSocial;
// 判断是否修改了公积金
boolean isFund;
TSocialFundHistory history;
// 基数配置Map
Map<String, SysBaseSetInfo> socialSetInfoMap = sysBaseSetInfoService.getSysBaseSetInfoMap(CommonConstants.ZERO_STRING);
Map<String, SysBaseSetInfo> fundSetInfoMap = sysBaseSetInfoService.getSysBaseSetInfoMap(CommonConstants.ONE_STRING);
// 社保基数配置
SysBaseSetInfo socialSetInfo = null;
SysBaseSetInfo fundSetInfo = null;
for (int i = 0; i < excelVOList.size(); i++) { for (int i = 0; i < excelVOList.size(); i++) {
isSocial = false;
isFund = false;
excel = excelVOList.get(i); excel = excelVOList.get(i);
socialFundInfo = socialFundInfoMap.get(excel.getIdCard()); socialFundInfo = socialFundInfoMap.get(excel.getEmpIdcard());
if (socialFundInfo.getEmpName().equals(excel.getName())) { if (null != socialFundInfo) {
if (socialFundInfo.getEmpName().equals(excel.getEmpName())) {
history = new TSocialFundHistory();
BeanUtil.copyProperties(excel, history);
// 存储变更日志使用的
oldSocialFundInfo = new TSocialFundInfo();
BeanUtil.copyProperties(socialFundInfo, oldSocialFundInfo);
// 0:校验数据有效性
// 缴纳类型不为空
if (Common.isNotNull(excel.getPaymentType())) {
isSocial = true;
if (checkSocialUpdateTwo(errorMessageList, excel.getRowIndex(), history)) continue;
} else {
isFund = true;
// 验证公积金数据调基是否完整
if (checkFundUpdate(errorMessageList, excel.getRowIndex(), history)) continue;
}
isFund = initIsFund(isFund, history);
// 如果调整公积金,公积金信息全都要填写!
if (checkFundInfo(errorMessageList, excel.getRowIndex(), isFund, history)) continue;
history.setEmpId(socialFundInfo.getEmpId());
history.setEmpIdcard(socialFundInfo.getEmpIdcard());
history.setEmpName(socialFundInfo.getEmpName());
history.setCreateTime(LocalDateTime.now());
// 0:校验数据有效性-TODO // 初始化微0,后面变更
history.setIsFund(CommonConstants.ZERO_INT);
history.setIsFund(CommonConstants.ZERO_INT);
// 社保,且缴纳类型为自定义
if (isSocial) {
if (socialFundInfo.getSocialTown() != null) {
socialSetInfo = socialSetInfoMap.get(socialFundInfo.getSocialHousehold() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getSocialProvince() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getSocialCity() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getSocialTown());
} else {
socialSetInfo = socialSetInfoMap.get(socialFundInfo.getSocialHousehold() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getSocialProvince() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getSocialCity());
}
if (socialSetInfo == null) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "未找到社保基数配置!"));
continue;
}
// 初始化社保调基信息
initSocialHistory(history, socialFundInfo);
// 更新社保公积金表的社保信息
this.setSocialFundInfoBySocial(socialFundInfo, socialSetInfo, history);
}
if (isFund) {
history.setIsFund(CommonConstants.ONE_INT);
history.setSocialFundId(socialFundInfo.getId());
history.setUnitFundBase(excel.getUnitFundBase());
history.setUnitFundProp(excel.getUnitFundProp());
history.setPersonalFundBase(excel.getPersonalFundBase());
history.setPersonalFundProp(excel.getPersonalFundProp());
if (socialFundInfo.getFundTown() != null) {
fundSetInfo = fundSetInfoMap.get(socialFundInfo.getProvidentHousehold() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getFundProvince() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getFundCity() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getFundTown());
} else {
fundSetInfo = fundSetInfoMap.get(socialFundInfo.getProvidentHousehold() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getFundProvince() + CommonConstants.DOWN_LINE_STRING
+ socialFundInfo.getFundCity());
}
if (fundSetInfo == null) {
errorMessageList.add(new ErrorMessage(i, "未找到公积金基数配置!"));
continue;
}
history.setUnitFundMoney(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(history.getUnitFundBase()
, history.getUnitFundProp(), CommonConstants.ONE_OF_PERCENT), fundSetInfo.getFundPayPoint()));
history.setPersonalFundMoney(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(history.getPersonalFundBase()
, history.getPersonalFundProp(), CommonConstants.ONE_OF_PERCENT), fundSetInfo.getFundPayPoint()));
// 更新社保公积金表的公积金信息
this.setSocialFundInfoByFund(socialFundInfo, history);
}
// 1:新增调基记录
tSocialFundHistoryService.save(history);
// 2:更新社保公积金查询
this.updateById(socialFundInfo);
// 1:更新社保公积金查询-TODO
//updateSocialFundInfo(socialFundInfo, excel);
// 2:新增调基记录
insertExcel(excel);
// 3:新增变更日志 // 3:新增变更日志
oldSocialFundInfo = new TSocialFundInfo();
BeanUtil.copyProperties(socialFundInfo, oldSocialFundInfo);
tSocialLogService.saveModificationRecord(CommonConstants.ONE_INT, oldSocialFundInfo.getId(), oldSocialFundInfo, socialFundInfo); tSocialLogService.saveModificationRecord(CommonConstants.ONE_INT, oldSocialFundInfo.getId(), oldSocialFundInfo, socialFundInfo);
// 4:同步预估库-TODO // 4:同步预估库
//tForecastLibraryService. tForecastLibraryService.updateToneForecastLibary(socialFundInfo);
// 返回信息处理
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_SUCCESS, CommonConstants.GREEN)); initResSuccessMessage(errorMessageList, excel.getRowIndex(), isSocial, isFund);
} else { } else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), SocialConstants.EMP_NAME_ERROR)); errorMessageList.add(new ErrorMessage(excel.getRowIndex(), SocialConstants.EMP_NAME_ERROR));
} }
} else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "调基失败:未找到对应结算主体下的员工" + excel.getEmpName() + "数据!"));
}
}
}
private void initResSuccessMessage(List<ErrorMessage> errorList, int i, boolean isSocial, boolean isFund) {
if (isSocial && isFund) {
errorList.add(new ErrorMessage(i, "社保公积金调基成功!", CommonConstants.GREEN));
} else if (isSocial) {
errorList.add(new ErrorMessage(i, "社保调基成功!", CommonConstants.GREEN));
} else {
errorList.add(new ErrorMessage(i, "公积金调基成功!", CommonConstants.GREEN));
} }
} }
/** /**
* 插入excel bad record * @param socialFundInfo
*/ * @param baseSetVo
private void insertExcel(TSocialFundHistoryVo excel) { * @Description: 塞值:社保公积金表的社保信息
TSocialFundInfo insert = new TSocialFundInfo(); * @Author: hgw
BeanUtil.copyProperties(excel, insert); * @Date: 2022/7/25 16:04
this.save(insert); * @return: void
**/
private void setSocialFundInfoBySocial(TSocialFundInfo socialFundInfo, SysBaseSetInfo socialSetInfo
, TSocialFundHistory baseSetVo) {
socialFundInfo.setPaymentType(String.valueOf(baseSetVo.getPaymentType()));
// 自定义,存基数等
if (CommonConstants.ONE_INT == baseSetVo.getPaymentType()) {
socialFundInfo.setUnitPensionCardinal(baseSetVo.getUnitPensionCardinal());
socialFundInfo.setUnitMedicalCardinal(baseSetVo.getUnitMedicalCardinal());
socialFundInfo.setUnitBirthCardinal(baseSetVo.getUnitBirthCardinal());
socialFundInfo.setUnitUnemploymentCardinal(baseSetVo.getUnitUnemploymentCardinal());
socialFundInfo.setUnitWorkInjuryCardinal(baseSetVo.getUnitWorkInjuryCardinal());
socialFundInfo.setPersonalPensionCardinal(baseSetVo.getUnitPensionCardinal());
socialFundInfo.setPersonalMedicalCardinal(baseSetVo.getUnitMedicalCardinal());
socialFundInfo.setPersonalUnemploymentCardinal(baseSetVo.getUnitUnemploymentCardinal());
socialFundInfo.setUnitBigailmentMoney(baseSetVo.getUnitBigailmentMoney());
socialFundInfo.setPersonalBigailmentMoney(baseSetVo.getPersonalBigailmentMoney());
} else if (CommonConstants.ZERO_INT == baseSetVo.getPaymentType()) {
BigDecimal limitBase = socialSetInfo.getLowerLimit();
this.setLimtBase(socialFundInfo, limitBase);
} else if (CommonConstants.TWO_INT == baseSetVo.getPaymentType()) {
BigDecimal limitBase = socialSetInfo.getUpperLimit();
this.setLimtBase(socialFundInfo, limitBase);
}
// 金额计算
socialFundInfo.setUnitPersionMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getUnitPensionCardinal(), socialFundInfo.getUnitPensionPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setUnitMedicalMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getUnitMedicalCardinal(), socialFundInfo.getUnitMedicalPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setUnitBirthMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getUnitBirthCardinal(), socialFundInfo.getUnitBirthPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setUnitInjuryMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getUnitWorkInjuryCardinal(), socialFundInfo.getUnitWorkUnjuryPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setUnitUnemploymentMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getUnitUnemploymentCardinal(), socialFundInfo.getUnitUnemploymentPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setPersonalPersionMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getPersonalPensionCardinal(), socialFundInfo.getPersonalPensionPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setPersonalMedicalMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getPersonalMedicalCardinal(), socialFundInfo.getPersonalMedicalPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setPersonalUnemploymentMoney(BigDecimalUtils.safeMultiply(socialFundInfo.getPersonalUnemploymentCardinal(), socialFundInfo.getPersonalUnemploymentPer(), CommonConstants.ONE_OF_PERCENT));
socialFundInfo.setUnitSocialSum(BigDecimalUtils.safeAdd(socialFundInfo.getUnitPersionMoney()
, socialFundInfo.getUnitMedicalMoney(), socialFundInfo.getUnitBirthMoney()
, socialFundInfo.getUnitInjuryMoney()
, socialFundInfo.getUnitUnemploymentMoney()
, socialFundInfo.getUnitInterestFee()
, socialFundInfo.getUnitBigailmentMoney()));
socialFundInfo.setPersonalSocialSum(BigDecimalUtils.safeAdd(socialFundInfo.getPersonalBigailmentMoney()
, socialFundInfo.getPersonalPersionMoney()
, socialFundInfo.getPersonalMedicalMoney()
, socialFundInfo.getPersonalInterestFee()
, socialFundInfo.getPersonalUnemploymentMoney()));
}
/**
* @param socialFundInfo
* @param limitBase
* @Description: 塞最低或最高值
* @Author: hgw
* @Date: 2022/7/25 16:15
* @return: void
**/
private void setLimtBase(TSocialFundInfo socialFundInfo, BigDecimal limitBase) {
socialFundInfo.setUnitPensionCardinal(limitBase);
socialFundInfo.setUnitMedicalCardinal(limitBase);
socialFundInfo.setUnitBirthCardinal(limitBase);
socialFundInfo.setUnitUnemploymentCardinal(limitBase);
socialFundInfo.setUnitWorkInjuryCardinal(limitBase);
socialFundInfo.setPersonalPensionCardinal(limitBase);
socialFundInfo.setPersonalMedicalCardinal(limitBase);
socialFundInfo.setPersonalUnemploymentCardinal(limitBase);
}
/**
* @param socialFundInfo
* @param baseSetVo
* @Description: 塞值:社保公积金表的公积金信息
* @Author: hgw
* @Date: 2022/7/25 16:05
* @return: void
**/
private void setSocialFundInfoByFund(TSocialFundInfo socialFundInfo, TSocialFundHistory baseSetVo) {
socialFundInfo.setUnitProvidengCardinal(baseSetVo.getUnitFundBase());
socialFundInfo.setUnitProvidentPer(baseSetVo.getUnitFundProp());
socialFundInfo.setPersonalProvidentCardinal(baseSetVo.getPersonalFundBase());
socialFundInfo.setPersonalProvidentPer(baseSetVo.getPersonalFundProp());
socialFundInfo.setUnitFundSum(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(
socialFundInfo.getUnitProvidengCardinal(), socialFundInfo.getUnitProvidentPer(), CommonConstants.ONE_OF_PERCENT)
, Integer.valueOf(socialFundInfo.getFundPayPoint())));
socialFundInfo.setPersonalFundSum(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(
socialFundInfo.getPersonalProvidentCardinal(), socialFundInfo.getPersonalProvidentPer(), CommonConstants.ONE_OF_PERCENT)
, Integer.valueOf(socialFundInfo.getFundPayPoint())));
}
/**
* @param history
* @param baseSetVo
* @Description: 填充调基表信息
* @Author: hgw
* @Date: 2022/7/25 16:06
* @return: void
**/
private void initSocialHistory(TSocialFundHistory history, TSocialFundInfo baseSetVo) {
history.setIsSocial(CommonConstants.ONE_INT);
history.setSocialFundId(baseSetVo.getId());
if (CommonConstants.ONE_INT == history.getPaymentType()) {
history.setUnitPersionPro(baseSetVo.getUnitPensionCardinal());
history.setUnitMedicalPro(baseSetVo.getUnitMedicalCardinal());
history.setUnitUnemploymentPro(baseSetVo.getUnitUnemploymentCardinal());
history.setUnitInjuryPro(baseSetVo.getUnitWorkInjuryCardinal());
history.setUnitBirthPro(baseSetVo.getUnitBirthCardinal());
history.setPersonalPersionPro(baseSetVo.getPersonalPensionCardinal());
history.setPersonalMedicalPro(baseSetVo.getPersonalMedicalCardinal());
history.setPersonalUnemploymentPro(baseSetVo.getPersonalUnemploymentCardinal());
history.setUnitPersionMoney(BigDecimalUtils.safeMultiply(
history.getUnitPensionCardinal(),
history.getUnitPersionPro(),
CommonConstants.ONE_OF_PERCENT));
history.setUnitMedicalMoney(BigDecimalUtils.safeMultiply(
history.getUnitMedicalCardinal(),
history.getUnitMedicalPro(),
CommonConstants.ONE_OF_PERCENT));
history.setUnitUnemploymentMoney(BigDecimalUtils.safeMultiply(
history.getUnitUnemploymentCardinal(),
history.getUnitUnemploymentPro(),
CommonConstants.ONE_OF_PERCENT));
history.setUnitInjuryMoney(BigDecimalUtils.safeMultiply(
history.getUnitWorkInjuryCardinal(),
history.getUnitInjuryPro(),
CommonConstants.ONE_OF_PERCENT));
history.setUnitBirthMoney(BigDecimalUtils.safeMultiply(
history.getUnitBirthCardinal(),
history.getUnitBirthPro(),
CommonConstants.ONE_OF_PERCENT));
// 个人、单位,采用一个基数
history.setPersonalPersionMoney(BigDecimalUtils.safeMultiply(
history.getUnitPensionCardinal(),
history.getPersonalPersionPro(),
CommonConstants.ONE_OF_PERCENT));
history.setPersonalMedicalMoney(BigDecimalUtils.safeMultiply(
history.getUnitMedicalCardinal(),
history.getPersonalMedicalPro(),
CommonConstants.ONE_OF_PERCENT));
history.setPersonalUnemploymentMoney(BigDecimalUtils.safeMultiply(
history.getUnitUnemploymentCardinal(),
history.getPersonalUnemploymentPro(),
CommonConstants.ONE_OF_PERCENT));
}
}
/**
* 验证自定义 和非自定义社保的数据完整性
*
* @return
* @Author hgw
* @Date 2022-7-25 10:46:43
**/
private boolean checkSocialUpdateTwo(List<ErrorMessage> errorList, int i, TSocialFundHistory baseSetVo) {
if ((CommonConstants.ZERO_INT == baseSetVo.getPaymentType()
|| CommonConstants.TWO_INT == baseSetVo.getPaymentType())
&& (
null != baseSetVo.getUnitPensionCardinal()
|| null != baseSetVo.getUnitMedicalCardinal()
|| null != baseSetVo.getUnitBirthCardinal()
|| null != baseSetVo.getUnitUnemploymentCardinal()
|| null != baseSetVo.getUnitWorkInjuryCardinal()
|| null != baseSetVo.getUnitBigailmentMoney()
|| null != baseSetVo.getPersonalBigailmentMoney()
)) {
errorList.add(new ErrorMessage(i, "缴纳类型非自定义,不可填写社保信息!"));
return true;
} else if (CommonConstants.ONE_INT == baseSetVo.getPaymentType()
&& (
null == baseSetVo.getUnitPensionCardinal()
|| null == baseSetVo.getUnitMedicalCardinal()
|| null == baseSetVo.getUnitBirthCardinal()
|| null == baseSetVo.getUnitUnemploymentCardinal()
|| null == baseSetVo.getUnitWorkInjuryCardinal()
)) {
errorList.add(new ErrorMessage(i, "缴纳类型为自定义,社保信息除大病外都要填写!"));
return true;
}
return false;
}
/**
* @Description: 验证公积金数据调基是否完整
* @Author: hgw
* @Date: 2022/7/25 11:28
* @return: boolean
**/
private boolean checkFundUpdate(List<ErrorMessage> errorList, int i, TSocialFundHistory baseSetVo) {
if (null != baseSetVo.getUnitMedicalCardinal()
|| null != baseSetVo.getUnitBirthCardinal()
|| null != baseSetVo.getUnitUnemploymentCardinal()
|| null != baseSetVo.getUnitWorkInjuryCardinal()
|| null != baseSetVo.getUnitBigailmentMoney()
|| null != baseSetVo.getPersonalBigailmentMoney()) {
errorList.add(new ErrorMessage(i, "检测到调整了社保字段,缴纳类型不可为空。自定义,所有社保项目必填;非自定义,社保项目不可填写!"));
return true;
}
if (null == baseSetVo.getUnitFundBase()
|| null == baseSetVo.getUnitFundProp()
|| null == baseSetVo.getPersonalFundBase()
|| null == baseSetVo.getPersonalFundProp()) {
errorList.add(new ErrorMessage(i, "缴纳类型为空,如果调整公积金,公积金信息全都要填写!"));
return true;
}
return false;
}
/**
* @Description: 是否公积金
* @Author: hgw
* @Date: 2022/7/25 11:31
* @return: boolean
**/
private boolean initIsFund(boolean isFund, TSocialFundHistory baseSetVo) {
if (null != baseSetVo.getUnitFundBase()
&& null != baseSetVo.getUnitFundProp()
&& null != baseSetVo.getPersonalFundBase()
&& null != baseSetVo.getPersonalFundProp()) {
isFund = true;
}
return isFund;
}
/**
* @Description: 验证公积金数据的完整性
* @Author: hgw
* @Date: 2022/7/25 11:33
* @return: boolean
**/
private boolean checkFundInfo(List<ErrorMessage> errorList, int i, boolean isFund, TSocialFundHistory baseSetVo) {
if (!isFund && ((null != baseSetVo.getUnitFundBase() && (
null == baseSetVo.getPersonalFundBase()
|| null == baseSetVo.getUnitFundProp()
|| null == baseSetVo.getPersonalFundProp()))
||
(null != baseSetVo.getPersonalFundBase() && (
null == baseSetVo.getUnitFundBase()
|| null == baseSetVo.getUnitFundProp()
|| null == baseSetVo.getPersonalFundProp()))
||
(null != baseSetVo.getUnitFundProp() && (
null == baseSetVo.getUnitFundBase()
|| null == baseSetVo.getPersonalFundBase()
|| null == baseSetVo.getPersonalFundProp()))
||
(null != baseSetVo.getPersonalFundProp() && (
null == baseSetVo.getUnitFundBase()
|| null == baseSetVo.getUnitFundProp()
|| null == baseSetVo.getPersonalFundBase())))) {
errorList.add(new ErrorMessage(i, "如果调整公积金,公积金信息全都要填写!"));
return true;
}
return false;
} }
@Override @Override
......
package com.yifu.cloud.plus.v1.yifu.social.util; package com.yifu.cloud.plus.v1.yifu.social.util;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil; import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
/** /**
* 公用方法提取 * 公用方法提取
...@@ -56,4 +58,40 @@ public class ServiceUtil { ...@@ -56,4 +58,40 @@ public class ServiceUtil {
} }
return null; return null;
} }
/**
* 抛个异常先
* @Author fxj
* @Date 2020-09-09
* @param errorInfo
* @return
**/
public static void runTimeExceptionDiy(String errorInfo) {
throw new CheckedException(errorInfo);
}
/**
* 参数2的是否大于等于参数1的
* @Author fxj
* @Date 20200403
* @param socialStartDate
* @param socialPayMonth
* @param reduceDate
* @return
**/
public static boolean checkMothForPaymentImport(Date socialStartDate, String socialPayMonth, Date reduceDate) {
if(socialStartDate != null) {
if (null == reduceDate){
if(Integer.parseInt(socialPayMonth) >= Integer.parseInt(DateUtil.dateToString(socialStartDate))){
return true;
}
}else {
if(Integer.parseInt(socialPayMonth) >= Integer.parseInt(DateUtil.dateToString(socialStartDate))
&& Integer.parseInt(socialPayMonth) < Integer.parseInt(DateUtil.dateToString(reduceDate))){
return true;
}
}
}
return false;
}
} }
...@@ -161,6 +161,10 @@ ...@@ -161,6 +161,10 @@
<if test="sysBaseSetInfo.applyStartDate != null"> <if test="sysBaseSetInfo.applyStartDate != null">
AND a.APPLY_START_DATE = #{sysBaseSetInfo.applyStartDate} AND a.APPLY_START_DATE = #{sysBaseSetInfo.applyStartDate}
</if> </if>
<if test="sysBaseSetInfo.applyStartDate != null">
AND a.APPLY_START_DATE <![CDATA[ <= ]]> #{sysBaseSetInfo.applyStartDate}
AND (a.APPLY_END_DATE is null or a.APPLY_END_DATE <![CDATA[ >= ]]> #{sysBaseSetInfo.applyStartDate})
</if>
<if test="sysBaseSetInfo.applyEndDate != null"> <if test="sysBaseSetInfo.applyEndDate != null">
AND a.APPLY_END_DATE = #{sysBaseSetInfo.applyEndDate} AND a.APPLY_END_DATE = #{sysBaseSetInfo.applyEndDate}
</if> </if>
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
<result property="updateBy" column="UPDATE_BY"/> <result property="updateBy" column="UPDATE_BY"/>
<result property="createName" column="CREATE_NAME"/> <result property="createName" column="CREATE_NAME"/>
<result property="updateTime" column="UPDATE_TIME"/> <result property="updateTime" column="UPDATE_TIME"/>
<result property="createTime" column="CREATE_TIME"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -45,7 +46,8 @@ ...@@ -45,7 +46,8 @@
a.CREATE_BY, a.CREATE_BY,
a.UPDATE_BY, a.UPDATE_BY,
a.CREATE_NAME, a.CREATE_NAME,
a.UPDATE_TIME a.UPDATE_TIME,
a.CREATE_TIME
</sql> </sql>
<sql id="tDispatchDayConf_where"> <sql id="tDispatchDayConf_where">
<if test="tDispatchDayConf != null"> <if test="tDispatchDayConf != null">
...@@ -79,6 +81,9 @@ ...@@ -79,6 +81,9 @@
<if test="tDispatchDayConf.updateTime != null"> <if test="tDispatchDayConf.updateTime != null">
AND a.UPDATE_TIME = #{tDispatchDayConf.updateTime} AND a.UPDATE_TIME = #{tDispatchDayConf.updateTime}
</if> </if>
<if test="tDispatchDayConf.createTime != null">
AND a.CREATE_TIME = #{tDispatchDayConf.createTime}
</if>
</if> </if>
</sql> </sql>
<!--tDispatchDayConf简单分页查询--> <!--tDispatchDayConf简单分页查询-->
......
...@@ -92,7 +92,6 @@ ...@@ -92,7 +92,6 @@
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/> <result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="providentHousehold" column="PROVIDENT_HOUSEHOLD"/> <result property="providentHousehold" column="PROVIDENT_HOUSEHOLD"/>
<result property="providentHouseholdName" column="PROVIDENT_HOUSEHOLD_NAME"/> <result property="providentHouseholdName" column="PROVIDENT_HOUSEHOLD_NAME"/>
<result property="providentNo" column="PROVIDENT_NO"/>
<result property="dataPush" column="DATA_PUSH"/> <result property="dataPush" column="DATA_PUSH"/>
<result property="dataType" column="DATA_TYPE"/> <result property="dataType" column="DATA_TYPE"/>
<result property="createBy" column="CREATE_BY"/> <result property="createBy" column="CREATE_BY"/>
...@@ -170,7 +169,6 @@ ...@@ -170,7 +169,6 @@
a.SOCIAL_HOUSEHOLD_NAME, a.SOCIAL_HOUSEHOLD_NAME,
a.PROVIDENT_HOUSEHOLD, a.PROVIDENT_HOUSEHOLD,
a.PROVIDENT_HOUSEHOLD_NAME, a.PROVIDENT_HOUSEHOLD_NAME,
a.PROVIDENT_NO,
a.DATA_PUSH, a.DATA_PUSH,
a.DATA_TYPE, a.DATA_TYPE,
a.CREATE_BY, a.CREATE_BY,
...@@ -391,9 +389,6 @@ ...@@ -391,9 +389,6 @@
<if test="tForecastLibrary.providentHouseholdName != null and tForecastLibrary.providentHouseholdName.trim() != ''"> <if test="tForecastLibrary.providentHouseholdName != null and tForecastLibrary.providentHouseholdName.trim() != ''">
AND a.PROVIDENT_HOUSEHOLD_NAME = #{tForecastLibrary.providentHouseholdName} AND a.PROVIDENT_HOUSEHOLD_NAME = #{tForecastLibrary.providentHouseholdName}
</if> </if>
<if test="tForecastLibrary.providentNo != null and tForecastLibrary.providentNo.trim() != ''">
AND a.PROVIDENT_NO = #{tForecastLibrary.providentNo}
</if>
<if test="tForecastLibrary.dataPush != null"> <if test="tForecastLibrary.dataPush != null">
AND a.DATA_PUSH = #{tForecastLibrary.dataPush} AND a.DATA_PUSH = #{tForecastLibrary.dataPush}
</if> </if>
......
...@@ -25,19 +25,16 @@ ...@@ -25,19 +25,16 @@
<resultMap id="tSocialFundHistoryMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundHistory"> <resultMap id="tSocialFundHistoryMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundHistory">
<id property="id" column="ID"/> <id property="id" column="ID"/>
<result property="name" column="NAME"/> <result property="empName" column="EMP_NAME"/>
<result property="idCard" column="ID_CARD"/> <result property="empIdcard" column="ID_CARD"/>
<result property="employeeId" column="EMPLOYEE_ID"/> <result property="empId" column="EMP_ID"/>
<result property="unitPensionBase" column="UNIT_PENSION_BASE"/> <result property="unitPensionCardinal" column="UNIT_PENSION_CARDINAL"/>
<result property="unitMedicalBase" column="UNIT_MEDICAL_BASE"/> <result property="unitMedicalCardinal" column="UNIT_MEDICAL_CARDINAL"/>
<result property="unitUnemploymentBase" column="UNIT_UNEMPLOYMENT_BASE"/> <result property="unitUnemploymentCardinal" column="UNIT_UNEMPLOYMENT_CARDINAL"/>
<result property="unitInjuryBase" column="UNIT_INJURY_BASE"/> <result property="unitWorkInjuryCardinal" column="UNIT_WORK_INJURY_CARDINAL"/>
<result property="unitBirthBase" column="UNIT_BIRTH_BASE"/> <result property="unitBirthCardinal" column="UNIT_BIRTH_CARDINAL"/>
<result property="unitBigailmentBase" column="UNIT_BIGAILMENT_BASE"/> <result property="unitBigailmentCardinal" column="UNIT_BIGAILMENT_CARDINAL"/>
<result property="personalPensionBase" column="PERSONAL_PENSION_BASE"/>
<result property="personalMedicalBase" column="PERSONAL_MEDICAL_BASE"/>
<result property="personalUnemploymentBase" column="PERSONAL_UNEMPLOYMENT_BASE"/>
<result property="personalBigailmentBase" column="PERSONAL_BIGAILMENT_BASE"/>
<result property="unitPersionPro" column="UNIT_PERSION_PRO"/> <result property="unitPersionPro" column="UNIT_PERSION_PRO"/>
<result property="unitPersionMoney" column="UNIT_PERSION_MONEY"/> <result property="unitPersionMoney" column="UNIT_PERSION_MONEY"/>
<result property="unitMedicalPro" column="UNIT_MEDICAL_PRO"/> <result property="unitMedicalPro" column="UNIT_MEDICAL_PRO"/>
...@@ -64,12 +61,10 @@ ...@@ -64,12 +61,10 @@
<result property="personalFundProp" column="PERSONAL_FUND_PROP"/> <result property="personalFundProp" column="PERSONAL_FUND_PROP"/>
<result property="unitFundMoney" column="UNIT_FUND_MONEY"/> <result property="unitFundMoney" column="UNIT_FUND_MONEY"/>
<result property="personalFundMoney" column="PERSONAL_FUND_MONEY"/> <result property="personalFundMoney" column="PERSONAL_FUND_MONEY"/>
<result property="isOld" column="IS_OLD"/>
<result property="paymentType" column="PAYMENT_TYPE"/> <result property="paymentType" column="PAYMENT_TYPE"/>
<result property="isSocial" column="IS_SOCIAL"/> <result property="isSocial" column="IS_SOCIAL"/>
<result property="isFund" column="IS_FUND"/> <result property="isFund" column="IS_FUND"/>
<result property="socialId" column="SOCIAL_ID"/> <result property="socialFundId" column="SOCIAL_FUND_ID"/>
<result property="fundId" column="FUND_ID"/>
<result property="createBy" column="CREATE_BY"/> <result property="createBy" column="CREATE_BY"/>
<result property="updateBy" column="UPDATE_BY"/> <result property="updateBy" column="UPDATE_BY"/>
<result property="createName" column="CREATE_NAME"/> <result property="createName" column="CREATE_NAME"/>
...@@ -77,19 +72,17 @@ ...@@ -77,19 +72,17 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
a.NAME, a.EMP_NAME,
a.ID_CARD, a.EMP_IDCARD,
a.EMPLOYEE_ID, a.EMP_ID,
a.UNIT_PENSION_BASE,
a.UNIT_MEDICAL_BASE, a.UNIT_PENSION_CARDINAL,
a.UNIT_UNEMPLOYMENT_BASE, a.UNIT_MEDICAL_CARDINAL,
a.UNIT_INJURY_BASE, a.UNIT_UNEMPLOYMENT_CARDINAL,
a.UNIT_BIRTH_BASE, a.UNIT_WORK_INJURY_CARDINAL,
a.UNIT_BIGAILMENT_BASE, a.UNIT_BIRTH_CARDINAL,
a.PERSONAL_PENSION_BASE, a.UNIT_BIGAILMENT_CARDINAL,
a.PERSONAL_MEDICAL_BASE,
a.PERSONAL_UNEMPLOYMENT_BASE,
a.PERSONAL_BIGAILMENT_BASE,
a.UNIT_PERSION_PRO, a.UNIT_PERSION_PRO,
a.UNIT_PERSION_MONEY, a.UNIT_PERSION_MONEY,
a.UNIT_MEDICAL_PRO, a.UNIT_MEDICAL_PRO,
...@@ -116,12 +109,10 @@ ...@@ -116,12 +109,10 @@
a.PERSONAL_FUND_PROP, a.PERSONAL_FUND_PROP,
a.UNIT_FUND_MONEY, a.UNIT_FUND_MONEY,
a.PERSONAL_FUND_MONEY, a.PERSONAL_FUND_MONEY,
a.IS_OLD,
a.PAYMENT_TYPE, a.PAYMENT_TYPE,
a.IS_SOCIAL, a.IS_SOCIAL,
a.IS_FUND, a.IS_FUND,
a.SOCIAL_ID, a.SOCIAL_FUND_ID,
a.FUND_ID,
a.CREATE_BY, a.CREATE_BY,
a.UPDATE_BY, a.UPDATE_BY,
a.CREATE_NAME, a.CREATE_NAME,
...@@ -132,45 +123,16 @@ ...@@ -132,45 +123,16 @@
<if test="tSocialFundHistory.id != null and tSocialFundHistory.id.trim() != ''"> <if test="tSocialFundHistory.id != null and tSocialFundHistory.id.trim() != ''">
AND a.ID = #{tSocialFundHistory.id} AND a.ID = #{tSocialFundHistory.id}
</if> </if>
<if test="tSocialFundHistory.name != null and tSocialFundHistory.name.trim() != ''"> <if test="tSocialFundHistory.empName != null and tSocialFundHistory.empName.trim() != ''">
AND a.NAME = #{tSocialFundHistory.name} AND a.EMP_NAME = #{tSocialFundHistory.empName}
</if>
<if test="tSocialFundHistory.idCard != null and tSocialFundHistory.idCard.trim() != ''">
AND a.ID_CARD = #{tSocialFundHistory.idCard}
</if>
<if test="tSocialFundHistory.employeeId != null and tSocialFundHistory.employeeId.trim() != ''">
AND a.EMPLOYEE_ID = #{tSocialFundHistory.employeeId}
</if>
<if test="tSocialFundHistory.unitPensionBase != null">
AND a.UNIT_PENSION_BASE = #{tSocialFundHistory.unitPensionBase}
</if>
<if test="tSocialFundHistory.unitMedicalBase != null">
AND a.UNIT_MEDICAL_BASE = #{tSocialFundHistory.unitMedicalBase}
</if>
<if test="tSocialFundHistory.unitUnemploymentBase != null">
AND a.UNIT_UNEMPLOYMENT_BASE = #{tSocialFundHistory.unitUnemploymentBase}
</if> </if>
<if test="tSocialFundHistory.unitInjuryBase != null"> <if test="tSocialFundHistory.empIdcard != null and tSocialFundHistory.empIdcard.trim() != ''">
AND a.UNIT_INJURY_BASE = #{tSocialFundHistory.unitInjuryBase} AND a.EMP_IDCARD = #{tSocialFundHistory.empIdcard}
</if> </if>
<if test="tSocialFundHistory.unitBirthBase != null"> <if test="tSocialFundHistory.empId != null and tSocialFundHistory.empId.trim() != ''">
AND a.UNIT_BIRTH_BASE = #{tSocialFundHistory.unitBirthBase} AND a.EMP_ID = #{tSocialFundHistory.empId}
</if>
<if test="tSocialFundHistory.unitBigailmentBase != null">
AND a.UNIT_BIGAILMENT_BASE = #{tSocialFundHistory.unitBigailmentBase}
</if>
<if test="tSocialFundHistory.personalPensionBase != null">
AND a.PERSONAL_PENSION_BASE = #{tSocialFundHistory.personalPensionBase}
</if>
<if test="tSocialFundHistory.personalMedicalBase != null">
AND a.PERSONAL_MEDICAL_BASE = #{tSocialFundHistory.personalMedicalBase}
</if>
<if test="tSocialFundHistory.personalUnemploymentBase != null">
AND a.PERSONAL_UNEMPLOYMENT_BASE = #{tSocialFundHistory.personalUnemploymentBase}
</if>
<if test="tSocialFundHistory.personalBigailmentBase != null">
AND a.PERSONAL_BIGAILMENT_BASE = #{tSocialFundHistory.personalBigailmentBase}
</if> </if>
<if test="tSocialFundHistory.unitPersionPro != null"> <if test="tSocialFundHistory.unitPersionPro != null">
AND a.UNIT_PERSION_PRO = #{tSocialFundHistory.unitPersionPro} AND a.UNIT_PERSION_PRO = #{tSocialFundHistory.unitPersionPro}
</if> </if>
...@@ -249,9 +211,6 @@ ...@@ -249,9 +211,6 @@
<if test="tSocialFundHistory.personalFundMoney != null"> <if test="tSocialFundHistory.personalFundMoney != null">
AND a.PERSONAL_FUND_MONEY = #{tSocialFundHistory.personalFundMoney} AND a.PERSONAL_FUND_MONEY = #{tSocialFundHistory.personalFundMoney}
</if> </if>
<if test="tSocialFundHistory.isOld != null">
AND a.IS_OLD = #{tSocialFundHistory.isOld}
</if>
<if test="tSocialFundHistory.paymentType != null"> <if test="tSocialFundHistory.paymentType != null">
AND a.PAYMENT_TYPE = #{tSocialFundHistory.paymentType} AND a.PAYMENT_TYPE = #{tSocialFundHistory.paymentType}
</if> </if>
...@@ -261,11 +220,8 @@ ...@@ -261,11 +220,8 @@
<if test="tSocialFundHistory.isFund != null"> <if test="tSocialFundHistory.isFund != null">
AND a.IS_FUND = #{tSocialFundHistory.isFund} AND a.IS_FUND = #{tSocialFundHistory.isFund}
</if> </if>
<if test="tSocialFundHistory.socialId != null and tSocialFundHistory.socialId.trim() != ''"> <if test="tSocialFundHistory.socialFundId != null and tSocialFundHistory.socialFundId.trim() != ''">
AND a.SOCIAL_ID = #{tSocialFundHistory.socialId} AND a.SOCIAL_FUND_ID = #{tSocialFundHistory.socialFundId}
</if>
<if test="tSocialFundHistory.fundId != null and tSocialFundHistory.fundId.trim() != ''">
AND a.FUND_ID = #{tSocialFundHistory.fundId}
</if> </if>
<if test="tSocialFundHistory.createBy != null and tSocialFundHistory.createBy.trim() != ''"> <if test="tSocialFundHistory.createBy != null and tSocialFundHistory.createBy.trim() != ''">
AND a.CREATE_BY = #{tSocialFundHistory.createBy} AND a.CREATE_BY = #{tSocialFundHistory.createBy}
......
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