Commit ffa2b81b authored by hongguangwu's avatar hongguangwu

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

parents bbbdd686 2313f8e6
......@@ -44,8 +44,9 @@ spec: # 资源规范字段
kubernetes.io/hostname: yfmaster1
containers: # 容器
- name: yifu-insurances # 容器的名字
image: 192.168.1.110:5500/qas-mvp/yifu-insurances-biz:1.0.0 # 容器镜像地址
imagePullPolicy: Never # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
image: localhost:5000/qas-mvp/yifu-insurances-biz:1.0.0 #临时地址
# image: 192.168.1.110:5500/qas-mvp/yifu-insurances-biz:1.0.0 # 容器镜像地址
imagePullPolicy: IfNotPresent # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
# Always,每次都检查;Never,每次都不检查(不管本地是否有);IfNotPresent,如果本地有就不检查,如果没有就拉取(手动测试时,
# 已经打好镜像存在docker容器中时,使用存在不检查级别,
# 默认为每次都检查,然后会进行拉取新镜像,因镜像仓库不存在,导致部署失败)
......
......@@ -261,7 +261,7 @@
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<!-- 天翼云-->
<my.hub.host>192.168.1.110:5500</my.hub.host>
<my.hub.host>localhost:5000</my.hub.host>
<map.group.name>qas-mvp</map.group.name>
<!-- 众多参数配置 -->
</properties>
......@@ -284,7 +284,7 @@
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>test</profiles.active>
<!-- 天翼云-->
<my.hub.host>192.168.1.110:5500</my.hub.host>
<my.hub.host>localhost:5000</my.hub.host>
<map.group.name>qas-mvp</map.group.name>
<!-- 众多参数配置 -->
</properties>
......
......@@ -183,4 +183,10 @@ public class EmpProjectDispatchVo implements Serializable {
*/
@Schema(description = "社保-县")
private Integer socialTown;
/**
* 试用期(单位月)
*/
@Schema(description ="试用期(单位月)")
private String tryPeriod;
}
......@@ -2256,6 +2256,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
project.setEmpId(emp.getId());
}
}
project.setProjectSource(CommonConstants.ONE_STRING);
project.setEmpNo(tEmployeeProjectService.getEmpNo(project.getDeptNo()));
tEmployeeProjectService.save(project);
projectAdd.setId(project.getId());
......
......@@ -16,6 +16,17 @@ spring:
username: root
password: yf_zsk
url: jdbc:mysql://192.168.1.65:22306/yifu_checks?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
## spring security 配置
security:
......
......@@ -492,4 +492,12 @@ public interface ErrorCodes {
* 派增异常: 已存在兼职工伤,请派减后再派增五险
*/
String EMP_DISPATCH_SOCIAL_INJURY_EXISTING_LIMIT = "emp.dispatch.social.injury.existing.limit";
/**
* 派增异常: 失败项重新派单社保户与已有社保户不一致
*/
String EMP_DISPATCH_SOCIAL_HOLD_NOT_SAME = "emp.dispatch.social.hold.same";
/**
* 派增异常: 失败项重新派单缴纳方式不可变更
*/
String EMP_DISPATCH_SOCIAL_PAYMENT_TYPE_NOT_SAME = "emp.dispatch.social.payment.type.same";
}
......@@ -831,7 +831,7 @@ public class ExcelUtil <T> implements Serializable {
//校验字段是否符合要求 返回错误信息
error = validateUtil(c, attr, i + 2);
if (null == error && attr.isDate() && Common.isNotNull(c)) {
c.replace("/","-").replace(CommonConstants.YEAR,"-")
c = c.replace("/","-").replace(CommonConstants.YEAR,"-")
.replace(CommonConstants.MONTH,"-").replace(CommonConstants.DAY,"");
Pattern pattern = Pattern.compile("[0-9]*");
if (pattern.matcher(c).matches()) {
......
......@@ -189,6 +189,10 @@ emp_dispatch_exist=\u6D3E\u589E\u5F02\u5E38\uFF1A \u540C\u4E00\u8EAB\u4EFD\u8BC1
emp.dispatch.social.injury.existing.limit=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5DF2\u5B58\u5728\u517C\u804C\u5DE5\u4F24\uFF0C\u8BF7\u6D3E\u51CF\u540E\u518D\u6D3E\u589E\u4E94\u9669
emp.dispatch.social.hold.same=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5931\u8D25\u9879\u91CD\u65B0\u6D3E\u5355\u793E\u4FDD\u6237\u4E0E\u5DF2\u6709\u793E\u4FDD\u6237\u4E0D\u4E00\u81F4
emp.dispatch.social.payment.type.same=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5931\u8D25\u9879\u91CD\u65B0\u6D3E\u5355\u7F34\u7EB3\u65B9\u5F0F\u4E0D\u53EF\u53D8\u66F4
......
......@@ -36,17 +36,17 @@ public class InsurancesConstants {
*/
public static final String CHANGE_ERROR = "数据发生变动,请刷新数据后重新办理";
/**
* 导出办理
* 投保导出办理
*/
public static final String EXPORT = "导出办理";
public static final String EXPORT = "投保导出办理";
/**
* 投保退回
*/
public static final String ROLLBACK = "投保退回";
/**
* 办理成功
* 投保办理成功
*/
public static final String SUCCESSFUL = "办理成功";
public static final String SUCCESSFUL = "投保办理成功";
/**
* 登记保单保费
*/
......@@ -687,18 +687,18 @@ public class InsurancesConstants {
public static final String INSURANCE_REFUND_IMPORT = "导入减员数据";
/**
* 导出待减员数据
* 减员导出办理
*/
public static final String INSURANCE_REFUND_EXPORT = "导出待减员数据";
public static final String INSURANCE_REFUND_EXPORT = "减员导出办理";
/**
* 减员成功
* 减员办理成功
*/
public static final String INSURANCE_REFUND_SUCCESS = "减员成功";
public static final String INSURANCE_REFUND_SUCCESS = "减员办理成功";
/**
* 减员退回
* 减员退回成功
*/
public static final String INSURANCE_REFUND_FAILED = "减员退回";
......
......@@ -36,7 +36,7 @@ public class EKPInteractiveParam implements Serializable {
/**
* 单据类型 (0、与薪资合并结算 1、单独结算)
*/
@Schema(description = "单据类型 (0、预估单 1、实缴单)")
@Schema(description = "单据类型 (1、预估单 2、实缴单)")
private Integer settleType;
/**
......
......@@ -938,7 +938,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if(detail.getBuyType() == CommonConstants.FOUR_INT){
//替换者有效状态为空
detail.setIsEffect(null);
TInsuranceReplace one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
.eq(TInsuranceReplace::getToInsuranceDetailId, detail.getId())
.last(CommonConstants.LAST_ONE_SQL));
......@@ -994,12 +993,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
tInsuranceSettleService.save(burden);
//推送负的给ekp
String s = pushEstimate(detail, CommonConstants.THREE_INT);
//这里退回的时候,必须置为null,防止是实缴的时候,登记保费出错
if(StringUtils.isNotBlank(s)){
detail.setDefaultSettleId(null);
}
}
}
}
//更新状态
this.saveOrUpdateBatch(successList);
......@@ -1020,6 +1021,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
*/
@Override
public R<List<InsuranceListVO>> successfulInsurance(List<String> idList) {
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(50, 50, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10));
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
......@@ -1079,11 +1081,10 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settle.setInsDetailId(detail.getId());
settle.setSettleType(detail.getSettleType());
settle.setSettleHandleStatus(CommonConstants.ONE_STRING);
settle.setCreateTime(LocalDateTime.now());
settle.setEstimatePremium(estimatePremium);
//调完ekp接口才会是1
settle.setIsEstimatePush(CommonConstants.ONE_INT);
settle.setEstimatePushTime(LocalDateTime.now());
settle.setCreateTime(LocalDateTime.now());
settle.setIsEstimatePush(CommonConstants.ZERO_INT);
tInsuranceSettleService.save(settle);
detail.setDefaultSettleId(settle.getId());
successList.add(detail);
......@@ -1141,14 +1142,28 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
if (CollectionUtils.isNotEmpty(successList)){
threadPool.execute(() -> {
for (TInsuranceDetail tInsuranceDetail : successList) {
this.updateById(tInsuranceDetail);
pushEstimate(tInsuranceDetail);
Integer settleType = tInsuranceDetail.getSettleType();
//如果是合并计算则推送至EKP
if(CommonConstants.ZERO_INT == settleType){
//存储成功后发送给EKP
String s = pushEstimate(tInsuranceDetail,CommonConstants.ONE_INT);
if(StringUtils.isNotBlank(s)){
LambdaUpdateWrapper<TInsuranceSettle> settleWrapper = new LambdaUpdateWrapper<>();
settleWrapper.eq(TInsuranceSettle :: getId,tInsuranceDetail.getDefaultSettleId())
.set(TInsuranceSettle :: getIsEstimatePush,CommonConstants.ONE_INT)
.set(TInsuranceSettle :: getEstimatePushTime,LocalDateTime.now());
//更新结算信息表
tInsuranceSettleService.update(settleWrapper);
//更新保单信息表
updateById(tInsuranceDetail);
}
//更新
this.saveOrUpdateBatch(successList);
}else{
updateById(tInsuranceDetail);
}
}
});
//todo 根据结算类型是合并结算,推送预估保费到ekp(上面已经算好,这里直接判断有预估保费的就推送)
//结算状态是待结算,结算中、已结算是ekp反馈的,如果结算失败,反馈到我们这边的状态是待结算
}
......@@ -1168,6 +1183,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
*/
@Override
public R<List<InsuranceRegisterParam>> registeredPolicyPremium(List<InsuranceRegisterParam> paramList) {
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(50, 50, 100, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10));
if (CollectionUtils.isEmpty(paramList)){
return R.failed(CommonConstants.DATA_CAN_NOT_EMPTY);
}
......@@ -1212,13 +1228,19 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
TInsuranceSettle settle = tInsuranceSettleService.getById(detail.getDefaultSettleId());
if (Optional.ofNullable(settle).isPresent()){
settle.setActualPremium(new BigDecimal(success.getActualPremium()));
settle.setIsActualPush(CommonConstants.ONE_INT);
settle.setActualPushTime(LocalDateTime.now());
settle.setIsActualPush(CommonConstants.ZERO_INT);
settle.setUpdateTime(LocalDateTime.now());
tInsuranceSettleService.updateById(settle);
//调更新接口
//调EKP更新实际保费
detail.setActualPremium(new BigDecimal(success.getActualPremium()));
threadPool.execute(() ->{
String s = pushEstimate(detail,CommonConstants.FOUR_INT);
if(StringUtils.isNotBlank(s)){
settle.setActualPushTime(LocalDateTime.now());
settle.setIsActualPush(CommonConstants.ONE_INT);
tInsuranceSettleService.updateById(settle);
}
});
}
}else {
//保费存储
......@@ -1227,22 +1249,26 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settle.setSettleType(detail.getSettleType());
settle.setSettleHandleStatus(CommonConstants.ONE_STRING);
settle.setActualPremium(new BigDecimal(success.getActualPremium()));
settle.setIsActualPush(CommonConstants.ZERO_INT);
//调完ekp接口才会是1
settle.setIsActualPush(CommonConstants.ONE_INT);
settle.setActualPushTime(LocalDateTime.now());
settle.setCreateTime(LocalDateTime.now());
tInsuranceSettleService.save(settle);
detail.setDefaultSettleId(settle.getId());
//调新增接口
//调EKP新增实际保费
detail.setActualPremium(new BigDecimal(success.getActualPremium()));
threadPool.execute(() ->{
String s = pushEstimate(detail, CommonConstants.TWO_INT);
if(StringUtils.isNotBlank(s)){
settle.setActualPushTime(LocalDateTime.now());
settle.setIsActualPush(CommonConstants.ONE_INT);
tInsuranceSettleService.updateById(settle);
}
});
}
}
detail.setActualPremium(new BigDecimal(success.getActualPremium()));
}
//可以改成批量更新
this.updateById(detail);
detailList.add(detail);
}
}
......@@ -3054,7 +3080,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
BeanCopyUtils.copyProperties(byId,ekpInteractiveParam);
ekpInteractiveParam.setSettleMonth(settleMonth);
String body = EKPUtil.sendToEKP(ekpInteractiveParam);
System.out.println("变更成功后的id为:"+body);
if (!StringUtils.isBlank(body)){
LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(TInsuranceDetail ::getId,ekpInteractiveParam.getId())
......@@ -3068,9 +3093,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceOperate.setCreateName(user.getNickname());
insuranceOperate.setCreateTime(LocalDateTime.now());
insuranceOperate.setOperateDesc(InsurancesConstants.MONTH_CHANGE);
operateList.add(insuranceOperate);
tInsuranceOperateService.save(insuranceOperate);
}else{
System.out.println("更新EKP结算月份失败");
for (SettleMonthChangeCheckParam success: successList ){
if(success.getId().equals(ekpInteractiveParam.getId())){
success.setErrorMessage("更新EKP结算月份失败");
......@@ -3091,7 +3115,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceOperate.setCreateName(user.getNickname());
insuranceOperate.setCreateTime(LocalDateTime.now());
insuranceOperate.setOperateDesc(InsurancesConstants.MONTH_CHANGE);
operateList.add(insuranceOperate);
tInsuranceOperateService.save(insuranceOperate);
}
}else{
LambdaUpdateWrapper<TInsuranceDetail> updateWrapper = new LambdaUpdateWrapper<>();
......@@ -3106,12 +3130,10 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceOperate.setCreateName(user.getNickname());
insuranceOperate.setCreateTime(LocalDateTime.now());
insuranceOperate.setOperateDesc(InsurancesConstants.MONTH_CHANGE);
operateList.add(insuranceOperate);
tInsuranceOperateService.save(insuranceOperate);
}
});
}
tInsuranceOperateService.saveBatch(operateList);
}
return R.ok(errorList,"导入成功");
}
......@@ -3133,12 +3155,11 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return R.failed("当前变更所属项目列表为空");
}
Map<String, List<DeptChangeCheckParam>> stringListMap = deptChangeCheck(deptChangeCheckList,user);
//todo 生成EKP通知,通知ekp变更结算所属项目
List<DeptChangeCheckParam> successList = stringListMap.get("successList");
List<TInsuranceOperate> operateList = new ArrayList<>(16);
if(CollectionUtils.isNotEmpty(successList)){
for (DeptChangeCheckParam success : successList) {
threadPool.execute(() -> {
for (DeptChangeCheckParam success : successList) {
EKPInteractiveParam interactiveParam = new EKPInteractiveParam();
TInsuranceDetail one = getOne(lambdaQuery().getWrapper().eq(TInsuranceDetail::getId, success.getId()));
BeanCopyUtils.copyProperties(one,interactiveParam);
......@@ -3183,7 +3204,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setDeptName(success.getOldDeptName());
interactiveParam.setInteractiveType(CommonConstants.THREE_INT);
String deleteBody = EKPUtil.sendToEKP(interactiveParam);
if (StringUtils.isBlank(deleteBody)) {
if (StringUtils.isNotBlank(deleteBody)) {
//推送成功更新作废推送状态
cancel.setIsCancelPush(CommonConstants.ONE_INT);
tInsuranceSettleCancelService.updateById(cancel);
......@@ -3252,7 +3273,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
if (!StringUtils.isBlank(estimateBody)) {
if (StringUtils.isNotBlank(estimateBody)) {
newInsuranceSettle.setEstimatePushTime(LocalDateTime.now());
newInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
newInsuranceSettle.setUpdateTime(LocalDateTime.now());
......@@ -3262,7 +3283,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setEstimatePremium(null);
interactiveParam.setActualPremium(success.getActualPremium());
String actualBody = EKPUtil.sendToEKP(interactiveParam);
if (!StringUtils.isBlank(actualBody)) {
if (StringUtils.isNotBlank(actualBody)) {
//推送成功后更新本地推送状态
newInsuranceSettle.setActualPushTime(LocalDateTime.now());
newInsuranceSettle.setIsActualPush(CommonConstants.ONE_INT);
......@@ -3312,7 +3333,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
interactiveParam.setActualPremium(null);
interactiveParam.setSettleType(CommonConstants.ZERO_INT);
String estimateBody = EKPUtil.sendToEKP(interactiveParam);
if(!StringUtils.isBlank(estimateBody)){
if(StringUtils.isNotBlank(estimateBody)){
//推送成功后更新本地推送状态
tInsuranceSettle.setIsEstimatePush(CommonConstants.ONE_INT);
tInsuranceSettle.setEstimatePushTime(LocalDateTime.now());
......@@ -3433,7 +3454,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}else{
//异常处理 // TODO: 2022/8/9
}
}
//如果没有登记保费
if (BigDecimalUtils.isNullOrZero(actualPremium)){
......@@ -3511,7 +3531,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
});
//新增操作信息
TInsuranceOperate insuranceOperate = new TInsuranceOperate();
insuranceOperate.setInsuranceDetailId(success.getId());
......@@ -3521,6 +3540,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
insuranceOperate.setOperateDesc(InsurancesConstants.DEPT_CHANGE);
operateList.add(insuranceOperate);
}
});
}
tInsuranceOperateService.saveBatch(operateList);
List<DeptChangeCheckParam> errorList = stringListMap.get("errorList");
......@@ -4615,10 +4635,54 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
* @param
* @return {@link String}
*/
public String pushEstimate(TInsuranceDetail tInsuranceDetail){
String deptNo = tInsuranceDetail.getDeptNo();
return null;
public String pushEstimate(TInsuranceDetail tInsuranceDetail,Integer pushType){
//1,推送预估保费,2,推送实际保费,3推送预估冲正保费,4更新实际保费
EKPInteractiveParam param = new EKPInteractiveParam();
List<String> deptNoList =new ArrayList<>();
deptNoList.add(tInsuranceDetail.getDeptNo());
BeanCopyUtils.copyProperties(tInsuranceDetail,param);
//获取当前项目的名称,客户名称和客户编码
R<SetInfoVo> setInfoByCodes = archivesDaprUtil.getSetInfoByCodes(deptNoList);
if (null != setInfoByCodes && setInfoByCodes.getCode() == CommonConstants.SUCCESS && Common.isNotNull(setInfoByCodes.getData())) {
SetInfoVo data = setInfoByCodes.getData();
Map<String, ProjectSetInfoVo> projectSetInfoVoMap = data.getProjectSetInfoVoMap();
ProjectSetInfoVo projectSetInfoVo = projectSetInfoVoMap.get(tInsuranceDetail.getDeptNo());
param.setDeptName(projectSetInfoVo.getDepartName());
param.setCustomerName(projectSetInfoVo.getCustomerName());
param.setCustomerCode(projectSetInfoVo.getCustomerCode());
}
//1,推送预估保费(用户办理成功,推送预估保费)
if(CommonConstants.ONE_INT == pushType){
param.setInteractiveType(CommonConstants.ONE_INT);
param.setSettleType(CommonConstants.ONE_INT);
}
//2,推送实际保费(用于登记保单保费未推送过实缴保费)
if(CommonConstants.TWO_INT == pushType){
param.setInteractiveType(CommonConstants.ONE_INT);
param.setSettleType(CommonConstants.TWO_INT);
}
//3推送预估冲正保费(用于投保退回场景)
if(CommonConstants.THREE_INT == pushType){
String defaultSettleId = tInsuranceDetail.getDefaultSettleId();
TInsuranceSettle byId = tInsuranceSettleService.getById(defaultSettleId);
//冲正取负数
if(null != byId.getEstimatePremium()){
param.setEstimatePremium(byId.getEstimatePremium().negate());
}
if(null != byId.getActualPremium()){
param.setActualPremium(byId.getActualPremium().negate());
}
param.setInteractiveType(CommonConstants.ONE_INT);
param.setSettleType(CommonConstants.ONE_INT);
}
//4更新实际保费(用于登记保单保费场景推送过实缴保费)
if(CommonConstants.FOUR_INT == pushType){
param.setInteractiveType(CommonConstants.TWO_INT);
param.setSettleType(CommonConstants.ONE_INT);
}
String body = EKPUtil.sendToEKP(param);
return body;
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
......@@ -33,62 +19,84 @@ import java.math.BigDecimal;
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_account_item")
@Schema(description = "工资报账表附加-工资明细")
public class TSalaryAccountItem {
@Tag(name = "工资报账表附加-工资明细")
public class TSalaryAccountItem extends Model<TSalaryAccountItem> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@ExcelProperty(value = "主键")
private String id;
/**
* 工资报账表ID
*/
@ExcelAttribute(name = "工资报账表ID", isNotEmpty = true, errorInfo = "工资报账表ID不能为空", maxLength = 32)
@NotBlank(message = "工资报账表ID不能为空")
@ExcelProperty(value = "工资报账表ID")
@Length(max = 32, message = "工资报账表ID不能超过32个字符")
@ExcelProperty("工资报账表ID")
@NotBlank(message = "工资报账表ID不能为空")
@ExcelAttribute(name = "工资报账表ID", isNotEmpty = true, errorInfo = "工资报账表ID不能为空", maxLength = 32)
private String salaryAccountId;
/**
* 表头名称
*/
@ExcelAttribute(name = "表头名称", isNotEmpty = true, errorInfo = "表头名称不能为空", maxLength = 50)
@NotBlank(message = "表头名称不能为空")
@ExcelProperty(value = "表头名称")
@Length(max = 50, message = "表头名称不能超过50个字符")
@ExcelProperty("表头名称")
@NotBlank(message = "表头名称不能为空")
@ExcelAttribute(name = "表头名称", isNotEmpty = true, errorInfo = "表头名称不能为空", maxLength = 50)
private String cnName;
/**
* JAVA属性名称
*/
@ExcelAttribute(name = "JAVA属性名称", isNotEmpty = true, errorInfo = "JAVA属性名称不能为空", maxLength = 32)
@NotBlank(message = "JAVA属性名称不能为空")
@ExcelProperty(value = "JAVA属性名称")
@Length(max = 32, message = "JAVA属性名称不能超过32个字符")
@ExcelProperty("JAVA属性名称")
@NotBlank(message = "JAVA属性名称不能为空")
@ExcelAttribute(name = "JAVA属性名称", isNotEmpty = true, errorInfo = "JAVA属性名称不能为空", maxLength = 32)
private String javaFiedName;
/**
* 属性值
*/
@ExcelProperty(value = "属性值")
@ExcelAttribute(name = "属性值")
@ExcelProperty("属性值")
private BigDecimal salaryMoney;
/**
* 文本值
*/
@ExcelProperty(value = "文本值")
@Length(max = 100, message = "文本值不能超过100个字符")
@ExcelAttribute(name = "文本值", maxLength = 100)
private String textValue;
/**
* 是否进行计算扣税:1:计算;0:不计算
*/
@ExcelAttribute(name = "是否进行计算扣税:1:计算;0:不计算", isNotEmpty = true, errorInfo = "是否进行计算扣税:1:计算;0:不计算不能为空")
@NotBlank(message = "是否进行计算扣税:1:计算;0:不计算不能为空")
@ExcelProperty("是否进行计算扣税:1:计算;0:不计算")
@ExcelProperty(value = "是否进行计算扣税:1:计算;0:不计算")
@NotBlank(message = "是否进行计算扣税不能为空")
@ExcelAttribute(name = "是否进行计算扣税", isNotEmpty = true, errorInfo = "是否进行计算扣税不能为空")
private Integer isTax;
/**
* 文本值
* 员工身份证号
*/
@ExcelAttribute(name = "文本值", maxLength = 500)
@Length(max = 500, message = "文本值不能超过500个字符")
@ExcelProperty("文本值")
private String textValue;
@TableField(exist = false)
private String empIdcard;
/**
* 结算月
*/
@TableField(exist = false)
private String settlementMonth;
/**
* 财务类型0:工资;1:绩效;2:其他;3:劳务费
*/
@TableField(exist = false)
private String salaryType;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Data
@TableName("t_salary_standard_set")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "薪资工资条配置主表")
public class TSalaryStandardSet extends BaseEntity {
@TableName("t_salary_standard_set")
@Tag(name = "薪资工资条配置主表")
public class TSalaryStandardSet extends Model<TSalaryStandardSet> {
private static final long serialVersionUID = 1L;
/**
* id
*
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@ExcelProperty(value = "主键")
private String id;
/**
* 工资主表ID
*/
@ExcelAttribute(name = "工资主表ID", isNotEmpty = true, errorInfo = "工资主表ID不能为空", maxLength = 32)
@NotBlank(message = "工资主表ID不能为空")
@Length(max = 32, message = "工资主表ID不能超过32个字符")
@ExcelProperty("工资主表ID")
@ExcelAttribute(name = "工资主表ID", isNotEmpty = true, errorInfo = "工资主表ID不能为空", maxLength = 32)
@ExcelProperty(value = "工资主表ID")
private String salaryId;
/**
* 结算部门id
*/
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@NotBlank(message = "结算部门id不能为空")
@Length(max = 32, message = "结算部门id不能超过32个字符")
@ExcelProperty("结算部门id")
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@ExcelProperty(value = "结算部门id")
private String deptId;
/**
* 创建人
*/
@NotBlank(message = "创建人不能为空")
@Length(max = 32, message = "创建人不能超过32个字符")
@ExcelAttribute(name = "创建人", isNotEmpty = true, errorInfo = "创建人不能为空", maxLength = 32)
@ExcelProperty(value = "创建人")
private String createUser;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间")
@ExcelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 是否为0不显示:0显示;1不显示
*/
@ExcelAttribute(name = "是否为0不显示:0显示;1不显示")
@ExcelProperty("是否为0不显示:0显示;1不显示")
@ExcelProperty(value = "是否为0不显示:0显示;1不显示")
private Integer isZero;
/**
* 明细
*/
@TableField(exist = false)
@ExcelProperty(value = "明细")
private List<TSalaryStandardSetDetail> detailList = new ArrayList<>();
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_standard_set_detail")
@Schema(description = "薪资工资条配置明细表")
public class TSalaryStandardSetDetail {
@Tag(name = "薪资工资条配置明细表")
public class TSalaryStandardSetDetail extends Model<TSalaryStandardSetDetail> {
private static final long serialVersionUID = 1L;
/**
* id
*
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@ExcelProperty(value = "主键")
private String id;
/**
* TSalaryStandardSet表的主键
*TSalaryStandardSet表的主键
*/
@ExcelAttribute(name = "TSalaryStandardSet表的主键", isNotEmpty = true, errorInfo = "TSalaryStandardSet表的主键不能为空", maxLength = 32)
@NotBlank(message = "TSalaryStandardSet表的主键不能为空")
@Length(max = 32, message = "TSalaryStandardSet表的主键不能超过32个字符")
@ExcelProperty("TSalaryStandardSet表的主键")
@ExcelAttribute(name = "TSalaryStandardSet表的主键", isNotEmpty = true, errorInfo = "不能为空", maxLength = 32)
@ExcelProperty(value = "TSalaryStandardSet表的主键")
private String setId;
/**
* cnName
*
*/
@ExcelAttribute(name = "cnName", isNotEmpty = true, errorInfo = "cnName不能为空", maxLength = 50)
@NotBlank(message = "cnName不能为空")
@Length(max = 50, message = "cnName不能超过50个字符")
@ExcelProperty("cnName")
@NotBlank(message = "不能为空")
@Length(max = 50, message = "不能超过50个字符")
@ExcelAttribute(name = "", isNotEmpty = true, errorInfo = "不能为空", maxLength = 50)
@ExcelProperty(value = "")
private String cnName;
/**
* orderLine
*
*/
@ExcelAttribute(name = "orderLine", isNotEmpty = true, errorInfo = "orderLine不能为空")
@NotBlank(message = "orderLine不能为空")
@ExcelProperty("orderLine")
@NotNull(message = "不能为空")
@ExcelAttribute(name = "", isNotEmpty = true, errorInfo = "不能为空")
@ExcelProperty(value = "")
private Integer orderLine;
}
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 工资条VO
*
* @author hgw
* @date 2021-10-8 14:53:35
*/
@Data
@Tag(name = "工资条VO")
public class TSalarySetVo implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "工资明细")
private Set<String> salaryItem = new HashSet<>();
@Schema(description = "工资条配置,顺序的明细在detailList里")
private TSalaryStandardSet salarySet = new TSalaryStandardSet();
@Schema(description = "报账明细")
private List<TSalaryAccountItem> itemList = new ArrayList<>();
}
......@@ -80,7 +80,7 @@ public class TDeptSeeController {
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tdeptsee_get')")
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<TDeptSee> getById(@PathVariable("id") String id) {
return R.ok(tDeptSeeService.getById(id));
......
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalarySetVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2019-07-30 15:00:05
*/
@RestController
@AllArgsConstructor
@RequestMapping("/tsalaryaccountitem")
@Tag(name = "工资报账表附加-工资明细")
public class TSalaryAccountItemController {
private final TSalaryAccountItemService tSalaryAccountItemService;
private final TSalaryStandardSetService tSalaryStandardSetService;
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryAccountItem>> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.getTSalaryAccountItemPage(page, tSalaryAccountItem));
}
/**
* 简单分页查询
* @author fxj
* @date 2022-03-11
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/noPage")
public R<List<TSalaryAccountItem>> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.getTSalaryAccountItemNoPage(tSalaryAccountItem));
}
/**
* @param accountId
* @Description: 获取报账明细
* @Author: hgw
* @Date: 2020/5/21 16:01
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Operation(description = "获取报账明细")
@PostMapping("/getAccountItemByAccountId")
public List<TSalaryAccountItem> getAccountItemByAccountId(String accountId) {
if (Common.isNotNull(accountId)) {
TSalaryAccountItem item = new TSalaryAccountItem();
item.setSalaryAccountId(accountId);
QueryWrapper<TSalaryAccountItem> queryWrapperAi = new QueryWrapper<>();
queryWrapperAi.setEntity(item);
return tSalaryAccountItemService.list(queryWrapperAi);
} else {
return new ArrayList<>();
}
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryAccountItem> getById(@PathVariable("id") String id) {
return new R<>(tSalaryAccountItemService.getById(id));
}
/**
* 新增记录
*
* @param tSalaryAccountItem
* @return R
*/
@Operation(description = "新增")
@SysLog("新增工资报账表附加-工资明细")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_add')")
public R save(@RequestBody TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.save(tSalaryAccountItem));
}
/**
* 修改记录
*
* @param tSalaryAccountItem
* @return R
*/
@Operation(description = "修改")
@SysLog("修改工资报账表附加-工资明细")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_edit')")
public R update(@RequestBody TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.updateById(tSalaryAccountItem));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除")
@SysLog("删除工资报账表附加-工资明细")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_del')")
public R removeById(@PathVariable String id) {
return new R<>(tSalaryAccountItemService.removeById(id));
}
/**
* @param accountId 报账id
* @Description: 获取实发金额
* @Author: hgw
* @Date: 2019/11/28 14:53
* @return: java.math.BigDecimal
**/
@Operation(description = "获取实发金额(accountId:报账id)")
@GetMapping("/getActualMoneyByAccountId")
public BigDecimal getActualMoneyByAccountId(@RequestParam String accountId) {
return tSalaryAccountItemService.getMoneyByAccountIdAndJavaFiedName(accountId, SalaryConstants.ACTUAL_SALARY_SUM_JAVA);
}
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
@Operation(description = "新工资条-获取工资列明细以及配置")
@GetMapping("/getSalarySet")
public R<TSalarySetVo> getSalarySet(@RequestParam String salaryId) {
Set<String> items = tSalaryAccountItemService.getItemSet(salaryId);
TSalaryStandardSet ss = tSalaryStandardSetService.lambdaQuery()
.eq(TSalaryStandardSet::getSalaryId, salaryId).last(" order by CREATE_TIME desc limit 1 ").one();
if (ss != null && Common.isNotNull(ss.getId())) {
List<TSalaryStandardSetDetail> detail = tSalaryStandardSetDetailService.list(
Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, ss.getId()).last(" order by order_line asc "));
ss.setDetailList(detail);
}
TSalarySetVo setVo = new TSalarySetVo();
setVo.setSalaryItem(items);
setVo.setSalarySet(ss);
return new R<>(setVo);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@RestController
@RequiredArgsConstructor
@AllArgsConstructor
@RequestMapping("/tsalarystandardset")
@Tag(name = "薪资工资条配置主表管理")
@Tag(name = "薪资工资条配置主表")
public class TSalaryStandardSetController {
private final TSalaryStandardSetService tSalaryStandardSetService;
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
......@@ -57,75 +41,49 @@ public class TSalaryStandardSetController {
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSet>> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet) {
public R<IPage<TSalaryStandardSet>> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSet tSalaryStandardSet) {
return new R<>(tSalaryStandardSetService.getTSalaryStandardSetPage(page, tSalaryStandardSet));
}
/**
* 不分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_get')" )
public R<List<TSalaryStandardSet>> getTSalaryStandardSetNoPage(@RequestBody TSalaryStandardSetSearchVo tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.noPageDiy(tSalaryStandardSet));
}
/**
* 通过id查询薪资工资条配置主表
* 通过id查询单条记录
*
* @param id id
* @param id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tsalarystandardset_get')")
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryStandardSet> getById(@PathVariable("id") String id) {
return R.ok(tSalaryStandardSetService.getById(id));
return new R<>(tSalaryStandardSetService.getById(id));
}
/**
* 新增薪资工资条配置主表
* 新增记录
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return R
*/
@Operation(summary = "新增薪资工资条配置主表", description = "新增薪资工资条配置主表:hasPermission('salary_tsalarystandardset_add')")
@SysLog("新增薪资工资条配置主表")
@PostMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_add')")
public R<Boolean> save(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.save(tSalaryStandardSet));
}
/**
* 修改薪资工资条配置主表
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @param tSalaryStandardSet
* @return R
*/
@Operation(summary = "修改薪资工资条配置主表", description = "修改薪资工资条配置主表:hasPermission('salary_tsalarystandardset_edit')")
@SysLog("修改薪资工资条配置主表")
@PutMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_edit')")
public R<Boolean> updateById(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.updateById(tSalaryStandardSet));
@Operation(description = "新增或修改(wxhr:tsalarystandardset_add)")
@PostMapping("/saveOrUptateSet")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardset_add')")
public R<TSalaryStandardSet> saveOrUptateSet(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return tSalaryStandardSetService.saveOrUpdateSet(tSalaryStandardSet);
}
/**
* 通过id删除薪资工资条配置主表
* 通过id删除一条记录
*
* @param id id
* @param id
* @return R
*/
@Operation(summary = "通过id删除薪资工资条配置主表", description = "通过id删除薪资工资条配置主表:hasPermission('salary_tsalarystandardset_del')")
@SysLog("通过id删除薪资工资条配置主表")
@Operation(description = "删除(wxhr:tsalarystandardset_del)")
@SysLog("删除薪资工资条配置主表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_del')")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardset_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tSalaryStandardSetService.removeById(id));
tSalaryStandardSetDetailService.remove(Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, id));
return new R<>(tSalaryStandardSetService.removeById(id));
}
}
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2021-10-08 14:36:56
*/
@RestController
@AllArgsConstructor
@RequestMapping("/tsalarystandardsetdetail")
@Tag(name = "薪资工资条配置明细表")
public class TSalaryStandardSetDetailController {
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSetDetail>> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.getTSalaryStandardSetDetailPage(page, tSalaryStandardSetDetail));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryStandardSetDetail> getById(@PathVariable("id") String id) {
return new R<>(tSalaryStandardSetDetailService.getById(id));
}
/**
* 新增记录
*
* @param tSalaryStandardSetDetail
* @return R
*/
@Operation(description = "新增(wxhr:tsalarystandardsetdetail_add)")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_add')")
public R<Boolean> save(@Valid @RequestBody TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.save(tSalaryStandardSetDetail));
}
/**
* 修改记录
*
* @param tSalaryStandardSetDetail
* @return R
*/
@Operation(description = "修改(wxhr:tsalarystandardsetdetail_edit)")
@SysLog("修改薪资工资条配置明细表")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_edit')")
public R<Boolean> update(@RequestBody TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.updateById(tSalaryStandardSetDetail));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除(wxhr:tsalarystandardsetdetail_del)")
@SysLog("删除薪资工资条配置明细表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_del')")
public R<Boolean> removeById(@PathVariable String id) {
return new R<>(tSalaryStandardSetDetailService.removeById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Mapper
public interface TSalaryAccountItemMapper extends BaseMapper<TSalaryAccountItem> {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, @Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page page, @Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
List<TSalaryAccountItem> getTSalaryAccountItemPage(@Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllTSalaryAccountItem(@Param("settleDepartId") String settleDepartId,
@Param("settleMonth") String settleMonth, @Param("javaFiedName") String javaFiedName,
@Param("finallyYear") String finallyYear, @Param("empIdcard") String empIdcard,
@Param("accountId") String accountId);
/**
* @param idCard 身份证
* @param maxYearMonth 最大年月
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getEmpAllSalaryAccountItem(@Param("idCard") String idCard, @Param("maxYearMonth") String maxYearMonth, @Param("invoiceTitle") String invoiceTitle);
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:04
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllItemVoList(@Param("idCardList") List<String> idCardList, @Param("invoiceTitle") String invoiceTitle);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月总工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAllMoney(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param accountId 报账表id串
* @param javaFiedName java字段名
* @return
* @Author pwang
* @Date 2019-11-06 15:42
**/
BigDecimal getAllMoneyByAccountIdAndFiedName(@Param("accountId") String accountId
, @Param("javaFiedName") String javaFiedName);
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
BigDecimal getMoneyByAccountIdAndJavaFiedName(@Param("accountId") String accountId
, @Param("javaFiedName") String javaFiedName);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取月份条数(前12个月平均工资,要除以工资月数,这里就是工资月数)
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.long.Integer
**/
Integer getAverageSalaryItemMonthCount(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月总工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getEngineerAllMoney(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取月份条数(前12个月平均工资,要除以工资月数,这里就是工资月数)
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.long.Integer
**/
Integer getEngineerAverageSalaryItemMonthCount(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
List<TSalaryAccountItem> getAccountItemList(@Param("tSalaryAccount") TSalaryAccount tSalaryAccount
, @Param("createUserId") String createUserId, @Param("userDeptId") Integer userDeptId
, @Param("unitName") String unitName, @Param("idStr") String idStr
, @Param("settleMonthStart") String settleMonthStart, @Param("settleMonthEnd") String settleMonthEnd);
List<Map<String,Object>> getSumByAccountId( @Param("account")List<TSalaryAccount> account);
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
Set<String> getItemSet(@Param("salaryId") String salaryId);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Mapper
public interface TSalaryStandardSetDetailMapper extends BaseMapper<TSalaryStandardSetDetail> {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, @Param("tSalaryStandardSetDetail") TSalaryStandardSetDetail tSalaryStandardSetDetail);
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page
, @Param("tSalaryStandardSetDetail") TSalaryStandardSetDetail tSalaryStandardSetDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Mapper
public interface TSalaryStandardSetMapper extends BaseMapper<TSalaryStandardSet> {
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, @Param("tSalaryStandardSet") TSalaryStandardSet tSalaryStandardSet);
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page
, @Param("tSalaryStandardSet") TSalaryStandardSet tSalaryStandardSet);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
public interface TSalaryAccountItemService extends IService<TSalaryAccountItem> {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem);
List<TSalaryAccountItem> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem);
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @param finallyYear 年终奖所在的结算年
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllTSalaryAccountItem(String settleDepartId, String settleMonth, String javaFiedName,
String finallyYear, String empIdcard, String accountId);
/**
* @param idCard
* @param maxYearMonth
* @param invoiceTitle
* @Description: 获取员工所有报账,累计扣税
* @Author: hgw
* @Date: 2019/9/30 18:19
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getEmpAllSalaryAccountItem(String idCard, String maxYearMonth, String invoiceTitle);
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:25
* @return: java.util.Map<java.lang.String, java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>>
**/
Map<String, List<TSalaryAccountItem>> getAllItemVoList(List<String> idCardList, String invoiceTitle);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月平均工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAverageSalary(String settleDepartId, String javaFiedName, String salaryDate, String empIdcard);
/**
* @param accountId 结算主体id
* @param javaFiedName 属性名
* @Description: 获取前几个月平均工资
* @Author: pwang
* @Date: 2019/11/06 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAllMoneyByAccountIdAndFiedName(String accountId, String javaFiedName);
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
BigDecimal getMoneyByAccountIdAndJavaFiedName(String accountId, String javaFiedName);
List<TSalaryAccountItem> getAccountItemList(TSalaryAccount tSalaryAccount, String createUserId, Integer userDeptId
, String unitName, String idStr, String settleMonthStart, String settleMonthEnd);
List<Map<String,Object>> getSumByAccountId(List<TSalaryAccount> account);
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
Set<String> getItemSet(String salaryId);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
......@@ -24,7 +9,17 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
public interface TSalaryStandardSetDetailService extends IService<TSalaryStandardSetDetail> {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, TSalaryStandardSetDetail tSalaryStandardSetDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
public interface TSalaryStandardSetService extends IService<TSalaryStandardSet> {
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet);
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSet tSalaryStandardSet);
/**
* @param salaryId 工资id
* @param deptId 结算主体id
* @Description: 复制工资条配置,根据结算主体id
* @Author: hgw
* @Date: 2021/10/8 15:53
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
void copyLastSetByDeptId(String salaryId, String deptId, String userId);
/**
* @param tSalaryStandardSet
* @Description: 新增或修改工资条配置以及详情
* @Author: hgw
* @Date: 2021/10/8 15:27
* @return: com.yifu.cloud.v1.common.core.util.R<com.yifu.cloud.v1.hrms.api.entity.TSalaryStandardSet>
**/
R<TSalaryStandardSet> saveOrUpdateSet(TSalaryStandardSet tSalaryStandardSet);
List<TSalaryStandardSet> noPageDiy(TSalaryStandardSetSearchVo searchVo);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountItemMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Log4j2
@Service
@Service("tSalaryAccountItemService")
public class TSalaryAccountItemServiceImpl extends ServiceImpl<TSalaryAccountItemMapper, TSalaryAccountItem> implements TSalaryAccountItemService {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Override
public IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem) {
return baseMapper.getTSalaryAccountItemPage(page, tSalaryAccountItem);
}
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Override
public List<TSalaryAccountItem> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem) {
return baseMapper.getTSalaryAccountItemPage(tSalaryAccountItem);
}
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Override
public List<TSalaryAccountItem> getAllTSalaryAccountItem(String settleDepartId, String settleMonth, String javaFiedName,
String finallyYear, String empIdcard, String accountId) {
return baseMapper.getAllTSalaryAccountItem(settleDepartId, settleMonth, javaFiedName, finallyYear, empIdcard, accountId);
}
/**
* @param idCard 身份证
* @param maxYearMonth 最大年月
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Override
public List<TSalaryAccountItem> getEmpAllSalaryAccountItem(String idCard, String maxYearMonth, String invoiceTitle) {
return baseMapper.getEmpAllSalaryAccountItem(idCard, maxYearMonth, invoiceTitle);
}
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:25
* @return: java.util.Map<java.lang.String, java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>>
**/
@Override
public Map<String, List<TSalaryAccountItem>> getAllItemVoList(List<String> idCardList, String invoiceTitle) {
List<TSalaryAccountItem> list = baseMapper.getAllItemVoList(idCardList, invoiceTitle);
Map<String, List<TSalaryAccountItem>> itemMap = new HashMap<>();
if (list != null && !list.isEmpty()) {
List<TSalaryAccountItem> voList;
for (TSalaryAccountItem item : list) {
voList = itemMap.get(item.getEmpIdcard());
if (voList == null) {
voList = new ArrayList<>();
}
voList.add(item);
itemMap.put(item.getEmpIdcard(), voList);
}
}
return itemMap;
}
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月平均工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getAverageSalary(String settleDepartId, String javaFiedName, String salaryDate, String empIdcard) {
BigDecimal allMoney = baseMapper.getAllMoney(settleDepartId, javaFiedName, salaryDate, empIdcard);
Integer monthNum = baseMapper.getAverageSalaryItemMonthCount(settleDepartId, javaFiedName, salaryDate, empIdcard);
//工资报账明细里没找到,到工程工资里找
if (allMoney == null || allMoney.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.EQUAL
|| monthNum == null || monthNum == 0) {
allMoney = baseMapper.getEngineerAllMoney(settleDepartId, javaFiedName, salaryDate, empIdcard);
monthNum = baseMapper.getEngineerAverageSalaryItemMonthCount(settleDepartId, javaFiedName, salaryDate, empIdcard);
}
//计算平均工资
if (allMoney != null && allMoney.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.MORE_THAN
&& monthNum != null && monthNum > CommonConstants.ZERO_INT) {
allMoney = allMoney.divide(new BigDecimal(monthNum), 2, BigDecimal.ROUND_HALF_UP);
}
return allMoney;
}
/**
* @param accountId 结算主体id
* @param javaFiedName 属性名
* @Description: 获取前几个月平均工资
* @Author: pwang
* @Date: 2019/11/06 16:51
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getAllMoneyByAccountIdAndFiedName(String accountId, String javaFiedName) {
return baseMapper.getAllMoneyByAccountIdAndFiedName(accountId, javaFiedName);
}
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getMoneyByAccountIdAndJavaFiedName(String accountId, String javaFiedName) {
return baseMapper.getMoneyByAccountIdAndJavaFiedName(accountId, javaFiedName);
}
@Override
public List<TSalaryAccountItem> getAccountItemList(TSalaryAccount tSalaryAccount, String createUserId, Integer userDeptId
, String unitName, String idStr, String settleMonthStart, String settleMonthEnd) {
return baseMapper.getAccountItemList(tSalaryAccount, createUserId, userDeptId, unitName, idStr
, settleMonthStart, settleMonthEnd);
}
@Override
public List<Map<String,Object>> getSumByAccountId(List<TSalaryAccount> account) {
return baseMapper.getSumByAccountId(account);
}
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
@Override
public Set<String> getItemSet(String salaryId) {
return baseMapper.getItemSet(salaryId);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetDetailMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Log4j2
@Service
@Service("tSalaryStandardSetDetailService")
public class TSalaryStandardSetDetailServiceImpl extends ServiceImpl<TSalaryStandardSetDetailMapper, TSalaryStandardSetDetail> implements TSalaryStandardSetDetailService {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
@Override
public IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page
, TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return baseMapper.getTSalaryStandardSetDetailPage(page, tSalaryStandardSetDetail);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.util.ArrayUtil;
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import lombok.extern.log4j.Log4j2;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Log4j2
@Service
@AllArgsConstructor
@Slf4j
@Service("tSalaryStandardSetService")
public class TSalaryStandardSetServiceImpl extends ServiceImpl<TSalaryStandardSetMapper, TSalaryStandardSet> implements TSalaryStandardSetService {
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
private final TSalaryStandardService tSalaryStandardService;
/**
* 薪资工资条配置主表简单分页查询
*
......@@ -49,35 +44,89 @@ public class TSalaryStandardSetServiceImpl extends ServiceImpl<TSalaryStandardSe
* @return
*/
@Override
public IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet) {
public IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page
, TSalaryStandardSet tSalaryStandardSet) {
return baseMapper.getTSalaryStandardSetPage(page, tSalaryStandardSet);
}
/**
* @param salaryId 工资主表id
* @param deptId 结算主体id
* @Description: 复制工资条配置,根据结算主体id
* @Author: hgw
* @Date: 2021/10/8 15:53
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public List<TSalaryStandardSet> noPageDiy(TSalaryStandardSetSearchVo searchVo) {
LambdaQueryWrapper<TSalaryStandardSet> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryStandardSet::getId, idList);
public void copyLastSetByDeptId(String salaryId, String deptId, String userId) {
if (Common.isNotNull(salaryId) && Common.isNotNull(deptId)) {
TSalaryStandardSet ss = this.lambdaQuery().eq(TSalaryStandardSet::getDeptId, deptId).last("order by CREATE_TIME desc limit 1").one();
if (ss != null && Common.isNotNull(ss.getId())) {
List<TSalaryStandardSetDetail> detailList = tSalaryStandardSetDetailService.list(
Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, ss.getId()));
TSalaryStandardSet newSet = new TSalaryStandardSet();
newSet.setCreateTime(LocalDateTime.now());
newSet.setCreateUser(userId);
newSet.setIsZero(ss.getIsZero());
newSet.setSalaryId(salaryId);
newSet.setDeptId(deptId);
// 保存主表
this.save(newSet);
// 保存明细表
this.saveDetail(detailList, newSet);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TSalaryStandardSetSearchVo entity) {
LambdaQueryWrapper<TSalaryStandardSet> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TSalaryStandardSet::getCreateTime, entity.getCreateTimes()[0])
.le(TSalaryStandardSet::getCreateTime,
entity.getCreateTimes()[1]);
/**
* @param detailList
* @param newSet
* @Description: 保存明细表
* @Author: hgw
* @Date: 2021/10/8 15:52
* @return: void
**/
private void saveDetail(List<TSalaryStandardSetDetail> detailList, TSalaryStandardSet newSet) {
if (detailList != null && !detailList.isEmpty()) {
TSalaryStandardSetDetail newDetail;
for (TSalaryStandardSetDetail detail : detailList) {
newDetail = new TSalaryStandardSetDetail();
newDetail.setSetId(newSet.getId());
newDetail.setCnName(detail.getCnName());
newDetail.setOrderLine(detail.getOrderLine());
tSalaryStandardSetDetailService.save(newDetail);
}
}
}
@Override
public R<TSalaryStandardSet> saveOrUpdateSet(TSalaryStandardSet tSalaryStandardSet) {
YifuUser user = SecurityUtils.getUser();
if (user == null || user.getId() == null) {
return R.failed("未获取到登录人信息!");
}
if (Common.isEmpty(tSalaryStandardSet.getSalaryId())) {
TSalaryStandard ss = tSalaryStandardService.getById(tSalaryStandardSet.getSalaryId());
if (!ss.getCreateBy().equals(String.valueOf(user.getId()))) {
return R.failed("非创建人,不可编辑!");
}
}
if (Common.isEmpty(tSalaryStandardSet.getId())) {
tSalaryStandardSet.setCreateTime(LocalDateTime.now());
tSalaryStandardSet.setCreateUser(String.valueOf(user.getId()));
this.save(tSalaryStandardSet);
} else {
this.updateById(tSalaryStandardSet);
tSalaryStandardSetDetailService.remove(Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, tSalaryStandardSet.getId()));
}
if (tSalaryStandardSet.getDetailList() != null && !tSalaryStandardSet.getDetailList().isEmpty()) {
for (TSalaryStandardSetDetail detail : tSalaryStandardSet.getDetailList()) {
detail.setId(null);
detail.setSetId(tSalaryStandardSet.getId());
tSalaryStandardSetDetailService.save(detail);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TSalaryStandardSet::getCreateName, entity.getCreateName());
}
return wrapper;
return new R<>(tSalaryStandardSet);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountItemMapper">
......@@ -29,51 +10,409 @@
<result property="cnName" column="CN_NAME"/>
<result property="javaFiedName" column="JAVA_FIED_NAME"/>
<result property="salaryMoney" column="SALARY_MONEY"/>
<result property="textValue" column="TEXT_VALUE"/>
<result property="isTax" column="IS_TAX"/>
</resultMap>
<!-- 工资导入优化使用的vo -->
<resultMap id="itemVoMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem">
<id property="id" column="ID"/>
<result property="salaryAccountId" column="SALARY_ACCOUNT_ID"/>
<result property="cnName" column="CN_NAME"/>
<result property="javaFiedName" column="JAVA_FIED_NAME"/>
<result property="salaryMoney" column="SALARY_MONEY"/>
<result property="textValue" column="TEXT_VALUE"/>
<result property="isTax" column="IS_TAX"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="settlementMonth" column="SETTLEMENT_MONTH"/>
<result property="salaryType" column="SALARY_TYPE"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.SALARY_ACCOUNT_ID,
a.CN_NAME,
a.JAVA_FIED_NAME,
a.SALARY_MONEY,
a.IS_TAX,
a.TEXT_VALUE
</sql>
<sql id="tSalaryAccountItem_where">
<if test="tSalaryAccountItem != null">
<!--tSalaryAccountItem简单分页查询-->
<select id="getTSalaryAccountItemPage" resultMap="tSalaryAccountItemMap">
SELECT
ID,
SALARY_ACCOUNT_ID,
CN_NAME,
JAVA_FIED_NAME,
SALARY_MONEY,
TEXT_VALUE,
IS_TAX
FROM t_salary_account_item
<where>
<if test="tSalaryAccountItem.id != null and tSalaryAccountItem.id.trim() != ''">
AND a.ID = #{tSalaryAccountItem.id}
AND ID = #{tSalaryAccountItem.id}
</if>
<if test="tSalaryAccountItem.salaryAccountId != null and tSalaryAccountItem.salaryAccountId.trim() != ''">
AND a.SALARY_ACCOUNT_ID = #{tSalaryAccountItem.salaryAccountId}
AND SALARY_ACCOUNT_ID = #{tSalaryAccountItem.salaryAccountId}
</if>
<if test="tSalaryAccountItem.cnName != null and tSalaryAccountItem.cnName.trim() != ''">
AND a.CN_NAME = #{tSalaryAccountItem.cnName}
AND CN_NAME = #{tSalaryAccountItem.cnName}
</if>
<if test="tSalaryAccountItem.javaFiedName != null and tSalaryAccountItem.javaFiedName.trim() != ''">
AND a.JAVA_FIED_NAME = #{tSalaryAccountItem.javaFiedName}
AND JAVA_FIED_NAME = #{tSalaryAccountItem.javaFiedName}
</if>
<if test="tSalaryAccountItem.salaryMoney != null">
AND a.SALARY_MONEY = #{tSalaryAccountItem.salaryMoney}
<if test="tSalaryAccountItem.salaryMoney != null and tSalaryAccountItem.salaryMoney.trim() != ''">
AND SALARY_MONEY = #{tSalaryAccountItem.salaryMoney}
</if>
<if test="tSalaryAccountItem.isTax != null">
AND a.IS_TAX = #{tSalaryAccountItem.isTax}
</where>
</select>
<select id="getAllTSalaryAccountItem" resultMap="tSalaryAccountItemMap">
SELECT
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="tSalaryAccountItem.textValue != null and tSalaryAccountItem.textValue.trim() != ''">
AND a.TEXT_VALUE = #{tSalaryAccountItem.textValue}
<if test="settleMonth != null and settleMonth.trim() != ''">
AND a.SETTLEMENT_MONTH = #{settleMonth}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
</sql>
<!--tSalaryAccountItem简单分页查询-->
<select id="getTSalaryAccountItemPage" resultMap="tSalaryAccountItemMap">
<if test="finallyYear != null and finallyYear.trim() != ''">
AND a.SETTLEMENT_MONTH like concat(#{finallyYear}, '%')
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
<if test="accountId != null and accountId.trim() != ''">
AND a.id != #{accountId}
</if>
</where>
</select>
<select id="getEmpAllSalaryAccountItem" resultMap="tSalaryAccountItemMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_salary_account_item a
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
1=1
<include refid="tSalaryAccountItem_where"/>
a.DELETE_FLAG = 0 and a.SALARY_TYPE != 7
<if test="idCard != null and idCard.trim() != ''">
AND a.EMP_IDCARD = #{idCard}
</if>
<if test="maxYearMonth != null and maxYearMonth.trim() != ''">
AND a.SETTLEMENT_MONTH >= #{maxYearMonth}
</if>
<if test="invoiceTitle != null and invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{invoiceTitle}
</if>
</where>
</select>
<select id="getAllMoney" resultType="java.math.BigDecimal">
SELECT
sum(i.SALARY_MONEY)
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<select id="getAllMoneyByAccountIdAndFiedName" resultType="java.math.BigDecimal">
SELECT
sum(i.SALARY_MONEY)
FROM
t_salary_account_item i
where
i.SALARY_ACCOUNT_ID in (${accountId})
AND i.JAVA_FIED_NAME = '${javaFiedName}'
</select>
<select id="getAverageSalaryItemMonthCount" resultType="Integer">
SELECT
count(DISTINCT a.SALARY_DATE)
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<select id="getEngineerAllMoney" resultType="java.math.BigDecimal">
SELECT
sum(i.SALARY_MONEY)
FROM
t_engineer_account_item i left join t_engineer_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<select id="getEngineerAverageSalaryItemMonthCount" resultType="Integer">
SELECT
count(DISTINCT a.SALARY_DATE)
FROM
t_engineer_account_item i left join t_engineer_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<!--获取报账表金额-->
<select id="getMoneyByAccountIdAndJavaFiedName" resultType="java.math.BigDecimal">
SELECT
i.SALARY_MONEY
FROM
t_salary_account_item i
where
i.SALARY_ACCOUNT_ID = #{accountId}
AND i.JAVA_FIED_NAME = '${javaFiedName}'
</select>
<!--报账明细-->
<select id="getAccountItemList" resultMap="tSalaryAccountItemMap">
SELECT
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX
FROM t_salary_account_item i
left join t_salary_account a on a.id=i.SALARY_ACCOUNT_ID
left join t_salary_standard s on s.id = a.SALARY_FORM_ID
<if test="unitName != null">
left join view_dept_unit d on d.id = s.DEPART_ID
</if>
<if test="userDeptId != null">
left join view_sys_user u on u.user_id = s.CREATE_USER
</if>
<where>
a.DELETE_FLAG = 0
<if test="idStr != null and idStr.trim() != ''">
AND a.id in (${idStr})
</if>
<if test="idStr == null or idStr.trim() == ''">
<if test="tSalaryAccount.invoiceTitle != null and tSalaryAccount.invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{tSalaryAccount.invoiceTitle}
</if>
<if test="tSalaryAccount.province != null">
AND a.PROVINCE = #{tEngineerAccount.province}
</if>
<if test="tSalaryAccount.city != null">
AND a.CITY = #{tEngineerAccount.city}
</if>
<if test="tSalaryAccount.town != null">
AND a.TOWN = #{tEngineerAccount.town}
</if>
<if test="tSalaryAccount.taxMonth != null and tSalaryAccount.taxMonth.trim() != ''">
AND a.TAX_MONTH = #{tSalaryAccount.taxMonth}
</if>
<if test="tSalaryAccount.id != null and tSalaryAccount.id.trim() != ''">
AND a.ID = #{tSalaryAccount.id}
</if>
<if test="tSalaryAccount.salaryFormId != null and tSalaryAccount.salaryFormId.trim() != ''">
AND a.SALARY_FORM_ID = #{tSalaryAccount.salaryFormId}
</if>
<if test="tSalaryAccount.salaryDate != null and tSalaryAccount.salaryDate.trim() != ''">
AND a.SALARY_DATE = #{tSalaryAccount.salaryDate}
</if>
<if test="tSalaryAccount.empId != null and tSalaryAccount.empId.trim() != ''">
AND a.EMP_ID = #{tSalaryAccount.empId}
</if>
<if test="tSalaryAccount.empName != null and tSalaryAccount.empName.trim() != ''">
AND a.EMP_NAME like '%${tSalaryAccount.empName}%'
</if>
<if test="tSalaryAccount.empNo != null and tSalaryAccount.empNo.trim() != ''">
AND a.EMP_NO = #{tSalaryAccount.empNo}
</if>
<if test="tSalaryAccount.settleDepartId != null and tSalaryAccount.settleDepartId.trim() != ''">
AND a.BELONG_DEPART = #{tSalaryAccount.settleDepartId}
</if>
<if test="tSalaryAccount.settleDepartNo != null and tSalaryAccount.settleDepartNo.trim() != ''">
AND a.SETTLE_DEPART_NO like '%${tSalaryAccount.settleDepartNo}%'
</if>
<if test="tSalaryAccount.settleDepartName != null and tSalaryAccount.settleDepartName.trim() != ''">
AND a.SETTLE_DEPART_NAME like '%${tSalaryAccount.settleDepartName}%'
</if>
<if test="tSalaryAccount.empIdcard != null and tSalaryAccount.empIdcard.trim() != ''">
AND a.EMP_IDCARD like '%${tSalaryAccount.empIdcard}%'
</if>
<if test="tSalaryAccount.bankNo != null and tSalaryAccount.bankNo.trim() != ''">
AND a.BANK_NO like '%${tSalaryAccount.bankNo}%'
</if>
<if test="tSalaryAccount.bankName != null and tSalaryAccount.bankName.trim() != ''">
AND a.BANK_NAME = #{tSalaryAccount.bankName}
</if>
<if test="tSalaryAccount.salaryCount != null and tSalaryAccount.salaryCount.trim() != ''">
AND a.SALARY_COUNT = #{tSalaryAccount.salaryCount}
</if>
<if test="tSalaryAccount.salaryStyle != null and tSalaryAccount.salaryStyle.trim() != ''">
AND a.SALARY_STYLE = #{tSalaryAccount.salaryStyle}
</if>
<if test="tSalaryAccount.salaryGiveTime != null and tSalaryAccount.salaryGiveTime.trim() != ''">
AND a.SALARY_GIVE_TIME = #{tSalaryAccount.salaryGiveTime}
</if>
<if test="tSalaryAccount.distributionFlag != null and tSalaryAccount.distributionFlag.trim() != ''">
AND a.DISTRIBUTION_FLAG = #{tSalaryAccount.distributionFlag}
</if>
<if test="tSalaryAccount.deduSocialMonth != null and tSalaryAccount.deduSocialMonth.trim() != ''">
AND a.DEDU_SOCIAL_MONTH = #{tSalaryAccount.deduSocialMonth}
</if>
<if test="tSalaryAccount.deduProvidentMonth != null and tSalaryAccount.deduProvidentMonth.trim() != ''">
AND a.DEDU_PROVIDENT_MONTH = #{tSalaryAccount.deduProvidentMonth}
</if>
<if test="tSalaryAccount.salaryType != null and tSalaryAccount.salaryType.trim() != ''">
AND a.SALARY_TYPE = #{tSalaryAccount.salaryType}
</if>
<if test="tSalaryAccount.salaryTaxFlag != null and tSalaryAccount.salaryTaxFlag.trim() != ''">
AND a.SALARY_TAX_FLAG = #{tSalaryAccount.salaryTaxFlag}
</if>
<if test="tSalaryAccount.settlementMonth != null and tSalaryAccount.settlementMonth.trim() != ''">
AND a.SETTLEMENT_MONTH = #{tSalaryAccount.settlementMonth}
</if>
<if test="tSalaryAccount.socialPriority != null and tSalaryAccount.socialPriority.trim() != ''">
AND a.SOCIAL_PRIORITY = #{tSalaryAccount.socialPriority}
</if>
<if test="tSalaryAccount.fundPriority != null and tSalaryAccount.fundPriority.trim() != ''">
AND a.FUND_PRIORITY = #{tSalaryAccount.fundPriority}
</if>
<if test="tSalaryAccount.annualBonusType != null and tSalaryAccount.annualBonusType.trim() != ''">
AND a.ANNUAL_BONUS_TYPE = #{tSalaryAccount.annualBonusType}
</if>
<if test="createUserId != null">
AND s.CREATE_USER = #{createUserId}
</if>
<if test="userDeptId != null">
AND u.dept_id = #{userDeptId}
</if>
<if test="unitName != null">
AND d.CUSTOMER_NAME = '${unitName}'
</if>
<if test="settleMonthStart != null">
AND a.SETTLEMENT_MONTH >= '${settleMonthStart}'
</if>
<if test="settleMonthEnd != null">
AND a.SETTLEMENT_MONTH <![CDATA[<=]]> '${settleMonthEnd}'
</if>
</if>
</where>
order by a.SETTLEMENT_MONTH,a.id desc
</select>
<select id="getSumByAccountId" resultType="java.util.Map">
SELECT
a.SALARY_ACCOUNT_ID as 'key',
a.SALARY_MONEY as 'value'
FROM
t_salary_account_item a
WHERE
a.SALARY_ACCOUNT_ID IN
<foreach item="item" index="index" collection="account" open="(" separator="," close=")">
#{item.id}
</foreach>
and
a.JAVA_FIED_NAME='actualSalarySum'
</select>
<!-- 获取工资明细 -->
<select id="getItemSet" resultType="java.lang.String">
select
i.cn_name a
from t_salary_account_item i
LEFT JOIN t_salary_account a on a.id=i.SALARY_ACCOUNT_ID
where
a.SALARY_FORM_ID = #{salaryId}
GROUP BY i.CN_NAME
order by i.JAVA_FIED_NAME desc,i.id
</select>
<!-- 获取所有数据,组装map,工资导入使用 -->
<select id="getAllItemVoList" resultMap="itemVoMap">
SELECT
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX,
a.EMP_IDCARD,
a.SETTLEMENT_MONTH,
a.SALARY_TYPE
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.SETTLEMENT_MONTH like DATE_FORMAT(now(),"%Y%")
<if test="idCardList != null">
AND a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="invoiceTitle != null and invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{invoiceTitle}
</if>
AND a.DELETE_FLAG = 0 and a.SALARY_TYPE != 7
</where>
</select>
</mapper>
......@@ -271,7 +271,7 @@
AND a.SALARY_MONTH = #{tSalaryStandard.salaryMonth}
</if>
<if test="tSalaryStandard.status == null">
AND a.STATUS = 1 OR a.STATUS = 2
AND a.STATUS = 1 OR a.STATUS = 2 OR a.STATUS = 5
</if>
<if test="tSalaryStandard.status != null">
AND a.STATUS = #{tSalaryStandard.status}
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetDetailMapper">
<resultMap id="tSalaryStandardSetDetailMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail">
<id property="id" column="id"/>
<result property="setId" column="set_id"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetMapper">
<resultMap id="tSalaryStandardSetMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet">
<id property="id" column="id"/>
<result property="salaryId" column="SALARY_ID"/>
<result property="deptId" column="DEPT_ID"/>
<result property="isZero" column="IS_ZERO"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createUser" column="CREATE_USER"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="isZero" column="IS_ZERO"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
......@@ -40,12 +15,7 @@
a.DEPT_ID,
a.CREATE_USER,
a.CREATE_TIME,
a.IS_ZERO,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
a.IS_ZERO
</sql>
<sql id="tSalaryStandardSet_where">
<if test="tSalaryStandardSet != null">
......@@ -58,6 +28,12 @@
<if test="tSalaryStandardSet.deptId != null and tSalaryStandardSet.deptId.trim() != ''">
AND a.DEPT_ID = #{tSalaryStandardSet.deptId}
</if>
<if test="tSalaryStandardSet.createUser != null and tSalaryStandardSet.createUser.trim() != ''">
AND a.CREATE_USER = #{tSalaryStandardSet.createUser}
</if>
<if test="tSalaryStandardSet.createTime != null">
AND a.CREATE_TIME = #{tSalaryStandardSet.createTime}
</if>
<if test="tSalaryStandardSet.isZero != null">
AND a.IS_ZERO = #{tSalaryStandardSet.isZero}
</if>
......
......@@ -195,7 +195,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金缴纳地-省
*/
@ExcelAttribute(name = "公积金缴纳地-省" )
@ExcelAttribute(name = "公积金缴纳地-省", isArea = true)
@Schema(description ="公积金缴纳地-省")
@ExcelProperty("公积金缴纳地-省")
private String fundProvince;
......@@ -203,7 +203,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金缴纳地-市
*/
@ExcelAttribute(name = "公积金缴纳地-市" )
@ExcelAttribute(name = "公积金缴纳地-市",isArea = true, parentField = "fundProvince")
@Schema(description ="公积金缴纳地-市")
@ExcelProperty("公积金缴纳地-市")
private String fundCity;
......@@ -211,7 +211,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金缴纳地-县
*/
@ExcelAttribute(name = "公积金缴纳地-县" )
@ExcelAttribute(name = "公积金缴纳地-县",isArea = true, parentField = "fundCity")
@Schema(description ="公积金缴纳地-县")
@ExcelProperty("公积金缴纳地-县")
private String fundTown;
......@@ -219,7 +219,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 社保缴纳地-省
*/
@ExcelAttribute(name = "社保缴纳地-省" )
@ExcelAttribute(name = "社保缴纳地-省",isArea = true)
@Schema(description ="社保缴纳地-省")
@ExcelProperty("社保缴纳地-省")
private String socialProvince;
......@@ -227,7 +227,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 社保缴纳地-市
*/
@ExcelAttribute(name = "社保缴纳地-市" )
@ExcelAttribute(name = "社保缴纳地-市", isArea = true, parentField = "socialProvince")
@Schema(description ="社保缴纳地-市")
@ExcelProperty("社保缴纳地-市")
private String socialCity;
......@@ -235,7 +235,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 社保缴纳地-县
*/
@ExcelAttribute(name = "社保缴纳地-县" )
@ExcelAttribute(name = "社保缴纳地-县", isArea = true, parentField = "socialCity")
@Schema(description ="社保缴纳地-县")
@ExcelProperty("社保缴纳地-县")
private String socialTown;
......@@ -367,51 +367,33 @@ public class TPaymentInfo extends BaseEntity {
/**
* 单位养老基数
*/
@ExcelAttribute(name = "单位养老基数" )
@ExcelAttribute(name = "单位养老基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位养老基数")
private BigDecimal unitPensionSet;
/**
* 单位医疗基数
*/
@ExcelAttribute(name = "单位医疗基数" )
@ExcelAttribute(name = "单位医疗基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位医疗基数")
private BigDecimal unitMedicalSet;
/**
* 单位失业基数
*/
@ExcelAttribute(name = "单位失业基数" )
@ExcelAttribute(name = "单位失业基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位失业基数")
private BigDecimal unitUnemploymentSet;
/**
* 单位工伤基数
* 工伤基数
*/
@ExcelAttribute(name = "单位工伤基数" )
@ExcelProperty("单位工伤基数")
@ExcelAttribute(name = "工伤基数", isFloat = true,max = "999999999.99")
@ExcelProperty("工伤基数")
private BigDecimal unitInjurySet;
/**
* 单位生育基数
* 生育基数
*/
@ExcelAttribute(name = "单位生育基数" )
@ExcelProperty("单位生育基数")
@ExcelAttribute(name = "生育基数", isFloat = true,max = "999999999.99")
@ExcelProperty("生育基数")
private BigDecimal unitBirthSet;
/**
* 个人养老基数
*/
@ExcelAttribute(name = "个人养老基数")
@ExcelProperty("个人养老基数")
private BigDecimal personalPensionSet;
/**
* 个人医疗基数
*/
@ExcelAttribute(name = "个人医疗基数")
@ExcelProperty("个人医疗基数")
private BigDecimal personalMedicalSet;
/**
* 个人失业基数
*/
@ExcelAttribute(name = "个人失业基数")
@ExcelProperty("个人失业基数")
private BigDecimal personalUnemploymentSet;
/**
* 单位养老比例
*/
......@@ -535,14 +517,14 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金编号
*/
@ExcelAttribute(name = "公积金编号", maxLength = 50)
@Size(max = 50, message = "公积金编号不可超过50位")
@ExcelAttribute(name = "公积金编号", maxLength = 20)
@Size(max = 20, message = "公积金编号不可超过20位")
@ExcelProperty("公积金编号")
private String providentNo;
/**
* 单位公积金基数
*/
@ExcelAttribute(name = "单位公积金基数")
@ExcelAttribute(name = "单位公积金基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位公积金基数")
private BigDecimal unitProvidentSet;
/**
......@@ -560,7 +542,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 个人公积金基数
*/
@ExcelAttribute(name = "个人公积金基数")
@ExcelAttribute(name = "个人公积金基数", isFloat = true,max = "999999999.99")
@ExcelProperty("个人公积金基数")
private BigDecimal personalProidentSet;
/**
......@@ -570,5 +552,17 @@ public class TPaymentInfo extends BaseEntity {
@ExcelProperty("个人公积金费用")
private BigDecimal personalProvidentSum;
/**
* 工资社保结算状态 0: 未结算 1: 待结算 2: 已结算
*/
@ExcelAttribute(name = "工资社保结算状态", maxLength = 1,isDataId = true,dataType = "settlement_flag")
@ExcelProperty("工资社保结算状态")
private String salarySocialFlag;
/**
* 工资公积金结算状态 0: 未结算 1: 待结算 2: 已结算
*/
@ExcelAttribute(name = "工资公积金结算状态", maxLength = 1,isDataId = true,dataType = "settlement_flag")
@ExcelProperty("工资公积金结算状态")
private String salaryFundFlag;
}
......@@ -99,7 +99,7 @@ public class TPreDispatchInfo extends BaseEntity {
@Schema(description ="身份证号")
@NotNull(message = "身份证号码不可为空")
@Size(max = 20, message = "身份证号码不可超过20位")
@ExcelAttribute(name = "身份证号", isNotEmpty = true,errorInfo = "身份证号不能为空", maxLength = 20, isIdCard = true)
@ExcelAttribute(name = "身份证号", isNotEmpty = true,errorInfo = "身份证号不能为空", maxLength = 20)
private String empIdcard;
/**
......
......@@ -306,6 +306,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位养老基数" )
@Schema(description = "单位养老基数" )
@ExcelProperty("单位养老基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitPensionCardinal;
/**
* 单位医疗基数
......@@ -313,6 +314,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位医疗基数" )
@Schema(description = "单位医疗基数" )
@ExcelProperty("单位医疗基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitMedicalCardinal;
/**
* 单位失业基数
......@@ -320,6 +322,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位失业基数" )
@Schema(description = "单位失业基数" )
@ExcelProperty("单位失业基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitUnemploymentCardinal;
/**
* 单位大病救助基数
......@@ -327,6 +330,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位大病救助基数" )
@Schema(description = "单位大病救助基数" )
@ExcelProperty("单位大病救助基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBigailmentCardinal;
/**
* 单位工伤基数
......@@ -334,6 +338,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤基数" )
@Schema(description = "单位工伤基数" )
@ExcelProperty("单位工伤基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitWorkInjuryCardinal;
/**
* 单位生育基数
......@@ -341,6 +346,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位生育基数" )
@Schema(description = "单位生育基数" )
@ExcelProperty("单位生育基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBirthCardinal;
/**
* 个人养老基数
......@@ -348,6 +354,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人养老基数" )
@Schema(description = "个人养老基数" )
@ExcelProperty("个人养老基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalPensionCardinal;
/**
* 个人医疗基数
......@@ -355,6 +362,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人医疗基数" )
@Schema(description = "个人医疗基数" )
@ExcelProperty("个人医疗基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalMedicalCardinal;
/**
* 个人大病救助基数
......@@ -362,6 +370,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人大病救助基数" )
@Schema(description = "个人大病救助基数" )
@ExcelProperty("个人大病救助基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalBigailmentCardinal;
/**
* 个人失业基数
......@@ -369,6 +378,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人失业基数" )
@Schema(description = "个人失业基数" )
@ExcelProperty("个人失业基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalUnemploymentCardinal;
/**
* 单位工伤基数
......@@ -376,6 +386,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤基数" )
@Schema(description = "单位工伤基数" )
@ExcelProperty("单位工伤基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalWorkInjuryCardinal;
/**
* 单位养老比例
......@@ -383,6 +394,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位养老比例" )
@Schema(description = "单位养老比例" )
@ExcelProperty("单位养老比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitPensionPer;
/**
* 单位医疗比例
......@@ -390,6 +402,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位医疗比例" )
@Schema(description = "单位医疗比例" )
@ExcelProperty("单位医疗比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitMedicalPer;
/**
* 单位失业比例
......@@ -397,6 +410,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位失业比例" )
@Schema(description = "单位失业比例" )
@ExcelProperty("单位失业比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitUnemploymentPer;
/**
* 单位工伤比例
......@@ -404,6 +418,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤比例" )
@Schema(description = "单位工伤比例" )
@ExcelProperty("单位工伤比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitWorkUnjuryPer;
/**
* 单位生育比例
......@@ -411,6 +426,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位生育比例" )
@Schema(description = "单位生育比例" )
@ExcelProperty("单位生育比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBirthPer;
/**
* 个人养老比例
......@@ -418,6 +434,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人养老比例" )
@Schema(description = "个人养老比例" )
@ExcelProperty("个人养老比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalPensionPer;
/**
* 个人医疗比例
......@@ -425,6 +442,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人医疗比例" )
@Schema(description = "个人医疗比例" )
@ExcelProperty("个人医疗比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalMedicalPer;
/**
* 个人失业比例
......@@ -432,6 +450,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人失业比例" )
@Schema(description = "个人失业比例" )
@ExcelProperty("个人失业比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalUnemploymentPer;
/**
* 办理状态
......@@ -448,6 +467,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人大病比例" )
@Schema(description = "个人大病比例" )
@ExcelProperty("个人大病比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalBigailmentPer;
/**
* 单位大病救助比例
......@@ -455,6 +475,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位大病救助比例" )
@Schema(description = "单位大病救助比例" )
@ExcelProperty("单位大病救助比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBigailmentPer;
/**
* 社保停缴日期
......@@ -503,6 +524,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴养老0是1否", maxLength = 1)
@Schema(description = "是否能补缴养老0是1否" )
@ExcelProperty("是否能补缴养老0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insurancePension;
/**
* 是否能补缴医疗0是1否
......@@ -511,6 +533,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴医疗0是1否", maxLength = 1)
@Schema(description = "是否能补缴医疗0是1否" )
@ExcelProperty("是否能补缴医疗0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceMedical;
/**
* 是否能补缴失业0是1否
......@@ -519,6 +542,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴失业0是1否", maxLength = 1)
@Schema(description = "是否能补缴失业0是1否" )
@ExcelProperty("是否能补缴失业0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceUnemployment;
/**
* 是否能补缴工伤0是1否
......@@ -527,6 +551,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴工伤0是1否", maxLength = 1)
@Schema(description = "是否能补缴工伤0是1否" )
@ExcelProperty("是否能补缴工伤0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceInjury;
/**
* 是否能补缴生育0是1否
......@@ -535,6 +560,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴生育0是1否", maxLength = 1)
@Schema(description = "是否能补缴生育0是1否" )
@ExcelProperty("是否能补缴生育0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceBirth;
/**
* 是否能补缴大病0是1否
......@@ -543,6 +569,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴大病0是1否", maxLength = 1)
@Schema(description = "是否能补缴大病0是1否" )
@ExcelProperty("是否能补缴大病0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceBigailment;
/**
* 补缴是否采用最新基数0是1否
......@@ -567,6 +594,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病缴纳周期:0按年1按月", maxLength = 1)
@Schema(description = "大病缴纳周期:0按年1按月" )
@ExcelProperty("大病缴纳周期:0按年1按月" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String collectType;
/**
* 大病取值方式0按定值 1按比例
......@@ -575,6 +603,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病取值方式0按定值 1按比例", maxLength = 1)
@Schema(description = "大病取值方式0按定值 1按比例" )
@ExcelProperty("大病取值方式0按定值 1按比例 " )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String valueType;
/**
* 大病按年收收取月份1-12月
......@@ -582,6 +611,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病按年收收取月份1-12月" )
@Schema(description = "大病按年收收取月份1-12月" )
@ExcelProperty("大病按年收收取月份1-12月" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer collectMoth;
/**
* 收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否
......@@ -590,6 +620,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否", maxLength = 1)
@Schema(description = "收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否" )
@ExcelProperty("收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String isChargePersonal;
/**
* 备案基数
......@@ -635,6 +666,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "养老起缴日期", isDate = true)
@Schema(description = "养老起缴日期" )
@ExcelProperty("养老起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date pensionStart;
/**
* 医疗起缴日期
......@@ -642,6 +674,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "医疗起缴日期", isDate = true)
@Schema(description = "医疗起缴日期" )
@ExcelProperty("医疗起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date medicalStart;
/**
* 失业起缴日期
......@@ -649,6 +682,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "失业起缴日期", isDate = true)
@Schema(description = "失业起缴日期" )
@ExcelProperty("失业起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date unemployStart;
/**
* 工伤起缴日期
......@@ -656,6 +690,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "工伤起缴日期", isDate = true)
@Schema(description = "工伤起缴日期" )
@ExcelProperty("工伤起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date workInjuryStart;
/**
* 生育起缴日期
......@@ -663,6 +698,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "生育起缴日期", isDate = true)
@Schema(description = "生育起缴日期" )
@ExcelProperty("生育起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date birthStart;
/**
* 大病起缴日期
......@@ -670,6 +706,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病起缴日期", isDate = true)
@Schema(description = "大病起缴日期" )
@ExcelProperty("大病起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date bigailmentStart;
/**
* 养老办理状态:0待办理1办理成功2办理失败3已派减
......@@ -678,6 +715,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "养老办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "养老办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("养老办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String pensionHandle;
/**
* 医疗办理状态:0待办理1办理成功2办理失败3已派减
......@@ -686,6 +724,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "医疗办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "医疗办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("医疗办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String medicalHandle;
/**
* 失业办理状态:0待办理1办理成功2办理失败3已派减
......@@ -694,6 +733,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "失业办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "失业办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("失业办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String unemployHandle;
/**
* 工伤办理状态:0待办理1办理成功2办理失败3已派减
......@@ -702,6 +742,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "工伤办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "工伤办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("工伤办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String workInjuryHandle;
/**
* 生育办理状态:0待办理1办理成功2办理失败3已派减
......@@ -710,6 +751,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "生育办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "生育办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("生育办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String birthHandle;
/**
* 大病办理状态:0待办理1办理成功2办理失败3已派减
......@@ -718,6 +760,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "大病办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("大病办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String bigailmentHandle;
/**
* 单位养老金额
......@@ -725,6 +768,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位养老金额" )
@Schema(description = "单位养老金额" )
@ExcelProperty("单位养老金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitPersionMoney;
/**
* 单位医疗金额
......@@ -732,6 +776,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位医疗金额" )
@Schema(description = "单位医疗金额" )
@ExcelProperty("单位医疗金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitMedicalMoney;
/**
* 单位失业
......@@ -739,6 +784,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位失业" )
@Schema(description = "单位失业" )
@ExcelProperty("单位失业" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitUnemploymentMoney;
/**
* 单位工伤金额
......@@ -746,6 +792,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤金额" )
@Schema(description = "单位工伤金额" )
@ExcelProperty("单位工伤金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitInjuryMoney;
/**
* 单位生育金额
......@@ -753,6 +800,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位生育金额" )
@Schema(description = "单位生育金额" )
@ExcelProperty("单位生育金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBirthMoney;
/**
* 单位大病救助金额
......@@ -760,6 +808,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位大病救助金额" )
@Schema(description = "单位大病救助金额" )
@ExcelProperty("单位大病救助金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBigailmentMoney;
/**
* 个人养老金额
......@@ -767,6 +816,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人养老金额" )
@Schema(description = "个人养老金额" )
@ExcelProperty("个人养老金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalPersionMoney;
/**
* 个人医疗金额
......@@ -774,6 +824,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人医疗金额" )
@Schema(description = "个人医疗金额" )
@ExcelProperty("个人医疗金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalMedicalMoney;
/**
* 个人失业金额
......@@ -781,6 +832,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人失业金额" )
@Schema(description = "个人失业金额" )
@ExcelProperty("个人失业金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalUnemploymentMoney;
/**
* 个人大病金额
......@@ -788,6 +840,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人大病金额" )
@Schema(description = "个人大病金额" )
@ExcelProperty("个人大病金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalBigailmentMoney;
/**
* 单位公积金缴纳基数
......
......@@ -92,10 +92,9 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
@ExcelProperty("社保缴纳地-县")
private Integer socialTown;
/**
* 社保缴纳月份empNo
* 社保缴纳月份
*/
@Length(max = 6, message = "社保缴纳月份不能超过6个字符")
@ExcelAttribute(name = "社保缴纳月份", isNotEmpty = true, errorInfo = "社保缴纳月份不可为空", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "社保缴纳月份", isNotEmpty = true, errorInfo = "社保缴纳月份不可为空", maxLength = 6, min = 6, isInteger = true)
@Schema(description = "社保缴纳月份")
@ExcelProperty("社保缴纳月份")
private String socialPayMonth;
......@@ -103,7 +102,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
* 社保生成月份
*/
@Length(max = 6, message = "社保生成月份不能超过6个字符")
@ExcelAttribute(name = "社保生成月份", isNotEmpty = true, errorInfo = "社保生成月份不可为空", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "社保生成月份", isNotEmpty = true, errorInfo = "社保生成月份不可为空", maxLength = 6, min = 6,isInteger = true)
@Schema(description = "社保生成月份")
@ExcelProperty("社保生成月份")
private String socialCreateMonth;
......@@ -118,14 +117,14 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人缴费基数
*/
@ExcelAttribute(name = "个人缴费基数")
@ExcelAttribute(name = "个人缴费基数", isFloat = true,max = "999999999.99")
@Schema(description = "个人缴费基数")
@ExcelProperty("个人缴费基数")
private BigDecimal personalSet;
/**
* 单位缴费基数
*/
@ExcelAttribute(name = "单位缴费基数")
@ExcelAttribute(name = "单位缴费基数", isFloat = true,max = "999999999.99")
@Schema(description = "单位缴费基数")
@ExcelProperty("单位缴费基数")
private BigDecimal unitSet;
......@@ -133,14 +132,14 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人缴费额
*/
@ExcelAttribute(name = "个人缴费额")
@ExcelAttribute(name = "个人缴费额", isFloat = true,max = "999999999.99")
@Schema(description = "个人缴费额")
@ExcelProperty("个人缴费额")
private BigDecimal personalMoney;
/**
* 单位缴费额
*/
@ExcelAttribute(name = "单位缴费额")
@ExcelAttribute(name = "单位缴费额", isFloat = true,max = "999999999.99")
@Schema(description = "单位缴费额")
@ExcelProperty("单位缴费额")
private BigDecimal unitMoney;
......@@ -148,21 +147,21 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 医保基数
*/
@ExcelAttribute(name = "医保基数")
@ExcelAttribute(name = "医保基数", isFloat = true,max = "999999999.99")
@Schema(description = "医保基数")
@ExcelProperty("医保基数")
private BigDecimal medicalSet;
/**
* 医保单位缴费
*/
@ExcelAttribute(name = "医保单位缴费")
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99")
@Schema(description = "医保单位缴费")
@ExcelProperty("医保单位缴费")
private BigDecimal unitMedicalMoney;
/**
* 医保个人缴费
*/
@ExcelAttribute(name = "医保个人缴费")
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99")
@Schema(description = "医保个人缴费")
@ExcelProperty("医保个人缴费")
private BigDecimal personalMedicalMoney;
......@@ -170,7 +169,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 单位医疗救助金 (对应单位大病)
*/
@ExcelAttribute(name = "单位医疗救助金")
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99")
@Schema(description = "单位医疗救助金")
@ExcelProperty("单位医疗救助金")
private BigDecimal unitBigailmentMoney;
......@@ -178,7 +177,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人医疗救助金 (对应个人大病)
*/
@ExcelAttribute(name = "个人医疗救助金")
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99")
@Schema(description = "个人医疗救助金")
@ExcelProperty("个人医疗救助金")
private BigDecimal personalBigailmentMoney;
......
......@@ -76,7 +76,7 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
* 身份证号
*/
@Length(max = 20, message = "身份证号 不能超过20 个字符")
@ExcelAttribute(name = "身份证号", maxLength = 20)
@ExcelAttribute(name = "身份证号", maxLength = 20, isNotEmpty = true,errorInfo = "身份证字段不可为空!")
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
......@@ -123,16 +123,14 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
/**
* 社保缴纳月份
*/
@Length(max = 6, message = "社保缴纳月份 不能超过6 个字符")
@ExcelAttribute(name = "社保缴纳月份", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "社保缴纳月份", maxLength = 6, min = 6,isInteger = true)
@Schema(description = "社保缴纳月份")
@ExcelProperty("社保缴纳月份")
private String socialPayMonth;
/**
* 社保生成月份
*/
@Length(max = 6, message = "社保生成月份 不能超过6 个字符")
@ExcelAttribute(name = "社保生成月份", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "社保生成月份", maxLength = 6, min = 6,isInteger = true)
@Schema(description = "社保生成月份")
@ExcelProperty("社保生成月份")
private String socialCreateMonth;
......@@ -154,16 +152,14 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
/**
* 公积金缴纳月份
*/
@Length(max = 6, message = "公积金缴纳月份 不能超过6 个字符")
@ExcelAttribute(name = "公积金缴纳月份", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "公积金缴纳月份", maxLength = 6, min = 6,isInteger = true)
@Schema(description = "公积金缴纳月份")
@ExcelProperty("公积金缴纳月份")
private String providentPayMonth;
/**
* 公积金生成月份
*/
@Length(max = 6, message = "公积金生成月份 不能超过6 个字符")
@ExcelAttribute(name = "公积金生成月份", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "公积金生成月份", maxLength = 6, min = 6,isInteger = true)
@Schema(description = "公积金生成月份")
@ExcelProperty("公积金生成月份")
private String providentCreateMonth;
......@@ -332,75 +328,54 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
@ExcelProperty("财务账单ID")
private String financeBillId;
/**
* 单位社保补缴利息
* 单位补缴利息
*/
@ExcelAttribute(name = "单位社保补缴利息")
@Schema(description ="单位社保补缴利息")
@ExcelProperty("单位社保补缴利息")
@ExcelAttribute(name = "单位补缴利息", isFloat = true,max = "999999999.99")
@Schema(description ="单位补缴利息")
@ExcelProperty("单位补缴利息")
private BigDecimal companyAccrual;
/**
* 个人社保补缴利息
* 个人补缴利息
*/
@ExcelAttribute(name = "个人社保补缴利息")
@Schema(description ="个人社保补缴利息")
@ExcelProperty("个人社保补缴利息")
@ExcelAttribute(name = "个人补缴利息", isFloat = true,max = "999999999.99")
@Schema(description ="个人补缴利息")
@ExcelProperty("个人补缴利息")
private BigDecimal personalAccrual;
/**
* 单位养老基数
* 养老基数
*/
@ExcelAttribute(name = "单位养老基数")
@Schema(description ="单位养老基数")
@ExcelProperty("单位养老基数")
@ExcelAttribute(name = "养老基数", isFloat = true,max = "999999999.99")
@Schema(description ="养老基数")
@ExcelProperty("养老基数")
private BigDecimal unitPensionSet;
/**
* 单位医疗基数
* 医保基数
*/
@ExcelAttribute(name = "单位医疗基数")
@Schema(description ="单位医疗基数")
@ExcelProperty("单位医疗基数")
@ExcelAttribute(name = "医保基数", isFloat = true,max = "999999999.99")
@Schema(description ="医保基数")
@ExcelProperty("医保基数")
private BigDecimal unitMedicalSet;
/**
* 单位失业基数
* 失业基数
*/
@ExcelAttribute(name = "单位失业基数")
@Schema(description ="单位失业基数")
@ExcelProperty("单位失业基数")
@ExcelAttribute(name = "失业基数", isFloat = true,max = "999999999.99")
@Schema(description ="失业基数")
@ExcelProperty("失业基数")
private BigDecimal unitUnemploymentSet;
/**
* 单位工伤基数
* 工伤基数
*/
@ExcelAttribute(name = "单位工伤基数")
@Schema(description ="单位工伤基数")
@ExcelProperty("单位工伤基数")
@ExcelAttribute(name = "工伤基数", isFloat = true,max = "999999999.99")
@Schema(description ="工伤基数")
@ExcelProperty("工伤基数")
private BigDecimal unitInjurySet;
/**
* 单位生育基数
* 生育基数
*/
@ExcelAttribute(name = "单位生育基数")
@Schema(description ="单位生育基数")
@ExcelProperty("单位生育基数")
@ExcelAttribute(name = "生育基数", isFloat = true,max = "999999999.99")
@Schema(description ="生育基数")
@ExcelProperty("生育基数")
private BigDecimal unitBirthSet;
/**
* 个人养老基数
*/
@ExcelAttribute(name = "个人养老基数")
@Schema(description ="个人养老基数")
@ExcelProperty("个人养老基数")
private BigDecimal personalPensionSet;
/**
* 个人医疗基数
*/
@ExcelAttribute(name = "个人医疗基数")
@Schema(description ="个人医疗基数")
@ExcelProperty("个人医疗基数")
private BigDecimal personalMedicalSet;
/**
* 个人失业基数
*/
@ExcelAttribute(name = "个人失业基数")
@Schema(description ="个人失业基数")
@ExcelProperty("个人失业基数")
private BigDecimal personalUnemploymentSet;
/**
* 单位养老比例
*/
......@@ -472,108 +447,108 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
@ExcelProperty("个人大病比例")
private BigDecimal personalBigailmentPer;
/**
* 单位养老金额
* 养老单位缴费
*/
@ExcelAttribute(name = "单位养老金额")
@Schema(description ="单位养老金额")
@ExcelProperty("单位养老金额")
@ExcelAttribute(name = "养老单位缴费", isFloat = true,max = "999999999.99")
@Schema(description ="养老单位缴费")
@ExcelProperty("养老单位缴费")
private BigDecimal unitPensionMoney;
/**
* 单位医疗金额
* 医保单位缴费
*/
@ExcelAttribute(name = "单位医疗金额")
@Schema(description ="单位医疗金额")
@ExcelProperty("单位医疗金额")
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99")
@Schema(description ="医保单位缴费")
@ExcelProperty("医保单位缴费")
private BigDecimal unitMedicalMoney;
/**
* 单位失业金额
* 失业单位缴费
*/
@ExcelAttribute(name = "单位失业金额")
@Schema(description ="单位失业金额")
@ExcelProperty("单位失业金额")
@ExcelAttribute(name = "失业单位缴费", isFloat = true,max = "999999999.99")
@Schema(description ="失业单位缴费")
@ExcelProperty("失业单位缴费")
private BigDecimal unitUnemploymentMoney;
/**
* 单位工伤金额
* 工伤缴费
*/
@ExcelAttribute(name = "单位工伤金额")
@Schema(description ="单位工伤金额")
@ExcelProperty("单位工伤金额")
@ExcelAttribute(name = "工伤缴费", isFloat = true,max = "999999999.99")
@Schema(description ="工伤缴费")
@ExcelProperty("工伤缴费")
private BigDecimal unitInjuryMoney;
/**
* 单位生育金额
* 生育缴费
*/
@ExcelAttribute(name = "单位生育金额")
@Schema(description ="单位生育金额")
@ExcelProperty("单位生育金额")
@ExcelAttribute(name = "生育缴费", isFloat = true,max = "999999999.99")
@Schema(description ="生育缴费")
@ExcelProperty("生育缴费")
private BigDecimal unitBirthMoney;
/**
* 单位大病金额
* 单位医疗救助金
*/
@ExcelAttribute(name = "单位大病金额")
@Schema(description ="单位大病金额")
@ExcelProperty("单位大病金额")
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99")
@Schema(description ="单位医疗救助金")
@ExcelProperty("单位医疗救助金")
private BigDecimal unitBigmailmentMoney;
/**
* 个人养老金额
* 养老个人缴费
*/
@ExcelAttribute(name = "个人养老金额")
@Schema(description ="个人养老金额")
@ExcelProperty("个人养老金额")
@ExcelAttribute(name = "养老个人缴费", isFloat = true,max = "999999999.99")
@Schema(description ="养老个人缴费")
@ExcelProperty("养老个人缴费")
private BigDecimal personalPensionMoney;
/**
* 个人医疗金额
* 医保个人缴费
*/
@ExcelAttribute(name = "个人医疗金额")
@Schema(description ="个人医疗金额")
@ExcelProperty("个人医疗金额")
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99")
@Schema(description ="医保个人缴费")
@ExcelProperty("医保个人缴费")
private BigDecimal personalMedicalMoney;
/**
* 个人失业金额
* 失业个人缴费
*/
@ExcelAttribute(name = "个人失业金额")
@Schema(description ="个人失业金额")
@ExcelProperty("个人失业金额")
@ExcelAttribute(name = "失业个人缴费", isFloat = true,max = "999999999.99")
@Schema(description ="失业个人缴费")
@ExcelProperty("失业个人缴费")
private BigDecimal personalUnemploymentMoney;
/**
* 个人大病金额
* 个人医疗救助金
*/
@ExcelAttribute(name = "个人大病金额")
@Schema(description ="个人大病金额")
@ExcelProperty("个人大病金额")
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99")
@Schema(description ="个人医疗救助金")
@ExcelProperty("个人医疗救助金")
private BigDecimal personalBigmailmentMoney;
/**
* 公积金编号
*/
@Length(max=50,message = "公积金编号 不能超过50 个字符")
@ExcelAttribute(name = "公积金编号", maxLength = 50 )
@Length(max=20,message = "公积金编号不能超过20个字符")
@ExcelAttribute(name = "公积金编号", maxLength = 20 )
@Schema(description ="公积金编号")
@ExcelProperty("公积金编号")
private String providentNo;
/**
* 公积金单边基数
*/
@ExcelAttribute(name = "公积金单边基数")
@ExcelAttribute(name = "公积金单边基数", isFloat = true,max = "999999999.99")
@Schema(description ="公积金单边基数")
@ExcelProperty("公积金单边基数")
private BigDecimal unitProvidentSet;
/**
* 公积金单边比例
*/
@ExcelAttribute(name = "公积金单边比例")
@ExcelAttribute(name = "公积金单边比例", isFloat = true,max = "100.00")
@Schema(description ="公积金单边比例")
@ExcelProperty("公积金单边比例")
private BigDecimal providentPercent;
/**
* 公积金单边金额
*/
@ExcelAttribute(name = "公积金单边金额")
@ExcelAttribute(name = "公积金单边金额", isFloat = true,max = "999999999.99")
@Schema(description ="公积金单边金额")
@ExcelProperty("公积金单边金额")
private BigDecimal unitProvidentSum;
/**
* 个人公积金基数
*/
@ExcelAttribute(name = "个人公积金基数")
@ExcelAttribute(name = "个人公积金基数", isFloat = true,max = "999999999.99")
@Schema(description ="个人公积金基数")
@ExcelProperty("个人公积金基数")
private BigDecimal personalProidentSet;
......
......@@ -396,11 +396,11 @@ public class TPreDispatchReduceVo {
private String pensionAddressReduce;
/**
* 养老截止时间
* 养老时间
*/
@Schema(description ="养老截止时间")
@Schema(description ="养老时间")
@Length(max = 6, message = "养老时间不能超过6个字符")
@ExcelAttribute(name = "养老时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "养老时间", maxLength = 6, min = 6, isInteger = true)
private String pensionEndReduce;
/**
......@@ -415,7 +415,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="医疗时间")
@Length(max = 6, message = "医疗时间不能超过6个字符")
@ExcelAttribute(name = "医疗时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "医疗时间", maxLength = 6, min = 6, isInteger = true)
private String medicalEndReduce;
/**
......@@ -423,7 +423,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="工伤时间")
@Length(max = 6, message = "工伤时间不能超过6个字符")
@ExcelAttribute(name = "工伤时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "工伤时间", maxLength = 6, min = 6, isInteger = true)
private String injuryEndReduce;
/**
......@@ -438,7 +438,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="生育时间")
@Length(max = 6, message = "生育时间不能超过6个字符")
@ExcelAttribute(name = "生育时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "生育时间", maxLength = 6, min = 6, isInteger = true)
private String birthEndReduce;
/**
......@@ -468,7 +468,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="公积金时间")
@Length(max = 6, message = "公积金时间不能超过6个字符")
@ExcelAttribute(name = "公积金时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "公积金时间", maxLength = 6, min = 6, isInteger = true)
private String fundEndReduce;
/**
......
......@@ -330,7 +330,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 医疗截止时间
*/
@Length(max = 6, message = "医疗截止时间不能超过6个字符")
@ExcelAttribute(name = "医疗截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "医疗截止时间", maxLength = 6, min = 6, isInteger = true)
private String medicalEndReduce;
/**
* 工伤截止城市
......@@ -342,7 +342,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 工伤截止时间
*/
@Length(max = 6, message = "工伤截止时间不能超过6个字符")
@ExcelAttribute(name = "工伤截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "工伤截止时间", maxLength = 6, min = 6, isInteger = true)
private String injuryEndReduce;
/**
* 生育截止城市
......@@ -354,7 +354,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 生育截止时间
*/
@Length(max = 6, message = "生育截止时间不能超过6个字符")
@ExcelAttribute(name = "生育截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "生育截止时间", maxLength = 6, min = 6, isInteger = true)
private String birthEndReduce;
/**
* 失业截止城市
......@@ -366,7 +366,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 失业截止时间
*/
@Length(max = 6, message = "失业截止时间不能超过6个字符")
@ExcelAttribute(name = "失业截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "失业截止时间", maxLength = 6, min = 6, isInteger = true)
private String unemploymentEndReduce;
/**
* 公积金截止城市
......@@ -378,7 +378,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 公积金截止时间
*/
@Length(max = 6, message = "公积金截止时间不能超过6个字符")
@ExcelAttribute(name = "公积金截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "公积金截止时间", maxLength = 6, min = 6, isInteger = true)
private String fundEndReduce;
/**
......
......@@ -55,14 +55,14 @@ public class TPaymentInfoImportLogController {
@Operation(description = "导出社保导入日志")
@GetMapping("/exportPaymentInfoLog")
public String exportPaymentInfoLog(HttpServletResponse response) {
public String exportPaymentInfoLog() {
YifuUser user = SecurityUtils.getUser();
String key = user.getId() + CommonConstants.DOWN_LINE_STRING + CommonConstants.PAYMENT_SOCIAL_WAIT_EXPORT;
String importRandom = (String) redisUtil.get(key);
if (StringUtils.isBlank(importRandom)) {
if (StringUtils.isNotBlank(importRandom)) {
return importRandom;
}
return null;
return CommonConstants.ZERO_STRING;
}
/**
......
......@@ -64,7 +64,7 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> {
DispatchDetailVo getSocialAndFundInfoById(String id);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, Integer flag, String auditStatus, String auditRemark, String remark);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark);
R<List<ErrorMessage>> addApplyAudit(String ids, String auditStatus, String auditRemark, String remark);
......
......@@ -349,7 +349,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
dispatchPart = false;
injury= false;
injury =false;
empVo = null;
excel = excelVOList.get(i);
fundSet = fundHoldMap.get(excel.getProvidentHousehold());
......@@ -365,9 +365,15 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dispatchPart = true;
}
}
if (Common.isNotNull(excel.getSocialHousehold())){
if (Common.isEmpty(socialSet)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_EXIST)));
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
continue;
}
// 自定义 只有工伤数据 视为兼职工伤派单
if (Common.isNotNull(excel) && Common.isNotNull(excel.getSocialHousehold())
&& CommonConstants.ONE_STRING.equals(excel.getPaymentType())){
if (Common.isNotNull(excel) && CommonConstants.ONE_STRING.equals(excel.getPaymentType())){
injury = Common.isEmpty(excel.getPensionStart())
&& Common.isEmpty(excel.getMedicalStart())
&& Common.isEmpty(excel.getBirthStart())
......@@ -376,9 +382,19 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
&& Common.isNotNull(excel.getWorkInjuryStart())
&& (BigDecimal.ZERO.compareTo(excel.getWorkInjuryCardinal()) <= 0);
}
if (Common.isNotNull(excel.getSocialHousehold())){
if (Common.isEmpty(socialSet)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_EXIST)));
// 失败项社保派单 和已有派单户不一致
if (dispatchPart && Common.isNotNull(socialFund)
&& Common.isNotNull(socialFund.getSocialHouseholdName())
&& Common.isNotNull(excel.getSocialHousehold())
&& !socialFund.getSocialHouseholdName().equals(excel.getSocialHousehold())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_SAME)));
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
continue;
}
// 失败项重新派单的缴纳方式不一样
if (dispatchPart && Common.isNotNull(socialFund)
&& !socialFund.getPaymentType().equals(excel.getPaymentType())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_PAYMENT_TYPE_NOT_SAME)));
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
continue;
}
......@@ -408,7 +424,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 初始化新增信息:档案、项目档案、员工合同
initAddInfo(empAddsMap, contractsMap, projectsMap, empVo, excel,user,setInfoVo,socialSet);
// 新增社保
initSocialAddInfo(socialsMap, empVo, socialSet, excel,socialFundMap);
initSocialAddInfo(socialsMap, empVo, socialSet, excel,socialFundMap,dispatchPart);
// 新增公积金
if (initFundAddInfo(errorMessageList, fundsMap, empVo, fundSet, excel)){
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
......@@ -424,7 +440,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
addVo.setProjectsMap(projectsMap);
R<EmpDispatchAddVo> res = archivesDaprUtil.addDispatchInfo(addVo);
// 开始插入各种数据了
insertAllInfo(excelVOList, errorMessageList, setInfoVo, res,socialsMap,fundsMap,socialFundAddMap,dispatchMap,excelVOTemp,dispatchPart);
insertAllInfo(excelVOList, errorMessageList, setInfoVo, res,socialsMap,fundsMap,socialFundAddMap,dispatchMap,excelVOTemp,dispatchPart,injury);
// 清理map list 等数据
Common.clear(excelVOList);
Common.clear(empAddsMap);
......@@ -459,8 +475,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
Map<String, TProvidentFund> fundsMap,
Map<String, TSocialFundInfo> socialFundAddMap,
Map<String, TDispatchInfo> dispatchMap,
Map<String,String> excelVOTemp,
boolean dispatchPart) {
Map<String, String> excelVOTemp,
boolean dispatchPart, boolean injury) {
Map<String, EmpAddDispatchVo> empAddsMap = null;
Map<String, EmpContractDispatchVo> contractsMap = null;
Map<String, EmpProjectDispatchVo> projectsMap = null;
......@@ -546,7 +562,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (Common.isNotNull(socialFund) && Common.isNotNull(dispatch)){
socialFund.setDispatchId(dispatch.getId());
}
initSocialFundAndInsert(emp, social, fund, socialFund,project,dispatchPart);
initSocialFundAndInsert(emp, social, fund, socialFund,project,dispatchPart,injury);
}
// 生成预付数据
if (Common.isNotNull(socialFund) && Common.isNotNull(socialFund.getId())){
......@@ -636,7 +652,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
TProvidentFund fund,
TSocialFundInfo socialFund,
EmpProjectDispatchVo project,
boolean dispatchPart) {
boolean dispatchPart,boolean injury) {
if (Common.isNotNull(socialFund)){
if (Common.isNotNull(project)){
socialFund.setEmpNo(project.getEmpCode());
......@@ -661,6 +677,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitBigailmentMoney(social.getUnitBigailmentMoney());
socialFund.setPersonalBigailmentMoney(social.getPersonalBigailmentMoney());
}
// 处理部分失败项派单的 基数 比例 金额,再办理成功的时候才更新过来 顺序不要变 后面有合计
if (!CommonConstants.ONE_STRING.equals(socialFund.getPensionHandle()) && !dispatchPart){
socialFund.setUnitPensionCardinal(social.getUnitPensionCardinal());
socialFund.setPersonalPensionCardinal(social.getPersonalPensionCardinal());
......@@ -669,6 +686,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitPersionMoney(BigDecimalUtils.safeMultiply(social.getUnitPensionCardinal(), social.getUnitPensionPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPersonalPersionMoney(BigDecimalUtils.safeMultiply(social.getPersonalPensionCardinal(), social.getPersonalPensionPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPensionHandle(social.getPensionHandle());
socialFund.setPensionStart(social.getPensionStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getMedicalHandle()) && !dispatchPart){
socialFund.setUnitMedicalCardinal(social.getUnitMedicalCardinal());
......@@ -678,7 +696,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitMedicalMoney(BigDecimalUtils.safeMultiply(social.getUnitMedicalCardinal(), social.getUnitMedicalPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPersonalMedicalMoney(BigDecimalUtils.safeMultiply(social.getPersonalMedicalCardinal(), social.getPersonalMedicalPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setMedicalHandle(social.getMedicalHandle());
socialFund.setMedicalStart(social.getMedicalStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getUnemployHandle()) && !dispatchPart){
socialFund.setUnitUnemploymentCardinal(social.getUnitUnemploymentCardinal());
socialFund.setPersonalUnemploymentCardinal(social.getPersonalUnemploymentCardinal());
......@@ -687,6 +707,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitUnemploymentMoney(BigDecimalUtils.safeMultiply(social.getUnitUnemploymentCardinal(), social.getUnitUnemploymentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPersonalUnemploymentMoney(BigDecimalUtils.safeMultiply(social.getPersonalUnemploymentCardinal(), social.getPersonalUnemploymentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setUnemployHandle(social.getUnemployHandle());
socialFund.setUnemployStart(social.getUnemployStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getBigailmentHandle())
&& CommonConstants.ZERO_STRING.equals(social.getIsIllness()) && !dispatchPart){
......@@ -697,20 +718,22 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitBigailmentMoney(social.getUnitBigailmentMoney());
socialFund.setPersonalBigailmentMoney(social.getPersonalBigailmentMoney());
socialFund.setBigailmentHandle(social.getBigailmentHandle());
socialFund.setBigailmentStart(social.getBigailmentStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getWorkInjuryHandle()) && !dispatchPart){
socialFund.setUnitWorkInjuryCardinal(social.getUnitWorkInjuryCardinal());
socialFund.setUnitWorkUnjuryPer(social.getUnitWorkUnjuryPer());
socialFund.setUnitInjuryMoney(BigDecimalUtils.safeMultiply(social.getUnitWorkInjuryCardinal(), social.getUnitWorkUnjuryPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setWorkInjuryHandle(social.getWorkInjuryHandle());
socialFund.setWorkInjuryStart(social.getWorkInjuryStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getBirthHandle()) && !dispatchPart){
socialFund.setUnitBirthCardinal(social.getUnitBirthCardinal());
socialFund.setUnitBirthPer(social.getUnitBirthPer());
socialFund.setUnitBirthMoney(BigDecimalUtils.safeMultiply(social.getUnitBirthCardinal(), social.getUnitBirthPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setBirthHandle(social.getBirthHandle());
socialFund.setBirthStart(social.getBirthStart());
}
socialFund.setCanOverpay(social.getCanOverpay());
socialFund.setOverpayNumber(social.getOverpayNumber());
socialFund.setHaveThisMonth(social.getHaveThisMonth());
......@@ -729,15 +752,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setRecordBase(social.getRecordBase());
socialFund.setTrustRemark(social.getTrustRemark());
socialFund.setPaymentType(social.getPaymentType());
// 处理部分失败项派单的 基数 比例 金额,再办理成功的时候才更新过来 顺序不要变 后面有合计
if (!dispatchPart){
socialFund.setPensionStart(social.getPensionStart());
socialFund.setMedicalStart(social.getMedicalStart());
socialFund.setUnemployStart(social.getUnemployStart());
socialFund.setWorkInjuryStart(social.getWorkInjuryStart());
socialFund.setBirthStart(social.getBirthStart());
socialFund.setBigailmentStart(social.getBigailmentStart());
}
......@@ -776,6 +791,39 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setPersonalFundSum(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(fund.getPersonalProvidentCardinal(), fund.getPersonalProvidentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())),Integer.valueOf(fund.getFundPayPoint())));
}
}
if (injury){
socialFund.setUnitPensionCardinal(null);
socialFund.setUnitPersionMoney(null);
socialFund.setUnitPensionPer(null);
socialFund.setPersonalPensionCardinal(null);
socialFund.setPersonalPensionPer(null);
socialFund.setPersonalPersionMoney(null);
socialFund.setUnitMedicalCardinal(null);
socialFund.setUnitMedicalPer(null);
socialFund.setUnitMedicalMoney(null);
socialFund.setPersonalMedicalCardinal(null);
socialFund.setPersonalMedicalPer(null);
socialFund.setPersonalMedicalMoney(null);
socialFund.setUnitUnemploymentCardinal(null);
socialFund.setUnitUnemploymentPer(null);
socialFund.setUnitUnemploymentMoney(null);
socialFund.setPersonalUnemploymentCardinal(null);
socialFund.setPersonalUnemploymentPer(null);
socialFund.setPersonalUnemploymentMoney(null);
socialFund.setUnitBirthCardinal(null);
socialFund.setUnitBirthPer(null);
socialFund.setUnitBirthMoney(null);
socialFund.setUnitBigailmentCardinal(null);
socialFund.setUnitBigailmentPer(null);
socialFund.setUnitBigailmentMoney(null);
socialFund.setPersonalBigailmentCardinal(null);
socialFund.setPersonalBigailmentPer(null);
socialFund.setPersonalBigailmentMoney(null);
}
if (Common.isNotNull(socialFund.getId())){
socialFundMapper.updateById(socialFund);
}else {
......@@ -1202,7 +1250,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
DispatchEmpVo empVo,
SysBaseSetInfo socialSet,
TDispatchImportVo excel,
Map<String, TSocialFundInfo> socialFundMap) {
Map<String, TSocialFundInfo> socialFundMap, boolean dispatchPart) {
TSocialInfo social;
if (Common.isNotNull(excel.getSocialHousehold())) {
social = new TSocialInfo();
......@@ -1391,7 +1439,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
, social.getPersonalMedicalMoney()
, social.getPersonalUnemploymentMoney()));
// 处理部分办理失败的情况
initHandleStatus(excel, socialFundMap, social);
initHandleStatus(excel, socialFundMap, social,dispatchPart);
//单独处理工伤派增时对应的各种数据
handleInjury(social);
socials.put(excel.getEmpIdcard(),social);
......@@ -1456,7 +1504,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
private void initHandleStatus(TDispatchImportVo excel, Map<String, TSocialFundInfo> socialFundMap, TSocialInfo social) {
private void initHandleStatus(TDispatchImportVo excel,
Map<String, TSocialFundInfo> socialFundMap,
TSocialInfo social,
boolean dispatchPart) {
TSocialFundInfo socialFund;
if (Common.isNotNull(socialFundMap)) {
socialFund = socialFundMap.get(excel.getEmpIdcard());
......@@ -1471,11 +1522,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalPersionMoney(null);
social.setPensionStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitPensionCardinal(social.getUnitPensionCardinal());
socialFund.setUnitPensionPer(social.getUnitPensionPer());
socialFund.setPersonalPensionCardinal(social.getPersonalPensionCardinal());
socialFund.setPersonalPensionPer(social.getPersonalPensionPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getMedicalHandle())){
social.setMedicalHandle(null);
social.setUnitMedicalCardinal(null);
......@@ -1486,10 +1539,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalMedicalMoney(null);
social.setMedicalStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitMedicalCardinal(social.getUnitMedicalCardinal());
socialFund.setUnitMedicalPer(social.getUnitMedicalPer());
socialFund.setPersonalMedicalCardinal(social.getUnitMedicalCardinal());
socialFund.setPersonalMedicalPer(social.getUnitMedicalPer());
socialFund.setPersonalMedicalCardinal(social.getPersonalMedicalCardinal());
socialFund.setPersonalMedicalPer(social.getPersonalMedicalPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getUnemployHandle())){
social.setUnemployHandle(null);
......@@ -1501,10 +1556,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalUnemploymentMoney(null);
social.setUnemployStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitUnemploymentCardinal(social.getUnitUnemploymentCardinal());
socialFund.setUnitUnemploymentPer(social.getUnitUnemploymentPer());
socialFund.setPersonalUnemploymentCardinal(social.getUnitUnemploymentCardinal());
socialFund.setPersonalUnemploymentPer(social.getUnitUnemploymentPer());
socialFund.setPersonalUnemploymentCardinal(social.getPersonalUnemploymentCardinal());
socialFund.setPersonalUnemploymentPer(social.getPersonalUnemploymentPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getWorkInjuryHandle())){
social.setWorkInjuryHandle(null);
......@@ -1513,8 +1570,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setUnitInjuryMoney(null);
social.setWorkInjuryStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitWorkInjuryCardinal(social.getUnitWorkInjuryCardinal());
socialFund.setPersonalWorkInjuryCardinal(social.getUnitWorkInjuryCardinal());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getBirthHandle())){
social.setBirthHandle(null);
......@@ -1523,9 +1581,11 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setUnitBirthMoney(null);
social.setBirthStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitBirthCardinal(social.getUnitBirthCardinal());
socialFund.setUnitBirthPer(social.getUnitBirthPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getBigailmentHandle())){
social.setBigailmentHandle(null);
social.setUnitBigailmentCardinal(null);
......@@ -1536,10 +1596,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalBigailmentMoney(null);
social.setBigailmentStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitBigailmentCardinal(social.getUnitBigailmentCardinal());
socialFund.setUnitBigailmentPer(social.getUnitBigailmentPer());
socialFund.setPersonalBigailmentCardinal(social.getUnitBigailmentCardinal());
socialFund.setPersonalBigailmentPer(social.getUnitBigailmentPer());
socialFund.setPersonalBigailmentCardinal(social.getPersonalBigailmentCardinal());
socialFund.setPersonalBigailmentPer(social.getPersonalBigailmentPer());
}
}
socialFundMap.put(excel.getEmpIdcard(),socialFund);
}
......@@ -1645,6 +1707,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
project.setEmpNatrue(excel.getEmpType());
project.setPost(excel.getPost());
project.setWorkingHours(excel.getWorkingHours());
project.setTryPeriod(excel.getTryPeriod());
if (Common.isNotNull(socialSet)){
project.setSocialProvince(socialSet.getProvince());
project.setSocialCity(socialSet.getCity());
......@@ -1828,7 +1891,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_EMP_NOT_EMPTY)));
return true;
}
if (Common.isEmpty(excel.getContractName()) && validContractInfo(errorMessageList,excel,empVo)){
if (Common.isEmpty(excel.getContractName()) && validContractInfo(errorMessageList,excel)){
return true;
}
// 如果没有人员档案和项目档案的时候校验身份证和手机号码
......@@ -1864,7 +1927,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
return true;
}
// 档案无合同 合同起日期、合同类型必填
if (Common.isEmpty(empVo.getContractName()) && validContractInfo(errorMessageList,excel,empVo)){
if (Common.isEmpty(empVo.getContractName()) && validContractInfo(errorMessageList,excel)){
return true;
}
if (Common.isNotNull(empVo.getEmpNatrue())){
......@@ -2005,7 +2068,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
return false;
}
private boolean validContractInfo(List<ErrorMessage> errorMessageList, TDispatchImportVo excel, DispatchEmpVo empVo){
private boolean validContractInfo(List<ErrorMessage> errorMessageList, TDispatchImportVo excel){
// 合同起缴时间、合同类型、签订期限必填
if ((Common.isEmpty(excel.getContractStart())
|| Common.isEmpty(excel.getContractType())
......@@ -2561,7 +2624,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
@GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
@Override
public List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, Integer flag, String auditStatus, String auditRemark, String remark) {
public List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark) {
List<ErrorMessage> errorList = new ArrayList<>();
if (!Common.isNotNull(idsList)) {
errorList.add(new ErrorMessage(-1, CommonConstants.PARAM_IS_NOT_ERROR));
......@@ -2604,13 +2667,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 派增审核
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())){
//派增审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
socialInfo.setAuditStatus(CommonConstants.ONE_STRING);
// 待办理
sf.setSocialAddStatus(CommonConstants.ONE_STRING);
sf.setSocialStatus(CommonConstants.ONE_STRING);
//派增审核不通过 需要处理预估数据
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
socialInfo.setDeleteFlag(CommonConstants.ONE_STRING);
// 作废更新:社保状态、同步预估数据 审核不通过直接作废
socialInfo.setAuditStatus(CommonConstants.TWO_STRING);
......@@ -2624,13 +2687,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 派减审核
if (CommonConstants.dingleDigitStrArray[1].equals(dis.getType())){
//派增审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
socialInfo.setReduceCan(CommonConstants.ONE_STRING);
// 待办理
sf.setSocialReduceStatus(CommonConstants.ONE_STRING);
sf.setSocialStatus(CommonConstants.SEVEN_STRING);
//派增审核不通过 需要处理预估数据
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
// 作废更新:社保状态、同步预估数据 8 审核不通过直接作废
sf.setSocialReduceStatus(CommonConstants.ONE_STRING_NEGATE);
sf.setSocialStatus(CommonConstants.THREE_STRING);
......@@ -2655,12 +2718,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//派增
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())){
// 审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
providentFund.setAuditStatus(CommonConstants.ONE_STRING);
sf.setFundAddStatus(CommonConstants.ONE_STRING);
sf.setFundStatus(CommonConstants.ONE_STRING);
// 审核不通过
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
// 作废更新:公积金状态、同步档案的公积金状态、同步预估数据
providentFund.setAuditStatus(CommonConstants.TWO_STRING);
providentFund.setDeleteFlag(CommonConstants.ONE_STRING);
......@@ -2673,12 +2736,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//派减
if (CommonConstants.dingleDigitStrArray[1].equals(dis.getType())){
// 审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
providentFund.setReduceCan(CommonConstants.ONE_STRING);
sf.setFundReduceStatus(CommonConstants.ONE_STRING);
sf.setFundStatus(CommonConstants.SIX_STRING);
// 审核不通过
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
// 作废更新:公积金状态、同步档案的公积金状态
sf.setFundReduceStatus(CommonConstants.ONE_STRING_NEGATE);
sf.setFundStatus(CommonConstants.THREE_STRING);
......@@ -2689,17 +2752,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
// 审核不通过 直接作废 要考虑 部分派增的情况
/*if (CommonConstants.ONE_INT == flag.intValue()) {
dis.setDeleteFlag(CommonConstants.ONE_STRING);
}*/
//派单类型信息拼接
if (CommonConstants.ZERO_STRING.equals(dis.getType())) {
remarkTemp += DispatchConstants.DISPATCH_ADD;
} else {
remarkTemp += DispatchConstants.DISPATCH_REDUCE;
}
// 派单状态信息拼接
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
remarkTemp += "审核通过:" + Common.isBlankToNullString(auditRemark);
initAuditInfo(auditInfo, remarkTemp, CommonConstants.ONE_STRING, user,remarkTemp,remark);
} else {
......@@ -2711,35 +2770,26 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dis.setAuditRemark(ServiceUtil.ifNullToEmpty(auditRemark));
auditInfo.setDispatchInfoId(dis.getId());
//更新派单状态
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
//审核通过
dis.setStatus(CommonConstants.TWO_STRING);
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
//审核不通过
dis.setStatus(CommonConstants.THREE_STRING);
}
boolean flagTemp = false;
// 派增审核通过 要更新 人员档案 项目档案 合同的状态信息
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())){
R<Boolean> res = null;
if (CommonConstants.ZERO_INT == flag.intValue()){
if (CommonConstants.ZERO_INT == flag){
res = archivesDaprUtil.updateEmpInfo(dis.getEmpIdcard(),dis.getSettleDomainCode(),dis.getContractId(),CommonConstants.ZERO_STRING);
}
if (CommonConstants.ONE_INT == flag.intValue()){
if (CommonConstants.ONE_INT == flag){
res = archivesDaprUtil.updateEmpInfo(dis.getEmpIdcard(),dis.getSettleDomainCode(),dis.getContractId(),CommonConstants.ONE_STRING);
}
if (Common.isEmpty(res) || CommonConstants.SUCCESS != res.getCode()){
ServiceUtil.runTimeExceptionDiy("更新人员档案、项目档案、合同状态异常:" + (Common.isNotNull(res)?res.getMsg():CommonConstants.EMPTY_STRING));
}
}
//新增审核记录信息
auditInfo.setEmpIdcard(dis.getEmpIdcard());
auditInfo.setDispatchInfoId(dis.getId());
auditInfoMapper.insert(auditInfo);
dis.setAuditUser(user.getId());
dis.setAuditTime(now);
baseMapper.updateById(dis);
// 派增审核不通过 失败项重新派单审核不通过 恢复为部分办理失败
boolean flagTemp = Common.isNotNull(sf) && Common.isNotNull(dis.getSocialId())
flagTemp = Common.isNotNull(sf) && Common.isNotNull(dis.getSocialId())
&& (CommonConstants.ONE_STRING.equals(sf.getPensionHandle())
|| CommonConstants.ONE_STRING.equals(sf.getMedicalHandle())
|| CommonConstants.ONE_STRING.equals(sf.getWorkInjuryHandle())
......@@ -2758,13 +2808,28 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setSocialStatus(CommonConstants.FOUR_STRING);
sf.setSocialAddStatus(CommonConstants.THREE_STRING);
}
}
if (Common.isEmpty(res) || CommonConstants.SUCCESS != res.getCode()){
ServiceUtil.runTimeExceptionDiy("更新人员档案、项目档案、合同状态异常:" + (Common.isNotNull(res)?res.getMsg():CommonConstants.EMPTY_STRING));
}
}
//新增审核记录信息
auditInfo.setEmpIdcard(dis.getEmpIdcard());
auditInfo.setDispatchInfoId(dis.getId());
auditInfoMapper.insert(auditInfo);
dis.setAuditUser(user.getId());
dis.setAuditTime(now);
baseMapper.updateById(dis);
socialFundMapper.updateById(sf);
// 派增审核不通过
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())
&& CommonConstants.ONE_INT == flag.intValue()){
// 更新预估数据
&& CommonConstants.ONE_INT == flag){
// 更新预估数据 -- 失败项重新派单审核不通过不处理预估
if (!flagTemp){
forecastLibraryService.updateForecastLibaryByDispatchReduce(sf, forecastFlag);
}
// 更新人员档案和项目档案的社保公积金状态
UpProjectSocialFundVo vo = new UpProjectSocialFundVo();
if (Common.isNotNull(dis.getSocialId())){
......@@ -2806,7 +2871,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (!Common.isNotNull(ids)) {
return R.failed(DispatchConstants.DISPATCH_ID_NOT_EMPTY);
}
Integer flag = 1;
int flag;
if (CommonConstants.ONE_STRING.equals(auditStatus)) {
//审核通过
flag = CommonConstants.ZERO_INT;
......@@ -2834,7 +2899,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (!Common.isNotNull(ids)) {
return R.failed(DispatchConstants.DISPATCH_ID_NOT_EMPTY);
}
int flag = 1;
int flag;
if (CommonConstants.ONE_STRING.equals(handleStatus)) {
//办理成功
flag = CommonConstants.ZERO_INT;
......@@ -3129,8 +3194,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
//派减判断
} else if (CommonConstants.ONE_STRING.equals(dis.getType())) {
if (Common.isNotNull(dis.getSocialHandleStatus())
&& Common.isNotNull(dis.getFundHandleStatus())
if (Common.isNotNull(dis.getSocialId())
&& Common.isNotNull(dis.getFundId())
&& (CommonConstants.ONE_STRING.equals(dis.getSocialHandleStatus())
|| CommonConstants.TWO_STRING.equals(dis.getSocialHandleStatus()))
&& ((CommonConstants.ONE_STRING.equals(dis.getFundHandleStatus())
......@@ -3138,20 +3203,20 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//办理成功
dis.setStatus(CommonConstants.FOUR_STRING);
}
if (Common.isEmpty(dis.getSocialHandleStatus())
if (Common.isEmpty(dis.getSocialId()) && Common.isNotNull(dis.getFundId())
&& ((CommonConstants.ONE_STRING.equals(dis.getFundHandleStatus())
|| CommonConstants.TWO_STRING.equals(dis.getFundHandleStatus())))) {
//办理成功
dis.setStatus(CommonConstants.FOUR_STRING);
}
if ((Common.isEmpty(dis.getFundHandleStatus())
&& CommonConstants.ONE_STRING.equals(dis.getSocialHandleStatus())
if (Common.isEmpty(dis.getFundId()) && Common.isNotNull(dis.getSocialId())
&&(CommonConstants.ONE_STRING.equals(dis.getSocialHandleStatus())
|| CommonConstants.TWO_STRING.equals(dis.getSocialHandleStatus()))) {
//办理成功
dis.setStatus(CommonConstants.FOUR_STRING);
}
}
dis.setHandleRemark(null == handleRemark ? "" : handleRemark);
dis.setHandleRemark(ServiceUtil.ifNullToEmpty(handleRemark));
//新增办理记录信息
auditInfo.setDispatchInfoId(dis.getId());
auditInfo.setEmpIdcard(dis.getEmpIdcard());
......@@ -3160,19 +3225,26 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFundMapper.updateById(sf);
//1.派增办理失败 刷新预估数据
if (CommonConstants.ZERO_STRING.equals(dis.getType())) {
// 办理失败
// 全部办理失败 社保和公积金派增办理失败 减少预估
if (CommonConstants.ONE_INT == flag && CommonConstants.FIVE_STRING.equals(sf.getSocialStatus())){
// 派增办理,全部失败 同步预估库数据
forecastLibraryService.updateForecastLibaryByDispatchReduce(sf, forecastFlag);
}
// 社保办理只要办理成功就刷新预估数据 公积金办理不用处理
if (Common.isNotNull(dis.getSocialId())
&& CommonConstants.FOUR_STRING.equals(sf.getSocialStatus())
|| CommonConstants.TWO_STRING.equals(sf.getSocialStatus())
|| CommonConstants.THREE_STRING.equals(sf.getSocialStatus())){
forecastLibraryService.updateForecastLibaryByDispatch(sf);
}
// 2.派减办理成功 处理预估
}
// 2.派减办理成功 处理预估 (不管社保还是公积金办理失败)
if (CommonConstants.ONE_STRING.equals(dis.getType())
&& CommonConstants.ZERO_INT == flag){
// 同步预估库数据
forecastLibraryService.updateForecastLibaryByDispatchReduce(sf, forecastFlag);
}
}
UpProjectSocialFundVo vo = new UpProjectSocialFundVo();
// 社保状态 社保状态(字典): 0 无社保 1 处理中 2.部分购买 3.正常 4.已派减
initSocialFundStatus(socialInfo, providentFund, vo,sf);
......@@ -3423,6 +3495,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setSocialStatus(CommonConstants.TWO_STRING);
sf.setSocialAddStatus(CommonConstants.SIX_STRING);
dis.setSocialHandleStatus(CommonConstants.FOUR_STRING);
//排除兼职工伤的情况
} else {
// 其他:部分办理失败
socialInfo.setHandleStatus(CommonConstants.FIVE_STRING);
......@@ -3443,7 +3516,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setUnitBigailmentMoney(socialInfo.getUnitBigailmentMoney());
sf.setPersonalBigailmentMoney(socialInfo.getPersonalBigailmentMoney());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getPensionHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getPensionHandle())){
sf.setUnitPensionCardinal(socialInfo.getUnitPensionCardinal());
sf.setPersonalPensionCardinal(socialInfo.getPersonalPensionCardinal());
sf.setUnitPensionPer(socialInfo.getUnitPensionPer());
......@@ -3453,7 +3526,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setPensionHandle(socialInfo.getPensionHandle());
sf.setPensionStart(socialInfo.getPensionStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getMedicalHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getMedicalHandle())){
sf.setUnitMedicalCardinal(socialInfo.getUnitMedicalCardinal());
sf.setPersonalMedicalCardinal(socialInfo.getPersonalMedicalCardinal());
sf.setUnitMedicalPer(socialInfo.getUnitMedicalPer());
......@@ -3463,7 +3536,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setMedicalHandle(socialInfo.getMedicalHandle());
sf.setMedicalStart(socialInfo.getMedicalStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getUnemployHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getUnemployHandle())){
sf.setUnitUnemploymentCardinal(socialInfo.getUnitUnemploymentCardinal());
sf.setPersonalUnemploymentCardinal(socialInfo.getPersonalUnemploymentCardinal());
sf.setPersonalUnemploymentPer(socialInfo.getPersonalUnemploymentPer());
......@@ -3473,7 +3546,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setUnemployHandle(socialInfo.getUnemployHandle());
sf.setUnemployStart(socialInfo.getUnemployStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getBigailmentHandle())
if (CommonConstants.ZERO_STRING.equals(socialInfo.getBigailmentHandle())
&& CommonConstants.ZERO_STRING.equals(socialInfo.getIsIllness())){
sf.setUnitBigailmentCardinal(socialInfo.getUnitBigailmentCardinal());
sf.setPersonalBigailmentCardinal(socialInfo.getPersonalBigailmentCardinal());
......@@ -3484,14 +3557,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setBigailmentHandle(socialInfo.getBigailmentHandle());
sf.setBigailmentStart(socialInfo.getBigailmentStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getWorkInjuryHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getWorkInjuryHandle())){
sf.setUnitWorkInjuryCardinal(socialInfo.getUnitWorkInjuryCardinal());
sf.setUnitWorkUnjuryPer(socialInfo.getUnitWorkUnjuryPer());
sf.setUnitInjuryMoney(BigDecimalUtils.safeMultiply(socialInfo.getUnitWorkInjuryCardinal(), socialInfo.getUnitWorkUnjuryPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
sf.setWorkInjuryHandle(socialInfo.getWorkInjuryHandle());
sf.setWorkInjuryStart(socialInfo.getWorkInjuryStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getBirthHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getBirthHandle())){
sf.setUnitBirthCardinal(socialInfo.getUnitBirthCardinal());
sf.setUnitBirthPer(socialInfo.getUnitBirthPer());
sf.setUnitBirthMoney(BigDecimalUtils.safeMultiply(socialInfo.getUnitBirthCardinal(), socialInfo.getUnitBirthPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
......@@ -3511,17 +3584,6 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
/**
* @Author fxj
* @Description if flag=obj return value1 else return value2
* @Date 18:02 2022/7/26
**/
private String ifNotEquals(int flag, int obj, String value1, String value2){
if (flag==obj){
return value1;
}
return value2;
}
/**
* @param handleStatus
* @param socialType
......
......@@ -57,6 +57,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.*;
import com.alibaba.excel.EasyExcel;
......@@ -198,8 +199,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
return R.failed("非本人创建的数据禁止删除!");
}
if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus()) &&
!CommonConstants.ONE_STRING.equals(user.getId())) {
if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) {
return R.failed("已推送至结算平台禁止删除!");
}
baseMapper.deleteById(id);
......@@ -560,8 +560,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
} while (computeFlag);
String importSuccessKey = user.getId() + CommonConstants.DOWN_LINE_STRING + CommonConstants.PAYMENT_SOCIAL_WAIT_EXPORT;
DecimalFormat df = new DecimalFormat("0.00000");
String maerialRatio = df.format((float)atomicLine.get()/list.size());
// 创建一个数值格式化对象
NumberFormat numberFormat = NumberFormat.getInstance();
// 设置精确到小数点后2位
numberFormat.setMaximumFractionDigits(2);
String maerialRatio = numberFormat.format((float)atomicLine.get()/(float)list.size()*100);
redisUtil.set(importSuccessKey, maerialRatio, 1800L);
} catch (Exception e) {
......@@ -1003,11 +1007,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
paymentInfo.setUnitUnemploymentSet(infoVo.getUnitUnemploymentSet());
paymentInfo.setUnitUnemploymentPer(infoVo.getUnitUnemploymentPer());
paymentInfo.setUnitBigailmentPer(infoVo.getUnitBigailmentPer());
paymentInfo.setPersonalPensionSet(paymentInfo.getUnitPensionSet());
paymentInfo.setPersonalPensionPer(infoVo.getPersonalPensionPer());
paymentInfo.setPersonalMedicalPer(infoVo.getPersonalMedicalPer());
paymentInfo.setPersonalMedicalSet(paymentInfo.getUnitMedicalSet());
paymentInfo.setPersonalUnemploymentSet(paymentInfo.getUnitUnemploymentSet());
paymentInfo.setPersonalUnemploymentPer(infoVo.getPersonalUnemploymentPer());
paymentInfo.setPersonalBigailmentPer(infoVo.getPersonalBigailmentPer());
paymentInfo.setCompanyAccrual(infoVo.getCompanyAccrual());
......@@ -1744,8 +1745,15 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
}
} while (computeFlag);
String importSuccessKey = user.getId() + CommonConstants.DOWN_LINE_STRING + CommonConstants.PAYMENT_SOCIAL_WAIT_EXPORT;
redisUtil.set(importSuccessKey, random, 1800L);
// 创建一个数值格式化对象
NumberFormat numberFormat = NumberFormat.getInstance();
// 设置精确到小数点后2位
numberFormat.setMaximumFractionDigits(2);
String maerialRatio = numberFormat.format((float)atomicLine.get()/(float)list.size()*100);
redisUtil.set(importSuccessKey, maerialRatio, 1800L);
} catch (Exception e) {
log.error("社保缴费库数据批量导入异常:" + e);
......@@ -2056,11 +2064,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
payExists.setUnitPensionMoney(infoVo.getUnitMoney());
payExists.setPersonalPensionMoney(infoVo.getPersonalMoney());
payExists.setUnitPensionSet(infoVo.getUnitSet());
payExists.setPersonalPensionSet(infoVo.getPersonalSet());
payExists.setUnitPensionMoney(infoVo.getUnitMoney());
payExists.setPersonalPensionMoney(infoVo.getPersonalMoney());
payExists.setUnitPensionSet(infoVo.getUnitSet());
payExists.setPersonalPensionSet(infoVo.getPersonalSet());
payExists.setUnitSocialSum(BigDecimalUtils.safeAdd(payExists.getUnitPensionMoney()
, payExists.getUnitSocialSum()));
payExists.setSocialSecurityPersonalSum(BigDecimalUtils.safeAdd(payExists.getPersonalPensionMoney()
......@@ -2070,11 +2075,9 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
payExists.setUnitUnemploymentMoney(infoVo.getUnitMoney());
payExists.setPersonalUnemploymentMoney(infoVo.getPersonalMoney());
payExists.setUnitUnemploymentSet(infoVo.getUnitSet());
payExists.setPersonalUnemploymentSet(infoVo.getPersonalSet());
payExists.setUnitUnemploymentMoney(infoVo.getUnitMoney());
payExists.setPersonalUnemploymentMoney(infoVo.getPersonalMoney());
payExists.setUnitUnemploymentSet(infoVo.getUnitSet());
payExists.setPersonalUnemploymentSet(infoVo.getPersonalSet());
payExists.setUnitSocialSum(BigDecimalUtils.safeAdd(payExists.getUnitUnemploymentMoney()
, payExists.getUnitSocialSum()));
payExists.setSocialSecurityPersonalSum(BigDecimalUtils.safeAdd(payExists.getPersonalUnemploymentMoney()
......@@ -2092,13 +2095,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
payExists.setUnitMedicalMoney(infoVo.getUnitMedicalMoney());
payExists.setUnitMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalMedicalMoney(infoVo.getPersonalMedicalMoney());
payExists.setPersonalMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalBigmailmentMoney(infoVo.getPersonalBigailmentMoney());
payExists.setUnitBigmailmentMoney(infoVo.getUnitBigailmentMoney());
payExists.setUnitMedicalMoney(infoVo.getUnitMedicalMoney());
payExists.setUnitMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalMedicalMoney(infoVo.getPersonalMedicalMoney());
payExists.setPersonalMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalBigmailmentMoney(infoVo.getPersonalBigailmentMoney());
payExists.setUnitBigmailmentMoney(infoVo.getUnitBigailmentMoney());
payExists.setSocialSecurityNo(infoVo.getSocialSecurityNo());
......
......@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.vo.AreaVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
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.common.core.constant.*;
......@@ -40,6 +41,7 @@ import com.yifu.cloud.plus.v1.yifu.social.service.TPreDispatchInfoService;
import com.yifu.cloud.plus.v1.yifu.social.util.ServiceUtil;
import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import lombok.RequiredArgsConstructor;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -86,6 +88,9 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
@Autowired
private SysHouseHoldInfoMapper sysHouseHoldInfoMapper;
@Autowired
private TSocialFundInfoMapper socialFundInfoMapper;
/**
* 预派单记录简单分页查询
*
......@@ -395,14 +400,38 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
if (Common.isNotNull(preInfo.getLeaveDate())){
dispatchReduceVo.setLeaveDate(DateUtil.stringToDate(preInfo.getLeaveDate()));
}
dispatchReduceVo.setReasonType(preInfo.getLeaveReasonAdd());
dispatchReduceVo.setTrustRemark(preInfo.getLeaveReason());
TSocialFundInfo tSocialFundInfo = socialFundInfoMapper.selectOne(Wrappers.<TSocialFundInfo>query().lambda()
.eq(TSocialFundInfo::getEmpIdcard, preInfo.getEmpIdcard()).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(tSocialFundInfo)) {
if (Common.isNotNull(tSocialFundInfo.getSettleDomainCode())) {
dispatchReduceVo.setDepartNo(tSocialFundInfo.getSettleDomainCode());
}else {
dispatchReduceVo.setDepartNo(tSocialFundInfo.getSettleDomainCodeFund());
}
}
// 渲染字典值
Map<String,String> dicObj = (Map<String, String>) RedisUtil.redis.opsForValue()
.get(CacheConstants.DICT_DETAILS
+ CommonConstants.COLON_STRING
+ "reduce_project_reason");
if (Common.isNotNull(dicObj)) {
for (Map.Entry<String, String> entry : dicObj.entrySet()) {
String key = entry.getKey();
String Label = entry.getValue();
if (Label.equals(preInfo.getLeaveReason())) {
dispatchReduceVo.setReasonType(key);
}
}
}
dispatchReduceVo.setTrustRemark(preInfo.getRemark());
if (Common.isNotNull(preInfo.getPensionEndReduce())) {
dispatchReduceVo.setSocialReduceDate(DateUtil.getFirstDay(preInfo.getPensionEndReduce()));
}
if (Common.isNotNull(preInfo.getFundEndReduce())){
dispatchReduceVo.setFundReduceDate(DateUtil.getFirstDay(preInfo.getFundEndReduce()));
}
dispatchReduceVo.setRowIndex(CommonConstants.ONE_INT);
List<TDispatchReduceVo> dispatchImportList = new ArrayList<>();
dispatchImportList.add(dispatchReduceVo);
dispatchInfoService.batchReduceDispatch(dispatchImportList, errorMessageList, user);
......@@ -415,6 +444,70 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
return R.ok();
}
@Override
public R update(TPreDispatchInfo tPreDispatchInfo) {
YifuUser user = SecurityUtils.getUser();
if (null == user || null == user.getId()) {
return R.failed(CommonConstants.USER_FAIL);
}
ExcelAttributeValidityUtil<TPreDispatchInfo> validity = new ExcelAttributeValidityUtil<>(TPreDispatchInfo.class);
validity.ValidityObj(tPreDispatchInfo);
if (null != validity.getErrorInfo() && !validity.getErrorInfo().isEmpty()) {
return R.failed(validity.getErrorInfo(), ResultConstants.VALIDITY_FAIL);
}
HashMap<String, SysArea> areaHashMap = new HashMap<>(CommonConstants.SIXTEEN_INT);
HashMap<String, SysArea> areaIdMap = new HashMap<>(CommonConstants.SIXTEEN_INT);
TPreDispatchInfo preDispatchTemp = baseMapper.selectById(tPreDispatchInfo.getId());
tPreDispatchInfo.setType(preDispatchTemp.getType());
// 初步校验 如果合同时间变更 同步更新 派单的时间
R<Boolean> errorMessage1 = checkUpdate(tPreDispatchInfo, areaHashMap, areaIdMap, preDispatchTemp);
if (errorMessage1 != null) {
return errorMessage1;
}
// 社保缴纳地变更 同步更新 社保的省市县数据
R<Boolean> areaErrorMessage = handleSocialArea(areaHashMap, areaIdMap, tPreDispatchInfo, preDispatchTemp);
if (null != areaErrorMessage) {
return areaErrorMessage;
}
// 公积金缴纳地变更 同步更新 公积金的省市县数据
areaErrorMessage = handleFundArea(areaHashMap, areaIdMap, tPreDispatchInfo, preDispatchTemp);
if (null != areaErrorMessage) {
return areaErrorMessage;
}
// 派增要派单时间 派减不需要
if (CommonConstants.ZERO_STRING.equals(tPreDispatchInfo.getType())) {
// 社保起缴日期变更 验证是否可派增
R<Boolean> x = checkSocialStartDate(tPreDispatchInfo, preDispatchTemp);
if (x != null) {
return x;
}
// 公积金起缴日期变更 验证是否可派增
x = checkFundStartDate(tPreDispatchInfo, preDispatchTemp);
if (x != null) {
return x;
}
// 手机号码必填及格式校验
if (Common.isEmpty(tPreDispatchInfo.getTelTwo())){
return R.failed(PreDispatchConstants.TEL_NOT_EMPTY);
}
}
if (CommonConstants.ONE_STRING.equals(tPreDispatchInfo.getType())) {
initLeaveReason(tPreDispatchInfo);
tPreDispatchInfo.setPensionAddress(tPreDispatchInfo.getPensionAddressReduce());
tPreDispatchInfo.setFundAddress(tPreDispatchInfo.getFundAddressReduce());
}
// 合同开始截止时间 同步更新派单的合同时间
// tPreDispatchInfo.setContractEndAdd(tPreDispatchInfo.getContractEnd());
// tPreDispatchInfo.setContractStartAdd(tPreDispatchInfo.getContractStart());
// 没问题重置异常状态,有问题 在前面就返回了
tPreDispatchInfo.setExceptionContent(CommonConstants.EMPTY_STRING);
tPreDispatchInfo.setPreStatus(CommonConstants.ZERO_STRING);
baseMapper.updatePreDispatchInfoById(tPreDispatchInfo);
return R.ok();
}
/**
* 一键派单
* @param idStr
......@@ -465,22 +558,25 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
.eq(TPreDispatchInfo::getPreStatus, CommonConstants.ZERO_STRING));
}
if (!Common.isNotNull(preList)) {
return R.failed(CommonConstants.NO_DATA_TO_HANDLE);
return R.failed("数据不符合派单要求,请核实!");
}
// 找出所有需要派减的社保或公积金数据 主要用于派减是获取项目相关数据
HashMap<String, TSocialInfo> socialMap = new HashMap<>();
HashMap<String, TProvidentFund> fundMap = new HashMap<>();
HashMap<String, TSocialInfo> socialMap = new HashMap<>();
// 封装需要派减的社保或公积金信息
initReduceSocialFundInfo(preList, socialMap, fundMap);
// 开始处理派增
List<ErrorMessage> errorMessageList = new ArrayList<>();
List<ErrorMessage> errorMsgList = new ArrayList<>();
HashMap<String, SysArea> areaMap = new HashMap<>();
HashMap<String, SysArea> areaIdMap = new HashMap<>();
int i = 1;
for (TPreDispatchInfo pre : preList) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
i++;
if (checkLimit(pre)) {
errorMessageList.add(new ErrorMessage(i+1,"派减时间为次月之后的月份不做处理!"));
//重新组装数据
resetMessageList(pre, errorMessageList, errorMsgList, i + 1);
continue;
}
// 派单派增处理
......@@ -488,14 +584,43 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
areaMap, areaIdMap);
// 派单派减处理
if (CommonConstants.ONE_STRING.equals(pre.getType())) {
// 当月创建的大于 限制日期的不派单 放在次月派单 本月之前的数据正常派单
if (null != pre.getDayLimit() && pre.getCreateTime().getDayOfMonth() > pre.getDayLimit().intValue() &&
LocalDateTime.now().getMonthValue() == pre.getCreateTime().getMonthValue()) {
errorMessageList.add(new ErrorMessage(i+1,"当月创建的大于限制日期的不派单,放在次月派单!"));
//重新组装数据
resetMessageList(pre, errorMessageList, errorMsgList, i + 1);
continue;
}
TDispatchReduceVo dispatchReduceVo = new TDispatchReduceVo();
dispatchReduceVo.setEmpName(pre.getEmpName());
dispatchReduceVo.setEmpIdcard(pre.getEmpIdcard());
if (null != pre.getLeaveDate()){
dispatchReduceVo.setLeaveDate(DateUtil.stringToDate(pre.getLeaveDate()));
TSocialFundInfo tSocialFundInfo = socialFundInfoMapper.selectOne(Wrappers.<TSocialFundInfo>query().lambda()
.eq(TSocialFundInfo::getEmpIdcard, pre.getEmpIdcard()).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(tSocialFundInfo)) {
if (Common.isNotNull(tSocialFundInfo.getSettleDomainCode())) {
dispatchReduceVo.setDepartNo(tSocialFundInfo.getSettleDomainCode());
}else {
dispatchReduceVo.setDepartNo(tSocialFundInfo.getSettleDomainCodeFund());
}
}
// 渲染字典值
Map<String,String> dicObj = (Map<String, String>) RedisUtil.redis.opsForValue()
.get(CacheConstants.DICT_DETAILS
+ CommonConstants.COLON_STRING
+ "reduce_project_reason");
if (Common.isNotNull(dicObj)) {
for (Map.Entry<String, String> entry : dicObj.entrySet()) {
String key = entry.getKey();
String Label = entry.getValue();
if (Label.equals(pre.getLeaveReason())) {
dispatchReduceVo.setReasonType(key);
}
dispatchReduceVo.setReasonType(pre.getLeaveReasonAdd());
dispatchReduceVo.setTrustRemark(pre.getLeaveReason());
}
}
dispatchReduceVo.setTrustRemark(pre.getRemark());
dispatchReduceVo.setRowIndex(i);
// 处理派减派单时间
dispatchReduce(dispatchReduceVo, pre);
List<TDispatchReduceVo> dispatchImportList = new ArrayList<>();
......@@ -509,72 +634,8 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
}
}
if (Common.isNotNull(errorMsgList)) {
return R.failed(errorMsgList);
}
return R.ok();
}
@Override
public R update(TPreDispatchInfo tPreDispatchInfo) {
YifuUser user = SecurityUtils.getUser();
if (null == user || null == user.getId()) {
return R.failed(CommonConstants.USER_FAIL);
}
ExcelAttributeValidityUtil<TPreDispatchInfo> validity = new ExcelAttributeValidityUtil<>(TPreDispatchInfo.class);
validity.ValidityObj(tPreDispatchInfo);
if (null != validity.getErrorInfo() && !validity.getErrorInfo().isEmpty()) {
return R.failed(validity.getErrorInfo(), ResultConstants.VALIDITY_FAIL);
}
HashMap<String, SysArea> areaHashMap = new HashMap<>(CommonConstants.SIXTEEN_INT);
HashMap<String, SysArea> areaIdMap = new HashMap<>(CommonConstants.SIXTEEN_INT);
TPreDispatchInfo preDispatchTemp = baseMapper.selectById(tPreDispatchInfo.getId());
tPreDispatchInfo.setType(preDispatchTemp.getType());
// 初步校验 如果合同时间变更 同步更新 派单的时间
R<Boolean> errorMessage1 = checkUpdate(tPreDispatchInfo, areaHashMap, areaIdMap, preDispatchTemp);
if (errorMessage1 != null) {
return errorMessage1;
}
// 社保缴纳地变更 同步更新 社保的省市县数据
R<Boolean> areaErrorMessage = handleSocialArea(areaHashMap, areaIdMap, tPreDispatchInfo, preDispatchTemp);
if (null != areaErrorMessage) {
return areaErrorMessage;
}
// 公积金缴纳地变更 同步更新 公积金的省市县数据
areaErrorMessage = handleFundArea(areaHashMap, areaIdMap, tPreDispatchInfo, preDispatchTemp);
if (null != areaErrorMessage) {
return areaErrorMessage;
}
// 派增要派单时间 派减不需要
if (CommonConstants.ZERO_STRING.equals(tPreDispatchInfo.getType())) {
// 社保起缴日期变更 验证是否可派增
R<Boolean> x = checkSocialStartDate(tPreDispatchInfo, preDispatchTemp);
if (x != null) {
return x;
}
// 公积金起缴日期变更 验证是否可派增
x = checkFundStartDate(tPreDispatchInfo, preDispatchTemp);
if (x != null) {
return x;
}
// 手机号码必填及格式校验
if (Common.isEmpty(tPreDispatchInfo.getTelTwo())){
return R.failed(PreDispatchConstants.TEL_NOT_EMPTY);
}
return R.ok(errorMsgList,"操作成功,存在异常数据,请核实");
}
if (CommonConstants.ONE_STRING.equals(tPreDispatchInfo.getType())) {
initLeaveReason(tPreDispatchInfo);
tPreDispatchInfo.setPensionAddress(tPreDispatchInfo.getPensionAddressReduce());
tPreDispatchInfo.setFundAddress(tPreDispatchInfo.getFundAddressReduce());
}
// 合同开始截止时间 同步更新派单的合同时间
// tPreDispatchInfo.setContractEndAdd(tPreDispatchInfo.getContractEnd());
// tPreDispatchInfo.setContractStartAdd(tPreDispatchInfo.getContractStart());
// 没问题重置异常状态,有问题 在前面就返回了
tPreDispatchInfo.setExceptionContent(CommonConstants.EMPTY_STRING);
tPreDispatchInfo.setPreStatus(CommonConstants.ZERO_STRING);
baseMapper.updatePreDispatchInfoById(tPreDispatchInfo);
return R.ok();
}
......@@ -1112,8 +1173,10 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
info.setSocialHouseAdd(sysHouseHoldInfo.getId());
SysHouseHoldInfo sysHouseHoldFund = sysHouseHoldInfoMapper.selectOne(Wrappers.<SysHouseHoldInfo>query().lambda()
.eq(SysHouseHoldInfo::getName, fundHouse).eq(SysHouseHoldInfo::getType, CommonConstants.ONE_STRING));
if (Common.isNotNull(sysHouseHoldFund)) {
info.setFundHouseAdd(sysHouseHoldFund.getId());
}
}
/**
* 校验修改派增派减
......@@ -2044,11 +2107,6 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
* @Date 2022-07-18
**/
private boolean checkLimit(TPreDispatchInfo pre) {
// 当月创建的大于 限制日期的不派单 放在次月派单 本月之前的数据正常派单
if (null != pre.getDayLimit() && pre.getCreateTime().getDayOfMonth() > pre.getDayLimit().intValue() &&
LocalDateTime.now().getMonthValue() == pre.getCreateTime().getMonthValue()) {
return true;
}
// 当派减时间为次月之后的月份 不做处理 放到次月及之后派单
if (Common.isNotNull(pre.getFundEndReduce()) && checkMonthForReduce(pre.getFundEndReduce())) {
return true;
......@@ -2097,17 +2155,13 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
* @Date 2022-07-18
**/
private R<Boolean> handleDispatchAddRes(TPreDispatchInfo preInfo, List<ErrorMessage> errorMessageList) {
if (errorMessageList.size() > CommonConstants.ZERO_INT) {
ErrorMessage errorMessage = errorMessageList.get(CommonConstants.ZERO_INT);
if (null != errorMessage) {
if (errorMessage.getMessage().indexOf(PreDispatchConstants.DISPATCH_ADD_SUCCESS) >= CommonConstants.ZERO_INT) {
if (errorMessageList.size() == CommonConstants.ZERO_INT) {
preInfo.setPreStatus(CommonConstants.TWO_STRING);
preInfo.setExceptionContent(CommonConstants.EMPTY_STRING);
baseMapper.updatePreStatusById(preInfo);
return R.ok(null, preInfo.getEmpIdcard() +
CommonConstants.COLON_STRING +
PreDispatchConstants.DISPATCH_ADD_SUCCESS);
return null;
} else {
ErrorMessage errorMessage = errorMessageList.get(CommonConstants.ZERO_INT);
preInfo.setPreStatus(CommonConstants.ONE_STRING);
preInfo.setExceptionContent(errorMessage.getMessage());
baseMapper.updatePreStatusById(preInfo);
......@@ -2116,9 +2170,6 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
errorMessage.getMessage());
}
}
}
return null;
}
private R<Boolean> handleBatchSocialFundReduce(TPreDispatchInfo preInfo,
TDispatchInfo dispatchInfo, TSocialInfo social, TProvidentFund fund) {
......@@ -2185,8 +2236,8 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
importVo.setEmpMobile(preInfo.getTelTwo());
importVo.setCustomerId(preInfo.getUnitIdAdd());
importVo.setCustomerCode(preInfo.getUnitNameAdd());
importVo.setSettleDomainId(preInfo.getDepartIdAdd());
importVo.setIdCardAddress(preInfo.getPayAddress());
importVo.setSettleDomainId(preInfo.getDepartIdAdd());
importVo.setPost(preInfo.getPositionAdd());
importVo.setWorkingHours(preInfo.getWorkingHoursAdd());
importVo.setEmpNational(CommonConstants.ONE_STRING);
......@@ -2330,9 +2381,11 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
}
if (Common.isNotNull(preInfo.getFundAddress())){
SysHouseHoldInfo sysHouseHoldInfo = sysHouseHoldInfoMapper.selectById(preInfo.getFundHouseAdd());
if (Common.isNotNull(sysHouseHoldInfo)) {
importVo.setProvidentHousehold(sysHouseHoldInfo.getName());
}
}
}
/**
* 批量派单派增处理
......@@ -2366,6 +2419,11 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
}
List<TDispatchImportVo> importVoList = new ArrayList<>();
importVoList.add(importVo);
// 当月创建的大于 限制日期的不派单 放在次月派单 本月之前的数据正常派单
if (null != pre.getDayLimit() && pre.getCreateTime().getDayOfMonth() > pre.getDayLimit().intValue() &&
LocalDateTime.now().getMonthValue() == pre.getCreateTime().getMonthValue()) {
errorMessageList.add(new ErrorMessage(i+1,"当月创建的大于限制日期的不派单,放在次月派单!"));
}
// 如果档案地市空 只能用缴纳地封装,如果缴纳地有问题直接返回
if (null == importVo.getFileCity()){
R<AreaVo> areaListR = upmsDaprUtils.getAreaListR();
......@@ -2383,7 +2441,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
// 处理派增结果
handleDispatchAddRes(pre, errorMessageList);
// 重新组装数据
resetMessageList(pre, errorMessageList, errorMsgList, i+1);
}
resetMessageList(pre, errorMessageList, errorMsgList, i+1);
}
}
......@@ -15,3 +15,14 @@ spring:
username: root
password: yf_zsk
url: jdbc:mysql://192.168.1.65:22306/mvp_social?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
\ No newline at end of file
......@@ -68,9 +68,6 @@
<result property="unitUnemploymentSet" column="UNIT_UNEMPLOYMENT_SET"/>
<result property="unitInjurySet" column="UNIT_INJURY_SET"/>
<result property="unitBirthSet" column="UNIT_BIRTH_SET"/>
<result property="personalPensionSet" column="PERSONAL_PENSION_SET"/>
<result property="personalMedicalSet" column="PERSONAL_MEDICAL_SET"/>
<result property="personalUnemploymentSet" column="PERSONAL_UNEMPLOYMENT_SET"/>
<result property="unitPensionPer" column="UNIT_PENSION_PER"/>
<result property="unitMedicalPer" column="UNIT_MEDICAL_PER"/>
<result property="unitUnemploymentPer" column="UNIT_UNEMPLOYMENT_PER"/>
......@@ -92,6 +89,8 @@
<result property="personalUnemploymentMoney" column="PERSONAL_UNEMPLOYMENT_MONEY"/>
<result property="personalBigmailmentMoney" column="PERSONAL_BIGMAILMENT_MONEY"/>
<result property="providentNo" column="PROVIDENT_NO"/>
<result property="salarySocialFlag" column="SALARY_SOCIAL_FLAG"/>
<result property="salaryFundFlag" column="SALARY_FUND_FLAG"/>
<result property="unitProvidentSet" column="UNIT_PROVIDENT_SET"/>
<result property="providentPercent" column="PROVIDENT_PERCENT"/>
<result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/>
......@@ -141,6 +140,8 @@
a.TELECOM_NUMBER,
a.SORT_TIME,
a.AGENT_ID,
a.SALARY_SOCIAL_FLAG,
a.SALARY_FUND_FLAG,
a.FINANCE_BILL_ID,
a.COMPANY_ACCRUAL,
a.PERSONAL_ACCRUAL,
......@@ -268,7 +269,7 @@
AND a.ID = #{tPaymentInfo.id}
</if>
<if test="tPaymentInfo.empName != null and tPaymentInfo.empName.trim() != ''">
AND a.EMP_NAME like CONCAT(#{tPaymentInfo.empName},'%')
AND a.EMP_NAME = #{tPaymentInfo.empName}
</if>
<if test="tPaymentInfo.empNo != null and tPaymentInfo.empNo.trim() != ''">
AND a.EMP_NO like CONCAT(#{tPaymentInfo.empNo},'%')
......@@ -277,7 +278,7 @@
AND a.EMP_ID = #{tPaymentInfo.empId}
</if>
<if test="tPaymentInfo.empIdcard != null and tPaymentInfo.empIdcard.trim() != ''">
AND a.EMP_IDCARD like CONCAT(#{tPaymentInfo.empIdcard},'%')
AND a.EMP_IDCARD = #{tPaymentInfo.empIdcard}
</if>
<if test="tPaymentInfo.unitId != null and tPaymentInfo.unitId.trim() != ''">
AND a.UNIT_ID = #{tPaymentInfo.unitId}
......@@ -286,7 +287,7 @@
AND a.SETTLE_DOMAIN_ID = #{tPaymentInfo.settleDomainId}
</if>
<if test="tPaymentInfo.socialHousehold != null and tPaymentInfo.socialHousehold.trim() != ''">
AND a.SOCIAL_HOUSEHOLD = #{tPaymentInfo.socialHousehold}
AND a.SOCIAL_HOUSEHOLD like CONCAT(#{tPaymentInfo.socialHousehold},'%')
</if>
<if test="tPaymentInfo.socialSecurityNo != null and tPaymentInfo.socialSecurityNo.trim() != ''">
AND a.SOCIAL_SECURITY_NO like CONCAT(#{tPaymentInfo.socialSecurityNo},'%')
......@@ -316,25 +317,16 @@
AND a.PROVIDENT_CREATE_MONTH = #{tPaymentInfo.providentCreateMonth}
</if>
<if test="tPaymentInfo.providentHousehold != null and tPaymentInfo.providentHousehold.trim() != ''">
AND a.PROVIDENT_HOUSEHOLD = #{tPaymentInfo.providentHousehold}
AND a.PROVIDENT_HOUSEHOLD like CONCAT(#{tPaymentInfo.providentHousehold},'%')
</if>
<if test="tPaymentInfo.providentPayAddr != null and tPaymentInfo.providentPayAddr.trim() != ''">
AND a.PROVIDENT_PAY_ADDR = #{tPaymentInfo.providentPayAddr}
</if>
<if test="tPaymentInfo.fundProvince != null and tPaymentInfo.fundProvince.trim() != ''">
AND a.FUND_PROVINCE = #{tPaymentInfo.fundProvince}
</if>
<if test="tPaymentInfo.fundCity != null and tPaymentInfo.fundCity.trim() != ''">
AND a.FUND_CITY = #{tPaymentInfo.fundCity}
</if>
<if test="tPaymentInfo.fundTown != null and tPaymentInfo.fundTown.trim() != ''">
AND a.FUND_TOWN = #{tPaymentInfo.fundTown}
</if>
<if test="tPaymentInfo.socialProvince != null and tPaymentInfo.socialProvince.trim() != ''">
AND a.SOCIAL_PROVINCE = #{tPaymentInfo.socialProvince}
AND (a.SOCIAL_PROVINCE = '${tPaymentInfo.socialProvince}' or a.FUND_PROVINCE = '${tPaymentInfo.socialProvince}')
</if>
<if test="tPaymentInfo.socialCity != null and tPaymentInfo.socialCity.trim() != ''">
AND a.SOCIAL_CITY = #{tPaymentInfo.socialCity}
AND (a.SOCIAL_CITY = '${tPaymentInfo.socialCity}' or a.FUND_CITY = '${tPaymentInfo.socialCity}')
</if>
<if test="tPaymentInfo.socialTown == null">
<if test="tPaymentInfo.socialCity != null">
......@@ -409,15 +401,6 @@
<if test="tPaymentInfo.unitBirthSet != null">
AND a.UNIT_BIRTH_SET = #{tPaymentInfo.unitBirthSet}
</if>
<if test="tPaymentInfo.personalPensionSet != null">
AND a.PERSONAL_PENSION_SET = #{tPaymentInfo.personalPensionSet}
</if>
<if test="tPaymentInfo.personalMedicalSet != null">
AND a.PERSONAL_MEDICAL_SET = #{tPaymentInfo.personalMedicalSet}
</if>
<if test="tPaymentInfo.personalUnemploymentSet != null">
AND a.PERSONAL_UNEMPLOYMENT_SET = #{tPaymentInfo.personalUnemploymentSet}
</if>
<if test="tPaymentInfo.unitPensionPer != null">
AND a.UNIT_PENSION_PER = #{tPaymentInfo.unitPensionPer}
</if>
......@@ -527,7 +510,7 @@
AND a.ID = #{tPaymentInfo.id}
</if>
<if test="tPaymentInfo.empName != null and tPaymentInfo.empName.trim() != ''">
AND a.EMP_NAME like CONCAT(#{tPaymentInfo.empName},'%')
AND a.EMP_NAME = #{tPaymentInfo.empName}
</if>
<if test="tPaymentInfo.empNo != null and tPaymentInfo.empNo.trim() != ''">
AND a.EMP_NO like CONCAT(#{tPaymentInfo.empNo},'%')
......@@ -536,7 +519,7 @@
AND a.EMP_ID = #{tPaymentInfo.empId}
</if>
<if test="tPaymentInfo.empIdcard != null and tPaymentInfo.empIdcard.trim() != ''">
AND a.EMP_IDCARD like CONCAT(#{tPaymentInfo.empIdcard},'%')
AND a.EMP_IDCARD = #{tPaymentInfo.empIdcard}
</if>
<if test="tPaymentInfo.unitId != null and tPaymentInfo.unitId.trim() != ''">
AND a.UNIT_ID = #{tPaymentInfo.unitId}
......@@ -545,7 +528,7 @@
AND a.SETTLE_DOMAIN_ID = #{tPaymentInfo.settleDomainId}
</if>
<if test="tPaymentInfo.socialHousehold != null and tPaymentInfo.socialHousehold.trim() != ''">
AND a.SOCIAL_HOUSEHOLD = #{tPaymentInfo.socialHousehold}
AND a.SOCIAL_HOUSEHOLD like CONCAT(#{tPaymentInfo.socialHousehold},'%')
</if>
<if test="tPaymentInfo.socialSecurityNo != null and tPaymentInfo.socialSecurityNo.trim() != ''">
AND a.SOCIAL_SECURITY_NO like CONCAT(#{tPaymentInfo.socialSecurityNo},'%')
......@@ -572,7 +555,7 @@
AND a.PROVIDENT_CREATE_MONTH = #{tPaymentInfo.providentCreateMonth}
</if>
<if test="tPaymentInfo.providentHousehold != null and tPaymentInfo.providentHousehold.trim() != ''">
AND a.PROVIDENT_HOUSEHOLD = #{tPaymentInfo.providentHousehold}
AND a.PROVIDENT_HOUSEHOLD like CONCAT(#{tPaymentInfo.providentHousehold},'%')
</if>
<if test="tPaymentInfo.providentPayAddr != null and tPaymentInfo.providentPayAddr.trim() != ''">
AND a.PROVIDENT_PAY_ADDR = #{tPaymentInfo.providentPayAddr}
......@@ -665,15 +648,6 @@
<if test="tPaymentInfo.unitBirthSet != null">
AND a.UNIT_BIRTH_SET = #{tPaymentInfo.unitBirthSet}
</if>
<if test="tPaymentInfo.personalPensionSet != null">
AND a.PERSONAL_PENSION_SET = #{tPaymentInfo.personalPensionSet}
</if>
<if test="tPaymentInfo.personalMedicalSet != null">
AND a.PERSONAL_MEDICAL_SET = #{tPaymentInfo.personalMedicalSet}
</if>
<if test="tPaymentInfo.personalUnemploymentSet != null">
AND a.PERSONAL_UNEMPLOYMENT_SET = #{tPaymentInfo.personalUnemploymentSet}
</if>
<if test="tPaymentInfo.unitPensionPer != null">
AND a.UNIT_PENSION_PER = #{tPaymentInfo.unitPensionPer}
</if>
......@@ -807,9 +781,6 @@
<result property="unitUnemploymentSet" column="UNIT_UNEMPLOYMENT_SET"/>
<result property="unitInjurySet" column="UNIT_INJURY_SET"/>
<result property="unitBirthSet" column="UNIT_BIRTH_SET"/>
<result property="personalPensionSet" column="PERSONAL_PENSION_SET"/>
<result property="personalMedicalSet" column="PERSONAL_MEDICAL_SET"/>
<result property="personalUnemploymentSet" column="PERSONAL_UNEMPLOYMENT_SET"/>
<result property="unitPensionPer" column="UNIT_PENSION_PER"/>
<result property="unitMedicalPer" column="UNIT_MEDICAL_PER"/>
<result property="unitUnemploymentPer" column="UNIT_UNEMPLOYMENT_PER"/>
......
......@@ -16,3 +16,14 @@ spring:
password: yf_zsk
#url: jdbc:mysql://127.0.0.1:3306/yifu_upms?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
url: jdbc:mysql://192.168.1.65:22306/yifu_upms?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
\ No newline at end of file
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