Commit ef20be85 authored by fangxinjiang's avatar fangxinjiang

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

parents 92f86cc7 658d41f0
...@@ -343,6 +343,9 @@ public class TEmployeeProject extends BaseEntity { ...@@ -343,6 +343,9 @@ public class TEmployeeProject extends BaseEntity {
@Schema(description = "社保-县") @Schema(description = "社保-县")
private Integer socialTown; private Integer socialTown;
@TableField(exist = false)
private String changeStartMonth;
/** /**
* 员工合同状态(字典) * 员工合同状态(字典)
*/ */
......
...@@ -36,6 +36,8 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; ...@@ -36,6 +36,8 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil; import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.MsgUtils; import com.yifu.cloud.plus.v1.yifu.common.core.util.MsgUtils;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
...@@ -61,6 +63,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -61,6 +63,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
private final TEmployeeLogServiceImpl tEmployeeLogService; private final TEmployeeLogServiceImpl tEmployeeLogService;
private final SocialDaprUtils socialDaprUtils;
public static final Pattern PATTERN = Pattern.compile("^[-\\+]?[\\d]*$"); public static final Pattern PATTERN = Pattern.compile("^[-\\+]?[\\d]*$");
/** /**
...@@ -78,11 +82,9 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -78,11 +82,9 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
if (Common.isNotNull(tEmployeeProject)) { if (Common.isNotNull(tEmployeeProject)) {
return R.failed("待划转员工已在目标项目下不可划转"); return R.failed("待划转员工已在目标项目下不可划转");
} }
//TODO
//划转+已产生未结算金额划转,并且选择了划转月份 //划转+已产生未结算金额划转,并且选择了划转月份
//社保公积金派单处需要直接修改为最新的项目 //社保公积金派单处需要直接修改为最新的项目
//社保预估库、缴费库、对比库、代理差额库,需要同步修改未结算(并且满足这个条件:数据 生成月≥此处划转起始月)的数据,已结算数据不变更; //社保预估库、缴费库、对比库、代理差额库,需要同步修改未结算(并且满足这个条件:数据 生成月≥此处划转起始月)的数据,已结算数据不变更;
//划转,更新项目信息 //划转,更新项目信息
TEmployeeProject updateTEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda() TEmployeeProject updateTEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpIdcard, tEmpChangeInfo.getEmpIdcard()).eq(TEmployeeProject::getDeptName,tEmpChangeInfo.getOldSettle()) .eq(TEmployeeProject::getEmpIdcard, tEmpChangeInfo.getEmpIdcard()).eq(TEmployeeProject::getDeptName,tEmpChangeInfo.getOldSettle())
...@@ -111,7 +113,27 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -111,7 +113,27 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
tEmpChangeInfo.setProId(updateTEmployeeProject.getId()); tEmpChangeInfo.setProId(updateTEmployeeProject.getId());
// 记录变更日志 // 记录变更日志
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", updateTEmployeeProject.getId(), tEmployeeProjectOld, updateTEmployeeProject); tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", updateTEmployeeProject.getId(), tEmployeeProjectOld, updateTEmployeeProject);
UpdateSocialFoundVo updateSocialFoundVo = new UpdateSocialFoundVo();
updateSocialFoundVo.setEmpIdcard(tEmpChangeInfo.getEmpIdcard());
updateSocialFoundVo.setSettleDomainCode(tEmpChangeInfo.getDeptNo());
updateSocialFoundVo.setSettleDomainId(tEmpChangeInfo.getDeptId());
updateSocialFoundVo.setUnitId(tEmpChangeInfo.getUnitId());
updateSocialFoundVo.setUnitName(tEmpChangeInfo.getNewDept());
updateSocialFoundVo.setSocialCreateMonth(tEmpChangeInfo.getChangeStartMonth());
socialDaprUtils.updatePaymentSocialAndFound(updateSocialFoundVo);
socialDaprUtils.updateForSocialAndFound(updateSocialFoundVo);
if (!CommonConstants.ZERO_STRING.equals(updateTEmployeeProject.getSocialStatus())) {
updateSocialFoundVo.setFlag(CommonConstants.ZERO_STRING);
socialDaprUtils.updateSocialAndFoundInfo(updateSocialFoundVo);
}
if (!CommonConstants.ZERO_STRING.equals(updateTEmployeeProject.getFundStatus())) {
updateSocialFoundVo.setFlag(CommonConstants.ONE_STRING);
socialDaprUtils.updateSocialAndFoundInfo(updateSocialFoundVo);
}
} }
//保存档案划转记录 //保存档案划转记录
this.save(tEmpChangeInfo); this.save(tEmpChangeInfo);
return R.ok(); return R.ok();
...@@ -197,6 +219,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -197,6 +219,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
updateTEmployeePro.setUnitNo(tCustomerInfo.getCustomerCode()); updateTEmployeePro.setUnitNo(tCustomerInfo.getCustomerCode());
updateTEmployeePro.setUnitName(tCustomerInfo.getCustomerName()); updateTEmployeePro.setUnitName(tCustomerInfo.getCustomerName());
} }
updateTEmployeePro.setChangeStartMonth(excel.getChangeStartMonth());
updateList.add(updateTEmployeePro); updateList.add(updateTEmployeePro);
// 记录变更日志 // 记录变更日志
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", tEmployeeProjectOld.getId(), tEmployeeProjectOld, updateTEmployeePro); tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", tEmployeeProjectOld.getId(), tEmployeeProjectOld, updateTEmployeePro);
...@@ -214,6 +237,25 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper, ...@@ -214,6 +237,25 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
return R.failed(errorMessageList); return R.failed(errorMessageList);
} else { } else {
tEmployeeProjectService.updateBatchById(updateList); tEmployeeProjectService.updateBatchById(updateList);
for (TEmployeeProject tEmployeeProject: updateList) {
UpdateSocialFoundVo updateSocialFoundVo = new UpdateSocialFoundVo();
updateSocialFoundVo.setEmpIdcard(tEmployeeProject.getEmpIdcard());
updateSocialFoundVo.setSettleDomainCode(tEmployeeProject.getDeptNo());
updateSocialFoundVo.setSettleDomainId(tEmployeeProject.getDeptId());
updateSocialFoundVo.setUnitId(tEmployeeProject.getUnitId());
updateSocialFoundVo.setUnitName(tEmployeeProject.getUnitName());
updateSocialFoundVo.setSocialCreateMonth(tEmployeeProject.getChangeStartMonth());
socialDaprUtils.updatePaymentSocialAndFound(updateSocialFoundVo);
socialDaprUtils.updateForSocialAndFound(updateSocialFoundVo);
if (!CommonConstants.ZERO_STRING.equals(tEmployeeProject.getSocialStatus())) {
updateSocialFoundVo.setFlag(CommonConstants.ZERO_STRING);
socialDaprUtils.updateSocialAndFoundInfo(updateSocialFoundVo);
}
if (!CommonConstants.ZERO_STRING.equals(tEmployeeProject.getFundStatus())) {
updateSocialFoundVo.setFlag(CommonConstants.ONE_STRING);
socialDaprUtils.updateSocialAndFoundInfo(updateSocialFoundVo);
}
}
} }
return R.ok(); return R.ok();
} }
......
...@@ -33,7 +33,6 @@ public class IdCardUtil { ...@@ -33,7 +33,6 @@ public class IdCardUtil {
/** /**
* 根据身份证号计算周岁 * 根据身份证号计算周岁
* 例如:当前时间是2022-08-22,那么2007-08-22算15周岁,2007-08-23才算16周岁
* *
* @author licancan * @author licancan
* @param idNO * @param idNO
...@@ -58,11 +57,12 @@ public class IdCardUtil { ...@@ -58,11 +57,12 @@ public class IdCardUtil {
int yearBirth = bir.get(Calendar.YEAR); int yearBirth = bir.get(Calendar.YEAR);
int monthBirth = bir.get(Calendar.MONTH); int monthBirth = bir.get(Calendar.MONTH);
int dayBirth = bir.get(Calendar.DAY_OF_MONTH); int dayBirth = bir.get(Calendar.DAY_OF_MONTH);
// 大概年龄是当前年减去出生年 int age;
int age = yearNow - yearBirth; // 如果当前月大于出生月,或者当前月等于出生月但是当前日大于出生日 直接减,否则再减1
// 如果出当前月大于出生月,或者当前月等于出生月但是当前日大于出生日,那么年龄age就加一岁 if ((monthBirth < monthNow) || (monthBirth == monthNow && dayBirth < dayNow)) {
if (monthNow > monthBirth || (monthNow == monthBirth && dayNow > dayBirth)) { age = yearNow - yearBirth;
age++; } else {
age = yearNow - yearBirth - 1;
} }
return age; return age;
} }
......
...@@ -7,6 +7,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R; ...@@ -7,6 +7,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSocialProperties; import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSocialProperties;
import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
...@@ -43,4 +44,37 @@ public class SocialDaprUtils { ...@@ -43,4 +44,37 @@ public class SocialDaprUtils {
} }
return noSocialVoR; return noSocialVoR;
} }
/**
* @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在
* @Date 17:38 2022/8/15
* @Param
* @return
**/
public void updatePaymentSocialAndFound(UpdateSocialFoundVo infoVo) {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tpaymentinfo/inner/updatePaymentSocialAndFound", JSON.toJSONString(infoVo), UpdateSocialFoundVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在
* @Date 17:38 2022/8/15
* @Param
* @return
**/
public void updateForSocialAndFound(UpdateSocialFoundVo infoVo) {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tpaymentinfo/inner/updateForSocialAndFound", JSON.toJSONString(infoVo), UpdateSocialFoundVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在
* @Date 17:38 2022/8/15
* @Param
* @return
**/
public void updateSocialAndFoundInfo(UpdateSocialFoundVo infoVo) {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialfundinfo/inner/updateSocialAndFoundInfo", JSON.toJSONString(infoVo), UpdateSocialFoundVo.class, SecurityConstants.FROM_IN);
}
} }
...@@ -23,8 +23,10 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -23,8 +23,10 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute; import com.yifu.cloud.plus.v1.yifu.common.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.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
...@@ -40,8 +42,9 @@ import java.util.List; ...@@ -40,8 +42,9 @@ import java.util.List;
*/ */
@Data @Data
@TableName("t_salary_account") @TableName("t_salary_account")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "工资报账主表(工资条)") @Schema(description = "工资报账主表(工资条)")
public class TSalaryAccount { public class TSalaryAccount extends BaseEntity {
/** /**
* 主键 * 主键
......
...@@ -46,7 +46,6 @@ public class TStatisticsDeclarer { ...@@ -46,7 +46,6 @@ public class TStatisticsDeclarer {
* ID * ID
*/ */
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("ID")
private String id; private String id;
/** /**
* 申报单位 * 申报单位
...@@ -84,13 +83,6 @@ public class TStatisticsDeclarer { ...@@ -84,13 +83,6 @@ public class TStatisticsDeclarer {
@Length(max = 11, message = "手机号码不能超过11个字符") @Length(max = 11, message = "手机号码不能超过11个字符")
@ExcelProperty("手机号码") @ExcelProperty("手机号码")
private String empPhone; private String empPhone;
/**
* 人员状态
*/
@ExcelAttribute(name = "人员状态", maxLength = 2,readConverterExp = "0=在职,1=离职")
@Length(max = 2, message = "人员状态不能超过2个字符")
@ExcelProperty("人员状态")
private String empStatus;
/** /**
* 任职受雇从业类型 * 任职受雇从业类型
*/ */
......
...@@ -33,7 +33,7 @@ import java.math.BigDecimal; ...@@ -33,7 +33,7 @@ import java.math.BigDecimal;
* @date 2022-08-14 21:31:15 * @date 2022-08-14 21:31:15
*/ */
@Data @Data
public class TStatisticsBonusImportVo extends RowIndex implements Serializable { public class TStatisticsBonusImportVo implements Serializable {
/** /**
* 员工姓名 * 员工姓名
...@@ -107,6 +107,13 @@ public class TStatisticsBonusImportVo extends RowIndex implements Serializable { ...@@ -107,6 +107,13 @@ public class TStatisticsBonusImportVo extends RowIndex implements Serializable {
@Schema(description = "最优方案-12月扣税") @Schema(description = "最优方案-12月扣税")
@ExcelProperty("最优方案-12月扣税") @ExcelProperty("最优方案-12月扣税")
private BigDecimal bestPlanTax; private BigDecimal bestPlanTax;
/**
* 12月份应纳税所得额扣除费用
*/
@ExcelAttribute(name = "12月份应纳税所得额扣除费用")
@Schema(description = "12月份应纳税所得额扣除费用")
@ExcelProperty("12月份应纳税所得额扣除费用")
private BigDecimal deductTaxSalary;
} }
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import lombok.Data;
/**
* @Author huyc
* @Date 2022/8/25
* @Description
* @Version 1.0
*/
@Data
public class UpdateSocialFoundVo {
private String empIdcard;
private String unitName;
private String unitId;
private String settleDomainId;
private String settleDomainName;
private String settleDomainCode;
private String socialCreateMonth;
private String flag;
}
...@@ -82,13 +82,12 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> { ...@@ -82,13 +82,12 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
@Param("month3")String month3); @Param("month3")String month3);
/** /**
* @param settleId
* @Description: 薪资类型互斥校验 获取本年度身份证号列表 * @Description: 薪资类型互斥校验 获取本年度身份证号列表
* @Author: huyc * @Author: huyc
* @Date: 2022/8/18 * @Date: 2022/8/18
* @return: * @return:
**/ **/
List<String> getAccountYearCheckList(@Param("settleId") String settleId); List<String> getAccountYearCheckList();
List<TSalaryAccount> noPageDiy(@Param("searchVo") TSalaryAccountSearchVo searchVo, List<TSalaryAccount> noPageDiy(@Param("searchVo") TSalaryAccountSearchVo searchVo,
@Param("idList")List<String> idList); @Param("idList")List<String> idList);
......
...@@ -80,11 +80,10 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> { ...@@ -80,11 +80,10 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
List<THaveSalaryNosocial> getLastMonthTHaveSalaryNosocial(String month); List<THaveSalaryNosocial> getLastMonthTHaveSalaryNosocial(String month);
/** /**
* @param settleId
* @Description: 薪资类型互斥校验 获取本年度身份证号列表 * @Description: 薪资类型互斥校验 获取本年度身份证号列表
* @Author: huyc * @Author: huyc
* @Date: 2022/8/18 * @Date: 2022/8/18
* @return: * @return:
**/ **/
List<String> getAccountYearCheckMap(String settleId); List<String> getAccountYearCheckMap();
} }
...@@ -187,7 +187,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -187,7 +187,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
// 劳务费和稿酬 薪资类型互斥校验Map格式:本年度#身份证号 // 劳务费和稿酬 薪资类型互斥校验Map格式:本年度#身份证号
if (CommonConstants.THREE_STRING.equals(salaryType) || CommonConstants.FOUR_STRING.equals(salaryType)) { if (CommonConstants.THREE_STRING.equals(salaryType) || CommonConstants.FOUR_STRING.equals(salaryType)) {
if (Common.isNotNull(configSalary)) { if (Common.isNotNull(configSalary)) {
checkListY = tSalaryAccountService.getAccountYearCheckMap(dept.getId()); checkListY = tSalaryAccountService.getAccountYearCheckMap();
} }
} }
...@@ -772,6 +772,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -772,6 +772,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
SalaryConstants.ACTUAL_SALARY_SUM_JAVA, SalaryConstants.ACTUAL_SALARY_SUM_JAVA,
calculation(a, relaySalary, saiList), CommonConstants.ZERO_INT); calculation(a, relaySalary, saiList), CommonConstants.ZERO_INT);
} }
if (relaySalary.compareTo(BigDecimal.ZERO) <=0) {
relaySalary = a.getRelaySalary();
}
//计算个人社保、公积金欠款————工资不够扣缴社保的 //计算个人社保、公积金欠款————工资不够扣缴社保的
if (relaySalary.compareTo(personalDebt) == SalaryConstants.LESS_THAN) { if (relaySalary.compareTo(personalDebt) == SalaryConstants.LESS_THAN) {
this.saveNewItems(sai, saiList, SalaryConstants.PERSONAL_DEBT, this.saveNewItems(sai, saiList, SalaryConstants.PERSONAL_DEBT,
...@@ -1964,9 +1967,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -1964,9 +1967,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
nowTaxT = getNowTaxRemu(actualSalarySumNow); nowTaxT = getNowTaxRemu(actualSalarySumNow);
relaySalary = BigDecimalUtils.safeAdd(actualSalarySumNow, nowTaxT).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP); relaySalary = BigDecimalUtils.safeAdd(actualSalarySumNow, nowTaxT).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP);
a.setSalaryTaxUnit(nowTaxT); a.setSalaryTax(nowTaxT);
a.setActualSalary(actualSalarySumNow); a.setActualSalary(relaySalary);
a.setRelaySalaryUnit(relaySalary); a.setRelaySalaryUnit(actualSalarySumNow);
a.setRelaySalary(actualSalarySumNow); a.setRelaySalary(actualSalarySumNow);
if (sumTax.compareTo(BigDecimal.ZERO) != 0) { if (sumTax.compareTo(BigDecimal.ZERO) != 0) {
nowTaxT = BigDecimalUtils.safeSubtract(nowTaxT, sumTax).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP); nowTaxT = BigDecimalUtils.safeSubtract(nowTaxT, sumTax).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP);
...@@ -1976,7 +1979,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -1976,7 +1979,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
sai.setCnName(SalaryConstants.RELAY_SALARY); sai.setCnName(SalaryConstants.RELAY_SALARY);
sai.setJavaFiedName(SalaryConstants.RELAY_SALARY_JAVA); sai.setJavaFiedName(SalaryConstants.RELAY_SALARY_JAVA);
sai.setIsTax(CommonConstants.ZERO_INT); sai.setIsTax(CommonConstants.ZERO_INT);
sai.setSalaryMoney(relaySalary); sai.setSalaryMoney(actualSalarySumNow);
saiList.add(sai); saiList.add(sai);
return nowTaxT; return nowTaxT;
} }
......
...@@ -197,7 +197,7 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper, ...@@ -197,7 +197,7 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
} }
@Override @Override
public List<String> getAccountYearCheckMap(String settleId) { public List<String> getAccountYearCheckMap() {
return baseMapper.getAccountYearCheckList(settleId); return baseMapper.getAccountYearCheckList();
} }
} }
...@@ -292,6 +292,22 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe ...@@ -292,6 +292,22 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
return SalaryConstants.CHECK_NO_RESPONSE; return SalaryConstants.CHECK_NO_RESPONSE;
} }
} }
// if (Common.isNotNull(employee.getBankNo())) {
// // 调用校验服务
// TCheckBankNo checkIdCard = new TCheckBankNo();
// checkIdCard.setName(employee.getEmpName());
// checkIdCard.setBankNo(employee.getBankNo());
// R<TCheckBankNo> checkListR = HttpDaprUtil.invokeMethodPost(checkProperties.getAppUrl(), checkProperties.getAppId()
// , "/tcheckbankno/inner/checkBankNo", checkIdCard, TCheckBankNo.class, SecurityConstants.FROM_IN);
// if (checkListR != null && checkListR.getData() != null) {
// TCheckBankNo check = checkListR.getData();
// if (!CommonConstants.ONE_STRING.equals(check.getResult())) {
// return check.getMessage();
// }
// } else {
// return "校验服务未找到银行卡,请联系管理员";
// }
// }
// 手机号 // 手机号
if (Common.isNotNull(employee.getEmpPhone())) { if (Common.isNotNull(employee.getEmpPhone())) {
// 调用校验服务-校验手机号 // 调用校验服务-校验手机号
......
...@@ -16,39 +16,44 @@ ...@@ -16,39 +16,44 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.salary.service.impl; package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprArchivesProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
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.TSalaryTaxConfig;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsBonus; import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsBonus;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsBonusMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsBonusMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryTaxConfigService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsBonusService; import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsBonusService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusImportVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusImportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusSearchVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.math.BigDecimal;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -60,7 +65,15 @@ import java.util.stream.Collectors; ...@@ -60,7 +65,15 @@ import java.util.stream.Collectors;
@Log4j2 @Log4j2
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@EnableConfigurationProperties(DaprArchivesProperties.class)
public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMapper, TStatisticsBonus> implements TStatisticsBonusService { public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMapper, TStatisticsBonus> implements TStatisticsBonusService {
private final TSalaryTaxConfigService tSalaryTaxConfigService;
private final DaprArchivesProperties archivesProperties;
private final TSalaryAccountItemService tSalaryAccountItemService;
/** /**
* 全年一次性奖金申报表简单分页查询 * 全年一次性奖金申报表简单分页查询
* @param tStatisticsBonus 全年一次性奖金申报表 * @param tStatisticsBonus 全年一次性奖金申报表
...@@ -144,16 +157,242 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap ...@@ -144,16 +157,242 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
public void importDiy(HttpServletResponse response, List<TStatisticsBonusImportVo> list, String deptId){ public void importDiy(HttpServletResponse response, List<TStatisticsBonusImportVo> list, String deptId){
String fileName = "全年一次性奖金测算导出" + DateUtil.getThisTime() + ".xlsx"; String fileName = "全年一次性奖金测算导出" + DateUtil.getThisTime() + ".xlsx";
ServletOutputStream out = null; ServletOutputStream out = null;
//本次纳税额
BigDecimal res;
//应发工资合计
BigDecimal ySalary;
//未发薪资(年终奖和12月工资未发薪资)
BigDecimal wSalary;
//薪资扣除额合计
BigDecimal sumDeductSalary;
//专项扣除汇总金额
BigDecimal sdSum;
//薪资扣税合计
BigDecimal sumTax;
//工资下限
BigDecimal minSalary;
BigDecimal isTax;
//减除费用
BigDecimal costReduction;
//年终奖上限
BigDecimal maxAnualSalary;
//年终奖单独扣税12月税费
BigDecimal finalSalaryNoSalary;
//年终奖合并扣税12月税费
BigDecimal finalSalaryWithSalary;
try { try {
out = response.getOutputStream(); out = response.getOutputStream();
response.setContentType(CommonConstants.MULTIPART_FORM_DATA); response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName , "UTF-8")); response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName , "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭 // 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, TStatisticsBonus.class).build(); ExcelWriter excelWriter = EasyExcel.write(out, TStatisticsBonusImportVo.class).build();
int index = 0; int index = 0;
//个税配置
List<TSalaryTaxConfig> personTax = tSalaryTaxConfigService.getTaxConfigByPersonList(new TSalaryTaxConfig());
//年终奖配置
List<TSalaryTaxConfig> annousTax = tSalaryTaxConfigService.getTaxConfigByAnnualBonusList(new TSalaryTaxConfig());
R<TSettleDomainSelectVo> sdr = HttpDaprUtil.invokeMethodPost(archivesProperties.getAppUrl(), archivesProperties.getAppId()
, "/tsettledomain/inner/getSettleDomainVoById", deptId, TSettleDomainSelectVo.class, SecurityConstants.FROM_IN);
// 结算主体
String invoiceTitle = "";
TSettleDomainSelectVo dept = null;
if (sdr != null && sdr.getData() != null) {
dept = sdr.getData();
}
if (dept == null || dept.getId() == null) {
invoiceTitle = dept.getBusinessSubjectName();
}
if (list.size() > CommonConstants.ZERO_INT){ if (list.size() > CommonConstants.ZERO_INT){
List<String> idCardList = new ArrayList<>();
for (TStatisticsBonusImportVo vo : list) {
if (Common.isNotNull(vo.getEmpIdcard())) {
idCardList.add(vo.getEmpIdcard());
}
}
Map<String, List<TSalaryAccountItem>> itemMap = tSalaryAccountItemService.getAllItemVoList(idCardList, invoiceTitle);
for (TStatisticsBonusImportVo infoVo: list) {
//本次纳税额
res = BigDecimal.ZERO;
//应发工资合计
ySalary = BigDecimal.ZERO;
//未发薪资(年终奖和12月工资未发薪资)
wSalary = BigDecimal.ZERO;
//薪资扣除额合计
sumDeductSalary = BigDecimal.ZERO;
//专项扣除汇总金额
sdSum = BigDecimal.ZERO;
//薪资扣税合计
sumTax = BigDecimal.ZERO;
minSalary = BigDecimal.ZERO;
maxAnualSalary = BigDecimal.ZERO;
costReduction = BigDecimal.ZERO;
isTax = BigDecimal.ZERO;
//12月是否发薪
Boolean isSend = false;
//年终奖单独扣税12月税费
finalSalaryNoSalary = BigDecimal.ZERO;
//年终奖合并扣税12月税费
finalSalaryWithSalary = BigDecimal.ZERO;
//12月份应纳税所得额扣除费用
BigDecimal deductTaxSalary = infoVo.getDeductTaxSalary();
List<BigDecimal> sdSumList = new ArrayList<>();
List<TSalaryAccountItem> list1 = itemMap.get(infoVo.getEmpIdcard());
if (Common.isNotNull(list1)) {
for (TSalaryAccountItem item: list1) {
if (SalaryConstants.SPECIAL_DEDU_MONEY_SUM_JAVA.equals(item.getJavaFiedName())) {
sdSumList.add(item.getSalaryMoney());
}
if (SalaryConstants.RELAY_SALARY_JAVA.equals(item.getJavaFiedName())) {
ySalary.add(item.getSalaryMoney());
}
if (SalaryConstants.SALARY_TAX_JAVA.equals(item.getJavaFiedName())) {
sumTax = sumTax.add(item.getSalaryMoney());
}
//减除费用
if (SalaryConstants.COST_REDUCTION_JAVA.equals(item.getJavaFiedName())) {
costReduction = costReduction.add(item.getSalaryMoney());
}
if (CommonConstants.ONE_INT == item.getIsTax()) {
isTax = isTax.add(item.getSalaryMoney());
}
}
}
if (CommonConstants.IS_TRUE.equals(infoVo.getIsTSend())) {
isSend = true;
}
if (Common.isNotNull(sdSumList)) {
sdSum = Collections.max(sdSumList);
}
sumDeductSalary = BigDecimalUtils.safeAdd(sdSum,isTax,costReduction);
//年终奖单独扣税
finalSalaryNoSalary = calculationSalary(annousTax,infoVo.getAnnualBonus());
//年终奖合并扣税
if (isSend) {
finalSalaryWithSalary = finalSalaryNoSalary;
} else {
finalSalaryWithSalary = calculationSalary(annousTax, BigDecimalUtils.safeAdd(infoVo.getAnnualBonus(),
infoVo.getAnnualTSalary()));
}
if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("36000")) <= 0) {
if (wSalary.compareTo(new BigDecimal("36000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("36000"));
maxAnualSalary = new BigDecimal("36000");
}
} else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("72000")) <= 0) {
if (wSalary.compareTo(new BigDecimal("36000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("36000"));
maxAnualSalary = new BigDecimal("36000");
}
}else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("203100")) <= 0) {
if (wSalary.compareTo(new BigDecimal("36000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("36000"));
maxAnualSalary = new BigDecimal("36000");
}
}else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("288000")) <= 0) {
if (wSalary.compareTo(new BigDecimal("144000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("144000"));
maxAnualSalary = new BigDecimal("144000");
}
}else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("672000")) <= 0) {
if (wSalary.compareTo(new BigDecimal("144000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("36000"));
maxAnualSalary = new BigDecimal("36000");
}
}else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("1277500")) <= 0) {
if (wSalary.compareTo(new BigDecimal("300000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("300000"));
maxAnualSalary = new BigDecimal("300000");
}
}else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("1452500")) <= 0) {
if (wSalary.compareTo(new BigDecimal("420000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("420000"));
maxAnualSalary = new BigDecimal("420000");
}
}else if (BigDecimalUtils.safeSubtract(BigDecimalUtils.safeAdd(ySalary, wSalary), sumDeductSalary).
compareTo(new BigDecimal("1452500")) > 0) {
if (wSalary.compareTo(new BigDecimal("660000")) <= 0) {
if (isSend) {
maxAnualSalary = wSalary;
} else {
minSalary = deductTaxSalary;
maxAnualSalary = BigDecimalUtils.safeSubtract(wSalary,deductTaxSalary);
}
}else {
minSalary = BigDecimalUtils.safeSubtract(wSalary,new BigDecimal("660000"));
maxAnualSalary = new BigDecimal("660000");
}
}
JSONObject jsonObject = calculationPersonSalary(personTax, annousTax,minSalary, maxAnualSalary, wSalary, sumTax);
res = jsonObject.getBigDecimal("zySalary");
Map<String,BigDecimal> map = jsonObject.getObject("anRes",Map.class);
infoVo.setBestPlanTax(res);
infoVo.setAnnualATax(finalSalaryNoSalary);
infoVo.setAnnualSTax(finalSalaryWithSalary);
infoVo.setBestPlanTSalary(map.get(res.toString()));
infoVo.setBestPlanBonus(BigDecimalUtils.safeSubtract(wSalary,map.get(res.toString())));
}
}else { }else {
WriteSheet writeSheet = EasyExcel.writerSheet("全年一次性奖金测算"+index).build(); WriteSheet writeSheet = EasyExcel.writerSheet("全年一次性奖金测算"+index).build();
excelWriter.write(list,writeSheet); excelWriter.write(list,writeSheet);
...@@ -176,6 +415,97 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap ...@@ -176,6 +415,97 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
} }
} }
/**
* @param personTax 薪资扣税阶梯表list
* @param annousTax 年终奖扣税阶梯表list
* @param minSalary 工资下限
* @param maxAnualSalary 年终奖上限
* @param wSalary 未发金额
* @param sumTax 薪资扣税合计
* @Description: 计算薪资扣税-个税
* @Author: huyc
* @Date: 2022/8/23
* @return: java.math.BigDecimal
**/
private static JSONObject calculationPersonSalary(List<TSalaryTaxConfig> personTax, List<TSalaryTaxConfig> annousTax,
BigDecimal minSalary, BigDecimal maxAnualSalary,
BigDecimal wSalary, BigDecimal sumTax) {
JSONObject jsonObject = new JSONObject();
BigDecimal anRes;
List<BigDecimal> zySalary = new ArrayList<>();
Map<String,BigDecimal> map = new HashMap<>();
for (BigDecimal i = minSalary; i.compareTo(maxAnualSalary) <= 0; BigDecimalUtils.safeAdd(i,new BigDecimal(100)) ) {
//本次薪资纳税额
BigDecimal res = BigDecimal.ZERO;
//本次年终奖纳税额
anRes = BigDecimal.ZERO;;
//年终奖金额
BigDecimal annous = BigDecimalUtils.safeSubtract(wSalary,i);
//计算个税
for (TSalaryTaxConfig sub : personTax) {
if (i.compareTo(sub.getMinIncome()) == SalaryConstants.MORE_THAN
&& i.compareTo(sub.getMaxIncome()) != SalaryConstants.MORE_THAN) {
//i = realDeduSalary * ((double) ((i.getTaxRate() * 1.0) / 100)) - sumTax - sub.getQuick();
res = i.multiply(new BigDecimal(sub.getWithholdingRate()).divide(
SalaryConstants.B_ONEHUNDRED, SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP))
.subtract(sumTax).subtract(sub.getQuickDeducation());// 应纳税额
break;
}
}
//计算年终奖税
//年终奖
if (annous != null && annous.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.MORE_THAN
&& annousTax != null && annousTax.size() > CommonConstants.ZERO_INT) {
BigDecimal month = annous.divide(SalaryConstants.B_TWELVE, SalaryConstants.TAX_FEE_PLACES, BigDecimal.ROUND_HALF_UP);
// 应纳税额
for (TSalaryTaxConfig sub : annousTax) {
if (month.compareTo(sub.getMinIncome()) == SalaryConstants.MORE_THAN
&& month.compareTo(sub.getMaxIncome()) != SalaryConstants.MORE_THAN) {
anRes = annous.multiply(new BigDecimal(sub.getWithholdingRate()).divide(
SalaryConstants.B_ONEHUNDRED, SalaryConstants.TAX_FEE_PLACES, BigDecimal.ROUND_HALF_UP))
.subtract(sub.getQuickDeducation());
break;
}
}
}
zySalary.add(BigDecimalUtils.safeAdd(res,anRes));
map.put(BigDecimalUtils.safeAdd(res,anRes).toString(),i);
}
jsonObject.put("anRes",map);
jsonObject.put("zySalary",Collections.max(zySalary));
return jsonObject;
}
/**
* @param annousTax 年终奖扣税阶梯表list
* @param annualSalary 年终奖
* @Description: 计算薪资扣税-个税
* @Author: huyc
* @Date: 2022/8/23
* @return: java.math.BigDecimal
**/
private static BigDecimal calculationSalary(List<TSalaryTaxConfig> annousTax, BigDecimal annualSalary) {
//本次年终奖纳税额
BigDecimal anRes = BigDecimal.ZERO;
//计算年终奖税
//年终奖
if (annualSalary != null && annualSalary.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.MORE_THAN
&& annousTax != null && annousTax.size() > CommonConstants.ZERO_INT) {
BigDecimal month = annualSalary.divide(SalaryConstants.B_TWELVE, SalaryConstants.TAX_FEE_PLACES, BigDecimal.ROUND_HALF_UP);
// 应纳税额
for (TSalaryTaxConfig sub : annousTax) {
if (month.compareTo(sub.getMinIncome()) == SalaryConstants.MORE_THAN
&& month.compareTo(sub.getMaxIncome()) != SalaryConstants.MORE_THAN) {
anRes = annualSalary.multiply(new BigDecimal(sub.getWithholdingRate()).divide(
SalaryConstants.B_ONEHUNDRED, SalaryConstants.TAX_FEE_PLACES, BigDecimal.ROUND_HALF_UP))
.subtract(sub.getQuickDeducation());
break;
}
}
}
return anRes;
}
@Override @Override
public List<TStatisticsBonus> noPageDiy(TStatisticsBonusSearchVo searchVo) { public List<TStatisticsBonus> noPageDiy(TStatisticsBonusSearchVo searchVo) {
LambdaQueryWrapper<TStatisticsBonus> wrapper = buildQueryWrapper(searchVo); LambdaQueryWrapper<TStatisticsBonus> wrapper = buildQueryWrapper(searchVo);
......
...@@ -29,14 +29,20 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -29,14 +29,20 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprArchivesProperties;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer; import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsDeclarerMapper; import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsDeclarerMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsDeclarerService; import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsDeclarerService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsDeclarerSearchVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsDeclarerSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsDeclarerVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsDeclarerVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
...@@ -54,7 +60,12 @@ import java.util.List; ...@@ -54,7 +60,12 @@ import java.util.List;
*/ */
@Log4j2 @Log4j2
@Service @Service
@EnableConfigurationProperties(DaprArchivesProperties.class)
public class TStatisticsDeclarerServiceImpl extends ServiceImpl<TStatisticsDeclarerMapper, TStatisticsDeclarer> implements TStatisticsDeclarerService { public class TStatisticsDeclarerServiceImpl extends ServiceImpl<TStatisticsDeclarerMapper, TStatisticsDeclarer> implements TStatisticsDeclarerService {
@Autowired
private DaprArchivesProperties archivesProperties;
/** /**
* 申报对象表简单分页查询 * 申报对象表简单分页查询
* @param tStatisticsDeclarer 申报对象表 * @param tStatisticsDeclarer 申报对象表
...@@ -175,6 +186,18 @@ public class TStatisticsDeclarerServiceImpl extends ServiceImpl<TStatisticsDecla ...@@ -175,6 +186,18 @@ public class TStatisticsDeclarerServiceImpl extends ServiceImpl<TStatisticsDecla
String lastYear = lastMonth.substring(0,4); String lastYear = lastMonth.substring(0,4);
List<TStatisticsDeclarer> stdvoList = baseMapper.doStatisticsTaxDeclarer(nowMonth,lastYear); List<TStatisticsDeclarer> stdvoList = baseMapper.doStatisticsTaxDeclarer(nowMonth,lastYear);
for (TStatisticsDeclarer declarer : stdvoList) { for (TStatisticsDeclarer declarer : stdvoList) {
if (Common.isNotNull(declarer.getDeclareUnit())) {
R<TSettleDomainSelectVo> sdr = HttpDaprUtil.invokeMethodPost(archivesProperties.getAppUrl(), archivesProperties.getAppId()
, "/tsettledomain/inner/getSettleDomainVoById", declarer.getDeclareUnit(), TSettleDomainSelectVo.class, SecurityConstants.FROM_IN);
// 结算主体
TSettleDomainSelectVo dept = null;
if (sdr != null && sdr.getData() != null) {
dept = sdr.getData();
}
if (Common.isNotNull(dept)) {
declarer.setDeclareUnit(dept.getBusinessSubjectName());
}
}
this.save(declarer); this.save(declarer);
} }
return R.ok(); return R.ok();
......
...@@ -254,6 +254,11 @@ public class SalaryAccountUtil implements Serializable { ...@@ -254,6 +254,11 @@ public class SalaryAccountUtil implements Serializable {
cellValueBig = new BigDecimal(cellValueStr); cellValueBig = new BigDecimal(cellValueStr);
cellValueBig = cellValueBig.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入 cellValueBig = cellValueBig.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入
if (cellValueBig.toString().length() > 11) { if (cellValueBig.toString().length() > 11) {
if (cellValueBig.toString().length() > 500) {
errorFlag = false;
errorList.add(new ErrorMessage((i + 2), "文本超长!"));
continue;
}
sai.setTextValue(cellValueBig.toString()); sai.setTextValue(cellValueBig.toString());
} else { } else {
sai.setSalaryMoney(cellValueBig); sai.setSalaryMoney(cellValueBig);
......
...@@ -67,6 +67,11 @@ ...@@ -67,6 +67,11 @@
<result property="salaryTaxUnit" column="SALARY_TAX_UNIT"/> <result property="salaryTaxUnit" column="SALARY_TAX_UNIT"/>
<result property="haveSalaryFlag" column="HAVE_SALARY_FLAG"/> <result property="haveSalaryFlag" column="HAVE_SALARY_FLAG"/>
<result property="haveSpecialFlag" column="HAVE_SPECIAL_FLAG"/> <result property="haveSpecialFlag" column="HAVE_SPECIAL_FLAG"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -111,7 +116,12 @@ ...@@ -111,7 +116,12 @@
a.RELAY_SALARY_UNIT, a.RELAY_SALARY_UNIT,
a.SALARY_TAX_UNIT, a.SALARY_TAX_UNIT,
a.HAVE_SALARY_FLAG, a.HAVE_SALARY_FLAG,
a.HAVE_SPECIAL_FLAG a.HAVE_SPECIAL_FLAG,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql> </sql>
<sql id="tSalaryAccount_where"> <sql id="tSalaryAccount_where">
<if test="tSalaryAccount != null"> <if test="tSalaryAccount != null">
...@@ -250,6 +260,7 @@ ...@@ -250,6 +260,7 @@
a.DELETE_FLAG = 0 AND (d.CAN_SEE = 0 OR d.id is null) a.DELETE_FLAG = 0 AND (d.CAN_SEE = 0 OR d.id is null)
<include refid="tSalaryAccount_where"/> <include refid="tSalaryAccount_where"/>
</where> </where>
order by a.CREATE_TIME desc
</select> </select>
<!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 --> <!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 -->
...@@ -340,7 +351,7 @@ ...@@ -340,7 +351,7 @@
<select id="getAccountYearCheckList" resultType="java.lang.String"> <select id="getAccountYearCheckList" resultType="java.lang.String">
select a.EMP_IDCARD select a.EMP_IDCARD
from t_salary_account a from t_salary_account a
where a.DELETE_FLAG = 0 and a.DEPT_ID = #{settleId} and a.FORM_TYPE = '0' and a.SALARY_MONTH like concat(DATE_FORMAT(NOW(), '%Y'), '%') where a.DELETE_FLAG = 0 and a.FORM_TYPE = '0' and a.SALARY_MONTH like concat(DATE_FORMAT(NOW(), '%Y'), '%')
</select> </select>
<select id="noPageDiy" resultMap="tSalaryAccountMap" parameterType="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount"> <select id="noPageDiy" resultMap="tSalaryAccountMap" parameterType="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount">
......
...@@ -271,10 +271,26 @@ ...@@ -271,10 +271,26 @@
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
FROM t_salary_standard a FROM t_salary_standard a
<where> <where>
a.DELETE_FLAG = 0 1=1
<include refid="where_page"/> AND a.DELETE_FLAG = 0
<if test="tSalaryStandard != null">
<if test="tSalaryStandard.deptName != null and tSalaryStandard.deptName.trim() != ''">
AND a.DEPT_NAME like concat(#{'%',#{tSalaryStandard.deptName},'%')
</if>
<if test="tSalaryStandard.deptNo != null and tSalaryStandard.deptNo.trim() != ''">
AND a.DEPT_NO = #{tSalaryStandard.deptNo}
</if>
<if test="tSalaryStandard.salaryMonth != null and tSalaryStandard.salaryMonth.trim() != ''">
AND a.SALARY_MONTH = #{tSalaryStandard.salaryMonth}
</if>
<if test="tSalaryStandard.status == null">
AND a.STATUS = 1 OR a.STATUS = 2 or a.STATUS = 5
</if>
<if test="tSalaryStandard.status != null">
AND a.STATUS = #{tSalaryStandard.status}
</if>
</if>
</where> </where>
ORDER BY a.CREATE_TIME desc
</select> </select>
<resultMap id="salaryStandardExportMap" type="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardExportVo"> <resultMap id="salaryStandardExportMap" type="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardExportVo">
<result property="status" column="STATUS"/> <result property="status" column="STATUS"/>
......
...@@ -201,6 +201,7 @@ ...@@ -201,6 +201,7 @@
1=1 1=1
<include refid="tStatisticsCurrentReport_where"/> <include refid="tStatisticsCurrentReport_where"/>
</where> </where>
order by a.DECLARE_MONTH desc
</select> </select>
<!-- 本期申报 --> <!-- 本期申报 -->
...@@ -257,7 +258,8 @@ ...@@ -257,7 +258,8 @@
where m.declare_MONTH <![CDATA[<=]]> #{lastMonth} and m.declare_MONTH like '${nowYear}%' where m.declare_MONTH <![CDATA[<=]]> #{lastMonth} and m.declare_MONTH like '${nowYear}%'
GROUP BY m.EMP_IDCARD,m.INVOICE_TITLE GROUP BY m.EMP_IDCARD,m.INVOICE_TITLE
) m on m.EMP_IDCARD=s.EMP_IDCARD and m.INVOICE_TITLE = s.INVOICE_TITLE ) m on m.EMP_IDCARD=s.EMP_IDCARD and m.INVOICE_TITLE = s.INVOICE_TITLE
where s.DECLARE_MONTH = #{nowMonth} left join t_statistics_declarer d on d.EMP_IDCARD=s.EMP_IDCARD and d.DECLARE_MONTH=#{nowMonth}
where s.DECLARE_MONTH = #{nowMonth} and (d.id is null or d.IS_DECLARE = '0')
) )
</insert> </insert>
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
<result property="empName" column="EMP_NAME"/> <result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/> <result property="empIdcard" column="EMP_IDCARD"/>
<result property="empPhone" column="EMP_PHONE"/> <result property="empPhone" column="EMP_PHONE"/>
<result property="empStatus" column="EMP_STATUS"/>
<result property="occupationType" column="OCCUPATION_TYPE"/> <result property="occupationType" column="OCCUPATION_TYPE"/>
<result property="occupationMonth" column="OCCUPATION_MONTH"/> <result property="occupationMonth" column="OCCUPATION_MONTH"/>
<result property="isDeclare" column="IS_DECLARE"/> <result property="isDeclare" column="IS_DECLARE"/>
...@@ -43,7 +42,6 @@ ...@@ -43,7 +42,6 @@
a.EMP_NAME, a.EMP_NAME,
a.EMP_IDCARD, a.EMP_IDCARD,
a.EMP_PHONE, a.EMP_PHONE,
a.EMP_STATUS,
a.OCCUPATION_TYPE, a.OCCUPATION_TYPE,
a.OCCUPATION_MONTH, a.OCCUPATION_MONTH,
a.IS_DECLARE, a.IS_DECLARE,
...@@ -69,9 +67,6 @@ ...@@ -69,9 +67,6 @@
<if test="tStatisticsDeclarer.empPhone != null and tStatisticsDeclarer.empPhone.trim() != ''"> <if test="tStatisticsDeclarer.empPhone != null and tStatisticsDeclarer.empPhone.trim() != ''">
AND a.EMP_PHONE = #{tStatisticsDeclarer.empPhone} AND a.EMP_PHONE = #{tStatisticsDeclarer.empPhone}
</if> </if>
<if test="tStatisticsDeclarer.empStatus != null and tStatisticsDeclarer.empStatus.trim() != ''">
AND a.EMP_STATUS = #{tStatisticsDeclarer.empStatus}
</if>
<if test="tStatisticsDeclarer.occupationType != null and tStatisticsDeclarer.occupationType.trim() != ''"> <if test="tStatisticsDeclarer.occupationType != null and tStatisticsDeclarer.occupationType.trim() != ''">
AND a.OCCUPATION_TYPE = #{tStatisticsDeclarer.occupationType} AND a.OCCUPATION_TYPE = #{tStatisticsDeclarer.occupationType}
</if> </if>
...@@ -101,11 +96,11 @@ ...@@ -101,11 +96,11 @@
<!--统计--> <!--统计-->
<select id="doStatisticsTaxDeclarer" resultMap="tStatisticsDeclarerMap"> <select id="doStatisticsTaxDeclarer" resultMap="tStatisticsDeclarerMap">
select select
#{nowMonth} DECLARE_MONTH,a.EMP_NAME,a.EMP_IDCARD,a.EMP_PHONE,b.FILE_STATUS EMP_STATUS, #{nowMonth} DECLARE_MONTH,a.EMP_NAME,a.EMP_IDCARD,a.EMP_PHONE,b.UNIT_ID DECLARE_UNIT,
b.UNIT_NAME DECLARE_UNIT,'雇员' OCCUPATION_TYPE if(a.FORM_TYPE=0,'雇员',if(a.FORM_TYPE=3 or a.FORM_TYPE=4,'其他','-')) OCCUPATION_TYPE
from t_salary_account a from t_salary_account a
left join t_salary_employee b on b.id = a.EMP_ID left join t_salary_employee b on b.id = a.EMP_ID
where a.DELETE_FLAG = '0' and a.SETTLEMENT_MONTH like '${lastYear}%' where a.DELETE_FLAG = '0' and a.SETTLEMENT_MONTH like '${lastYear}%'
GROUP BY a.EMP_IDCARD GROUP BY a.EMP_IDCARD,OCCUPATION_TYPE,b.UNIT_ID,a.SETTLEMENT_MONTH
</select> </select>
</mapper> </mapper>
...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; ...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner; import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary; import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary;
import com.yifu.cloud.plus.v1.yifu.social.service.TForecastLibraryService; import com.yifu.cloud.plus.v1.yifu.social.service.TForecastLibraryService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
...@@ -247,4 +248,17 @@ public class TForecastLibraryController { ...@@ -247,4 +248,17 @@ public class TForecastLibraryController {
return tForecastLibraryService.updateForecastFundStatusToNoSettle(idList); return tForecastLibraryService.updateForecastFundStatusToNoSettle(idList);
} }
/**
* @param list
* @Description: 更新项目单位信息
* @Author: huyc
* @Date: 2022/8/25
* @return: int
**/
@Inner
@PostMapping("/inner/updateForSocialAndFound")
public void updateForSocialAndFound(@RequestBody UpdateSocialFoundVo list) {
tForecastLibraryService.updateForSocialAndFound(list);
}
} }
...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; ...@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner; import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TPaymentInfoService; import com.yifu.cloud.plus.v1.yifu.social.service.TPaymentInfoService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo;
...@@ -297,4 +298,17 @@ public class TPaymentInfoController { ...@@ -297,4 +298,17 @@ public class TPaymentInfoController {
) )
.groupBy(TPaymentInfo::getEmpIdcard))); .groupBy(TPaymentInfo::getEmpIdcard)));
} }
/**
* @param list
* @Description: 更新项目单位信息
* @Author: huyc
* @Date: 2022/8/25
* @return: int
**/
@Inner
@PostMapping("/inner/updatePaymentSocialAndFound")
public void updatePaymentSocialAndFound(@RequestBody UpdateSocialFoundVo list) {
tPaymentInfoService.updatePaymentSocialAndFound(list);
}
} }
...@@ -22,6 +22,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -22,6 +22,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService; import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFundInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
...@@ -127,4 +129,17 @@ public class TSocialFundInfoController { ...@@ -127,4 +129,17 @@ public class TSocialFundInfoController {
return R.ok(tSocialFundInfoService.getDetailById(id)); return R.ok(tSocialFundInfoService.getDetailById(id));
} }
/**
* @param list
* @Description: 更新项目单位信息
* @Author: huyc
* @Date: 2022/8/25
* @return: int
**/
@Inner
@PostMapping("/inner/updateSocialAndFoundInfo")
public void updateSocialAndFoundInfo(@RequestBody UpdateSocialFoundVo list) {
tSocialFundInfoService.updateSocialAndFoundInfo(list);
}
} }
...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary; import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary;
import com.yifu.cloud.plus.v1.yifu.social.vo.TForecastLibraryExportVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TForecastLibraryExportVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -66,4 +67,6 @@ public interface TForecastLibraryMapper extends BaseMapper<TForecastLibrary> { ...@@ -66,4 +67,6 @@ public interface TForecastLibraryMapper extends BaseMapper<TForecastLibrary> {
int updateForecastFundStatusByIdList(@Param("idList")List<String> idList, @Param("status") String status); int updateForecastFundStatusByIdList(@Param("idList")List<String> idList, @Param("status") String status);
void updateForSocialAndFound(@Param("infoVo") UpdateSocialFoundVo infoVo);
} }
...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo;
...@@ -106,4 +107,6 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> { ...@@ -106,4 +107,6 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
int updatePaymentFundStatusByIdList(@Param("idList")List<String> idList, @Param("status") String status); int updatePaymentFundStatusByIdList(@Param("idList")List<String> idList, @Param("status") String status);
void updatePaymentSocialAndFound(@Param("infoVo") UpdateSocialFoundVo infoVo);
} }
...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper; ...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.social.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoExportVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
...@@ -62,4 +63,8 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> { ...@@ -62,4 +63,8 @@ public interface TSocialFundInfoMapper extends BaseMapper<TSocialFundInfo> {
List<TSocialFundInfoExportVo> exportList(@Param("tSocialFundInfo") TSocialFundInfoSearchVo tSocialFundInfo); List<TSocialFundInfoExportVo> exportList(@Param("tSocialFundInfo") TSocialFundInfoSearchVo tSocialFundInfo);
void updateSocialAndFoundInfo(@Param("infoVo") UpdateSocialFoundVo infoVo);
void updateSocialAndFoundInfoF(@Param("infoVo") UpdateSocialFoundVo infoVo);
} }
...@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary; import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
...@@ -122,4 +123,6 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> { ...@@ -122,4 +123,6 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> {
int updateForecastFundStatusToSettle(List<String> idList); int updateForecastFundStatusToSettle(List<String> idList);
int updateForecastFundStatusToNoSettle(List<String> idList); int updateForecastFundStatusToNoSettle(List<String> idList);
void updateForSocialAndFound(UpdateSocialFoundVo list);
} }
...@@ -22,6 +22,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; ...@@ -22,6 +22,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo;
...@@ -128,5 +129,7 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> { ...@@ -128,5 +129,7 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
int updatePaymentFundStatusToSettle(List<String> idList); int updatePaymentFundStatusToSettle(List<String> idList);
int updatePaymentFundStatusToNoSettle(List<String> idList); int updatePaymentFundStatusToNoSettle(List<String> idList);
void updatePaymentSocialAndFound(UpdateSocialFoundVo list);
} }
...@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
...@@ -71,5 +72,7 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> { ...@@ -71,5 +72,7 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
* @return: com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo * @return: com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo
**/ **/
TSocialFundInfoDetailVo getDetailById(String id); TSocialFundInfoDetailVo getDetailById(String id);
void updateSocialAndFoundInfo(UpdateSocialFoundVo list);
} }
...@@ -32,6 +32,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; ...@@ -32,6 +32,7 @@ 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.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants; import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants;
import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo; import com.yifu.cloud.plus.v1.yifu.social.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAgentConfig; import com.yifu.cloud.plus.v1.yifu.social.entity.TAgentConfig;
...@@ -2134,4 +2135,11 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap ...@@ -2134,4 +2135,11 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
return 0; return 0;
} }
@Override
public void updateForSocialAndFound(UpdateSocialFoundVo infoVo) {
if (Common.isNotNull(infoVo)) {
baseMapper.updateForSocialAndFound(infoVo);
}
}
} }
...@@ -18,12 +18,9 @@ package com.yifu.cloud.plus.v1.yifu.social.service.impl;/* ...@@ -18,12 +18,9 @@ package com.yifu.cloud.plus.v1.yifu.social.service.impl;/*
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.listener.ReadListener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainListVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
...@@ -32,6 +29,7 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils; ...@@ -32,6 +29,7 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.concurrent.threadpool.YFSocialImportThreadPoolExecutor; import com.yifu.cloud.plus.v1.yifu.social.concurrent.threadpool.YFSocialImportThreadPoolExecutor;
import com.yifu.cloud.plus.v1.yifu.social.constants.PaymentConstants; import com.yifu.cloud.plus.v1.yifu.social.constants.PaymentConstants;
import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants; import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants;
...@@ -201,6 +199,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -201,6 +199,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) { if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) {
return R.failed("已推送至结算平台禁止删除!"); return R.failed("已推送至结算平台禁止删除!");
} }
if (CommonConstants.ONE_STRING.equals(paymentInfo.getSalaryFundFlag()) ||
CommonConstants.ONE_STRING.equals(paymentInfo.getSalarySocialFlag())) {
return R.failed("该数据已与薪资结算,禁止删除");
}
baseMapper.deleteById(id); baseMapper.deleteById(id);
return R.ok(); return R.ok();
} }
...@@ -222,6 +225,10 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -222,6 +225,10 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) { CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) {
return R.failed("存在不符合条件的数据(已推送至结算平台或非本人创建),禁止删除!"); return R.failed("存在不符合条件的数据(已推送至结算平台或非本人创建),禁止删除!");
} }
if (CommonConstants.ONE_STRING.equals(paymentInfo.getSalaryFundFlag()) ||
CommonConstants.ONE_STRING.equals(paymentInfo.getSalarySocialFlag())) {
return R.failed("存在不符合条件的数据(已与薪资结算),禁止删除");
}
baseMapper.deleteById(id); baseMapper.deleteById(id);
} }
} }
...@@ -2192,4 +2199,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2192,4 +2199,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
} }
return 0; return 0;
} }
@Override
public void updatePaymentSocialAndFound(UpdateSocialFoundVo infoVo) {
if (Common.isNotNull(infoVo)) {
baseMapper.updatePaymentSocialAndFound(infoVo);
}
}
} }
...@@ -2258,6 +2258,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap ...@@ -2258,6 +2258,7 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
importVo.setWorkingHours(preInfo.getWorkingHoursAdd()); importVo.setWorkingHours(preInfo.getWorkingHoursAdd());
importVo.setEmpNational(CommonConstants.ONE_STRING); importVo.setEmpNational(CommonConstants.ONE_STRING);
importVo.setEducationName(CommonConstants.FIVE_STRING); importVo.setEducationName(CommonConstants.FIVE_STRING);
importVo.setTrustRemark("预派单");
if (null != preInfo.getPensionBase()){ if (null != preInfo.getPensionBase()){
importVo.setRecordBase(preInfo.getPensionBase()); importVo.setRecordBase(preInfo.getPensionBase());
} }
......
...@@ -32,16 +32,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -32,16 +32,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractExportVO;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants; import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants;
import com.yifu.cloud.plus.v1.yifu.social.entity.*; import com.yifu.cloud.plus.v1.yifu.social.entity.*;
import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialFundInfoMapper; import com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialFundInfoMapper;
import com.yifu.cloud.plus.v1.yifu.social.service.*; import com.yifu.cloud.plus.v1.yifu.social.service.*;
import com.yifu.cloud.plus.v1.yifu.social.util.ServiceUtil;
import com.yifu.cloud.plus.v1.yifu.social.vo.*; import com.yifu.cloud.plus.v1.yifu.social.vo.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
...@@ -775,4 +774,15 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe ...@@ -775,4 +774,15 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
return detailVo; return detailVo;
} }
@Override
public void updateSocialAndFoundInfo(UpdateSocialFoundVo infoVo) {
if (Common.isNotNull(infoVo) && Common.isNotNull(infoVo.getFlag())) {
if (CommonConstants.ZERO_STRING.equals(infoVo.getFlag())) {
baseMapper.updateSocialAndFoundInfo(infoVo);
}else {
baseMapper.updateSocialAndFoundInfoF(infoVo);
}
}
}
} }
\ No newline at end of file
...@@ -661,4 +661,17 @@ ...@@ -661,4 +661,17 @@
</foreach> </foreach>
</update> </update>
<!-- 更改薪资公积金结算状态 -->
<update id="updateForSocialAndFound">
update t_forecast_library
set UNIT_ID = #{infoVo.unitId},
UNIT_NAME = #{infoVo.unitName},
DEPT_NAME = #{infoVo.settleDomainName},
DEPT_NO = #{infoVo.settleDomainCode},
SETTLE_DOMAIN_ID = #{infoVo.settleDomainId}
where
(SALARY_SOCIAL_FLAG = '0' and SOCIAL_CREATE_MONTH >= #{infoVo.socialCreateMonth}) and DATA_PUSH = '0' and EMP_IDCARD = #{infoVo.empIdcard}
or (SALARY_FUND_FLAG = '0' and PROVIDENT_CREATE_MONTH >= #{infoVo.socialCreateMonth})
</update>
</mapper> </mapper>
...@@ -1062,7 +1062,8 @@ ...@@ -1062,7 +1062,8 @@
<!-- 更改薪资公积金结算状态 --> <!-- 更改薪资公积金结算状态 -->
<update id="updatePaymentFundStatusByIdList"> <update id="updatePaymentFundStatusByIdList">
update t_payment_info set SALARY_FUND_FLAG = #{status} update t_payment_info
set SALARY_FUND_FLAG = #{status}
where where
ID in ID in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")"> <foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
...@@ -1070,4 +1071,17 @@ ...@@ -1070,4 +1071,17 @@
</foreach> </foreach>
</update> </update>
<!-- 更改薪资公积金结算状态 -->
<update id="updatePaymentSocialAndFound">
update t_payment_info
set UNIT_ID = #{infoVo.unitId},
UNIT_NAME = #{infoVo.unitName},
SETTLE_DOMAIN_NAME = #{infoVo.settleDomainName},
SETTLE_DOMAIN_CODE = #{infoVo.settleDomainCode},
SETTLE_DOMAIN_ID = #{infoVo.settleDomainId}
where
(SALARY_SOCIAL_FLAG = '0' or SALARY_FUND_FLAG = '0') and PUSH_STATUS = '1' and EMP_IDCARD = #{infoVo.empIdcard}
and (SOCIAL_CREATE_MONTH >= #{infoVo.socialCreateMonth} or PROVIDENT_CREATE_MONTH >= #{infoVo.socialCreateMonth})
</update>
</mapper> </mapper>
...@@ -1039,4 +1039,23 @@ ...@@ -1039,4 +1039,23 @@
limit #{tSocialFundInfo.limitStart},#{tSocialFundInfo.limitEnd} limit #{tSocialFundInfo.limitStart},#{tSocialFundInfo.limitEnd}
</if> </if>
</select> </select>
<update id="updateSocialAndFoundInfo">
update t_social_fund_info
set UNIT_ID = #{infoVo.unitId},
UNIT_NAME = #{infoVo.unitName},
SETTLE_DOMAIN_NAME = #{infoVo.settleDomainName},
SETTLE_DOMAIN_CODE = #{infoVo.settleDomainCode},
SETTLE_DOMAIN = #{infoVo.settleDomainId}
where EMP_IDCARD = #{infoVo.empIdcard}
</update>
<update id="updateSocialAndFoundInfoF">
update t_social_fund_info
set UNIT_ID_FUND = #{infoVo.unitId},
UNIT_NAME_FUND = #{infoVo.unitName},
SETTLE_DOMAIN_NAME_FUND = #{infoVo.settleDomainName},
SETTLE_DOMAIN_CODE_FUND = #{infoVo.settleDomainCode},
SETTLE_DOMAIN_FUND = #{infoVo.settleDomainId}
where EMP_IDCARD = #{infoVo.empIdcard}
</update>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment