Commit b8a02d60 authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/MVP1.6.0' into MVP1.6.0

parents 32eb377a e8cf9ff3
spring.ldap.urls=ldap://192.168.0.240:389
spring.ldap.urls=ldap://192.168.1.65:389
spring.ldap.username=cn=admin,dc=worfu,dc=com
spring.ldap.password=Yifu123456!
spring.ldap.password=yifu123456!
spring.ldap.base=dc=worfu,dc=com
\ No newline at end of file
ldap.url=192.168.0.240
ldap.url=192.168.1.65
ldap.port=389
ldap.userName=cn=admin,dc=worfu,dc=com
ldap.password=Yifu123ABC!
ldap.password=yifu123456!
ldap.dn=dc=worfu,dc=com
ldap.baseDn=ou=\u7696\u4FE1\u4EBA\u529B\u96C6\u56E2,ou=wanxin,dc=worfu,dc=com
\ No newline at end of file
ldap.baseDn=ou=\u5B89\u5FBD\u7696\u4FE1\u4EBA\u529B\u8D44\u6E90\u7BA1\u7406\u6709\u9650\u516C\u53F8,ou=wanxin,dc=worfu,dc=com
\ No newline at end of file
......@@ -24,6 +24,15 @@ public interface EkpSettleMapper {
*/
SettleVo getSettle(String id);
/**
* 从商险订单明细中获取当前保单的结算状态
*
* @author huyc
* @param id
* @return {@link SettleVo}
*/
String getSettleStatusFromEkpInsuranceDetail(String id);
List<EkpInsuranceViewVo> selectSettleStatusBySettleNo(@Param("settleNo") String settleNo, @Param("payFlag") String payFlag);
List<EkpSocialViewVo> selectSocialViewStatusBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag);
......
......@@ -25,6 +25,15 @@ public interface EkpSettleService extends IService<TInsuranceTypeRate> {
*/
SettleVo getSettle(String id);
/**
* 从商险订单明细中获取当前保单的结算状态
*
* @author huyc
* @param id 新增类
* @return {@link R}
*/
String getSettleStatusFromEkpInsuranceDetail(String id);
/**
* 根据结算单编号查询商险视图信息
*
......
......@@ -31,6 +31,11 @@ public class EkpSettleServiceImpl implements EkpSettleService {
return ekpSettleMapper.getSettle(id);
}
@Override
public String getSettleStatusFromEkpInsuranceDetail(String id) {
return ekpSettleMapper.getSettleStatusFromEkpInsuranceDetail(id);
}
@Override
public List<EkpInsuranceViewVo> selectViewBySettleNo(String settleNo,String payFlag) {
return ekpSettleMapper.selectSettleStatusBySettleNo(settleNo,payFlag);
......
......@@ -3671,6 +3671,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
InsuranceRegisterParam param;
SettleVo settleVo;
List<TInsuranceEkp> ekpList;
String status;
for (int i = 0; i < distinctList.size(); i++) {
param = distinctList.get(i);
param.setFlag(CommonConstants.ONE_STRING);
......@@ -3868,14 +3869,14 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (StringUtils.isNotBlank(detail.getDefaultSettleId())){
settle = tInsuranceSettleService.getById(detail.getDefaultSettleId());
if (Optional.ofNullable(settle).isPresent()){
settleVo = getInsuranceDetailSettleStatus(detail.getId(), detail.getDefaultSettleId());
if(!Common.isEmpty(settleVo) && (booleanActualPremium || booleanPolicyNo || booleanInvoiceNo)){
status = getSettleStatusFromEkpInsuranceDetail(detail.getId(), detail.getDefaultSettleId());
if(null != status && (booleanActualPremium || booleanPolicyNo || booleanInvoiceNo)){
//保费更新或者保单号发票号更新
if (InsurancesConstants.SETTLE_TWO.equals(settleVo.getActualStatus())) {
if (InsurancesConstants.SETTLE_TWO.equals(status)) {
param.setErrorMessage(InsurancesConstants.SETTLE_HANDLE_THREE_NOT_REGISTERED);
continue;
}
if (InsurancesConstants.SETTLE_ONE.equals(settleVo.getActualStatus())) {
if (InsurancesConstants.SETTLE_ONE.equals(status)) {
param.setErrorMessage(InsurancesConstants.SETTLE_HANDLE_TWO_NOT_REGISTERED);
continue;
}
......@@ -7310,6 +7311,19 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return ekpSettleService.getSettle(id);
}
/**
* 从商险订单明细中获取当前保单的结算状态
*
* @author huyc
* @param
* @return {@link String}
*/
public String getSettleStatusFromEkpInsuranceDetail(String detailId,String settleId){
String id = detailId+CommonConstants.DOWN_LINE_STRING+settleId;
//获取ekp结算信息
return ekpSettleService.getSettleStatusFromEkpInsuranceDetail(id);
}
/**
* 保存失败信息
*
......
......@@ -45,6 +45,16 @@
where
fd_3b05ba46bb042e = #{id}
</select>
<select id="getSettleStatusFromEkpInsuranceDetail" resultType="java.lang.String">
select
fd_3adfe6ec6a8cbe
from
ekp_e96a0a28442447c81ec0
where
fd_3b0a5743acab7e = #{id} limit 1
</select>
<!-- 根据结算单编码获取视图信息 -->
<select id="selectSettleStatusBySettleNo" resultMap="BaseResultStatusMap">
select
......
......@@ -18,6 +18,8 @@ package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
......@@ -43,6 +45,7 @@ public class TStatisticsBonusImportVo implements Serializable {
@Schema(description = "员工姓名")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("员工姓名")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private String empName;
/**
* 身份证号
......@@ -52,6 +55,7 @@ public class TStatisticsBonusImportVo implements Serializable {
@Schema(description = "身份证号")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("身份证号")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private String empIdcard;
/**
* 待发年终奖
......@@ -60,6 +64,7 @@ public class TStatisticsBonusImportVo implements Serializable {
@Schema(description = "待发年终奖")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("待发年终奖")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal annualBonus;
/**
* 待发12月工资
......@@ -68,6 +73,7 @@ public class TStatisticsBonusImportVo implements Serializable {
@Schema(description = "待发12月工资")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("待发12月工资")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal annualTSalary;
/**
* 12月工资是否已经发放
......@@ -76,55 +82,86 @@ public class TStatisticsBonusImportVo implements Serializable {
@Schema(description = "12月工资是否已经发放")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("12月工资是否已经发放")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private String isTSend;
/**
* 年终奖单独扣税12月税费
* 12月份应纳税所得额扣除费用
*/
@ExcelAttribute(name = "12月份应纳税所得额扣除费用")
@Schema(description = "12月份应纳税所得额扣除费用")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("12月份应纳税所得额扣除费用")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal deductTaxSalary;
/**
* 年终奖单独扣税额
*/
@ExcelAttribute(name = "年终奖单独扣税额")
@Schema(description = "年终奖单独扣税额")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("年终奖单独扣税额")
private BigDecimal annualSingleTax;
/**
* 工资单独计税额
*/
@ExcelAttribute(name = "工资单独计税额")
@Schema(description = "工资单独计税额")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("工资单独计税额")
private BigDecimal salarySingleTax;
/**
* 合计
*/
@ExcelAttribute(name = "合计")
@Schema(description = "合计")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("合计")
private BigDecimal sumTax;
/**
* 待发工资按年终奖扣税12月税费
*/
@ExcelAttribute(name = "年终奖单独扣税12月税费")
@Schema(description = "年终奖单独扣税12月税费")
@ExcelAttribute(name = "待发工资按年终奖扣税12月税费")
@Schema(description = "待发工资按年终奖扣税12月税费")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("年终奖单独扣税12月税费")
@ExcelProperty("待发工资按年终奖扣税12月税费")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal annualATax;
/**
* 年终奖合并扣税12月税费
* 年终奖按工资扣税12月税费
*/
@ExcelAttribute(name = "年终奖合并扣税12月税费")
@Schema(description = "年终奖合并扣税12月税费")
@ExcelAttribute(name = "年终奖按工资扣税12月税费")
@Schema(description = "年终奖按工资扣税12月税费")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("年终奖合并扣税12月税费")
@ExcelProperty("年终奖按工资扣税12月税费")
private BigDecimal annualSTax;
/**
* 最优方案-12月工资
* 最优方案-12月工资(建议值)
*/
@ExcelAttribute(name = "最优方案-12月工资")
@Schema(description = "最优方案-12月工资")
@ExcelAttribute(name = "最优方案-12月工资(建议值)")
@Schema(description = "最优方案-12月工资(建议值)")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("最优方案-12月工资")
@ExcelProperty("最优方案-12月工资(建议值)")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal bestPlanTSalary;
/**
* 最优方案-年终奖
* 最优方案-年终奖(建议值)
*/
@ExcelAttribute(name = "最优方案-年终奖")
@Schema(description = "最优方案-年终奖")
@ExcelAttribute(name = "最优方案-年终奖(建议值)")
@Schema(description = "最优方案-年终奖(建议值)")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("最优方案-年终奖")
@ExcelProperty("最优方案-年终奖(建议值)")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal bestPlanBonus;
/**
* 最优方案-12月扣税
* 最优方案-12月扣税(建议值)
*/
@ExcelAttribute(name = "最优方案-12月扣税")
@Schema(description = "最优方案-12月扣税")
@ExcelAttribute(name = "最优方案-12月扣税(建议值)")
@Schema(description = "最优方案-12月扣税(建议值)")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("最优方案-12月扣税")
@ExcelProperty("最优方案-12月扣税(建议值)")
@HeadStyle(fillPatternType = FillPatternTypeEnum.NO_FILL, fillForegroundColor = 9)
private BigDecimal bestPlanTax;
/**
* 12月份应纳税所得额扣除费用
*/
@ExcelAttribute(name = "12月份应纳税所得额扣除费用")
@Schema(description = "12月份应纳税所得额扣除费用")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("12月份应纳税所得额扣除费用")
private BigDecimal deductTaxSalary;
}
......@@ -36,11 +36,13 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils;
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.TSpecialDeducationSum;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsBonus;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountMapper;
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.TSpecialDeducationSumService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsBonusService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsBonusImportVo;
......@@ -57,6 +59,7 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
......@@ -82,6 +85,8 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
private final SocialDaprUtils socialDaprUtils;
private final TSpecialDeducationSumService deducationSumService;
/**
* 全年一次性奖金申报表简单分页查询
* @param tStatisticsBonus 全年一次性奖金申报表
......@@ -191,6 +196,10 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
BigDecimal twlSalaryTax;
//12月社保公积金扣费
BigDecimal socialFundTax;
//年终奖单独扣税
BigDecimal singleAnualTax;
//工资单独扣税
BigDecimal singleSalaryTax;
try(ServletOutputStream out = response.getOutputStream()) {
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
......@@ -222,6 +231,8 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
}
}
Map<String, List<TSalaryAccountItem>> itemMap = tSalaryAccountItemService.getSalaryItemVoList(idCardList, invoiceTitle);
TSpecialDeducationSum specialDeducation;
for (TStatisticsBonusImportVo infoVo: list) {
//本次纳税额
res = BigDecimal.ZERO;
......@@ -248,8 +259,12 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
//12月份应纳税所得额扣除费用
//12月社保公积金扣费
socialFundTax = BigDecimal.ZERO;
//专项扣除列表
List<BigDecimal> sdSumList = new ArrayList<>();
//年终奖单独扣税
singleAnualTax = BigDecimal.ZERO;
//工资单独扣税
singleSalaryTax = BigDecimal.ZERO;
// //专项扣除列表
// List<BigDecimal> sdSumList = new ArrayList<>();
//减除费用列表
List<BigDecimal> costReductionList = new ArrayList<>();
......@@ -273,15 +288,15 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
if (SalaryConstants.RELAY_SALARY_JAVA.equals(item.getJavaFiedName())) {
ySalary = ySalary.add(item.getSalaryMoney());
}
if (item.getSettlementMonth().contains(CommonConstants.TWELVE_STRING)) {
if (item.getSettlementMonth().equals(DateUtil.getYearAndMonth(LocalDateTime.now(),0))) {
//减除费用
if (SalaryConstants.COST_REDUCTION_JAVA.equals(item.getJavaFiedName())) {
costReductionList.add(item.getSalaryMoney());
}
//专项扣除
if (SalaryConstants.SPECIAL_DEDU_MONEY_SUM_JAVA.equals(item.getJavaFiedName())) {
sdSumList.add(item.getSalaryMoney());
}
// //专项扣除
// if (SalaryConstants.SPECIAL_DEDU_MONEY_SUM_JAVA.equals(item.getJavaFiedName())) {
// sdSumList.add(item.getSalaryMoney());
// }
}
if (SalaryConstants.SALARY_TAX_JAVA.equals(item.getJavaFiedName())) {
//12月份个税
......@@ -300,8 +315,22 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
if (CommonConstants.IS_TRUE.equals(infoVo.getIsTSend())) {
isSend = true;
}
if (Common.isNotNull(sdSumList)) {
sdSum = Collections.max(sdSumList);
// if (Common.isNotNull(sdSumList)) {
// sdSum = Collections.max(sdSumList);
// }
//专项扣除从专项扣除表中直接获取
specialDeducation = deducationSumService.getOne(Wrappers.<TSpecialDeducationSum>query().lambda()
.eq(TSpecialDeducationSum::getIdNumber,infoVo.getEmpIdcard())
.eq(TSpecialDeducationSum::getCreateMonth,DateUtil.getYearAndMonth(LocalDateTime.now(),0))
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(specialDeducation)) {
sdSum = BigDecimalUtils.safeAdd(specialDeducation.getSumChildEduMoney()
,specialDeducation.getSumContinuingEducationMoney()
,specialDeducation.getSumHousingLoanMoney()
,specialDeducation.getSumHousingRentMoney()
,specialDeducation.getSumSupportElderlyMoney()
,specialDeducation.getSumBabyMoney()
,specialDeducation.getSumPrivatePension());
}
if (Common.isNotNull(costReductionList)) {
costReduction = Collections.max(costReductionList);
......@@ -327,7 +356,9 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
infoVo.getDeductTaxSalary(),isTax))),sumTax);
//12月薪资扣除额合计
sumDeductSalary = BigDecimalUtils.safeAdd(isTax,infoVo.getDeductTaxSalary());
singleSalaryTax = calculationSalaryT(personTax, infoVo.getAnnualTSalary());
}
singleAnualTax = calculationSalary(annousTax,infoVo.getAnnualBonus());
//最优解计算区间
BigDecimal oneBecimal = new BigDecimal("36000");
......@@ -459,6 +490,9 @@ public class TStatisticsBonusServiceImpl extends ServiceImpl<TStatisticsBonusMap
infoVo.setAnnualSTax(finalSalaryWithSalary);
infoVo.setBestPlanTSalary(anRes);
infoVo.setBestPlanBonus(BigDecimalUtils.safeSubtract(wSalary,anRes));
infoVo.setAnnualSingleTax(singleAnualTax);
infoVo.setSalarySingleTax(singleSalaryTax);
infoVo.setSumTax(BigDecimalUtils.safeAdd(singleAnualTax,singleSalaryTax));
}
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcel.writerSheet("全年一次性奖金测算").build();
......
......@@ -83,7 +83,7 @@ public interface TForecastLibraryMapper extends BaseMapper<TForecastLibrary> {
**/
int updatePushStatus(@Param("idList") List<String> idList);
int checkForecastChange(@Param("idSet") Set<String> idSet);
List<String> checkForecastChange(@Param("idSet") Set<String> idSet);
/**
* @param idSet
......
......@@ -208,7 +208,7 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
* @Date: 2022/11/16 17:32
* @return: int
**/
int checkPaymentChange(@Param("idSet") Set<String> idSet);
List<String> checkPaymentChange(@Param("idSet") Set<String> idSet);
/**
* @param idSet
......
......@@ -3449,10 +3449,14 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
}
}
if (!idSet.isEmpty()) {
// 查询是否允许划转缴费库、预估库 的 社保、公积金
boolean flag = this.checkChange(idSet);
if (!flag) {
return R.failed("社保公积金已被结算,请先退回并删除工资表!");
// 查询是否允许划转缴费库、预估库 的 社保、公积金
List<String> settleList = baseMapper.checkPaymentChange(idSet);
if (settleList.isEmpty()) {
settleList = tForecastLibraryMapper.checkForecastChange(idSet);
}
if (!settleList.isEmpty()) {
String idStr = Common.ListToStr(settleList,",");
return R.failed(idStr + "的社保公积金已被结算,请先退回并删除工资表!");
}
// 1划转缴费率、预估库的项目(社保公积金)
......@@ -3585,23 +3589,6 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
return true;
}
/**
* @param idSet
* @Description: 校验是否存在已结算薪资的数据
* @Author: hgw
* @Date: 2022/11/16 17:30
* @return: boolean
**/
private boolean checkChange(Set<String> idSet) {
int settleCount = baseMapper.checkPaymentChange(idSet);
if (settleCount == 0) {
settleCount = tForecastLibraryMapper.checkForecastChange(idSet);
return settleCount == 0;
} else {
return false;
}
}
private Map<String, TSettleDomainSelectVo> getSelectVoMap() {
R<TSettleDomainListVo> settleDomainR = archivesDaprUtil.selectAllSettleDomainSelectVos();
Map<String,TSettleDomainSelectVo> mapSelectVo = null;
......
......@@ -32,7 +32,7 @@ spring:
type: CLASS_BASED
tables:
t_payment_info:
actual-data-nodes: ds0.t_payment_info_20$->{17..23}
actual-data-nodes: ds0.t_payment_info_20$->{17..24}
key-generate-strategy:
column: ID
key-generator-name: snowflake
......
......@@ -32,7 +32,7 @@ spring:
type: CLASS_BASED
tables:
t_payment_info:
actual-data-nodes: ds0.t_payment_info_20$->{17..23}
actual-data-nodes: ds0.t_payment_info_20$->{17..24}
key-generate-strategy:
column: ID
key-generator-name: snowflake
......
......@@ -32,7 +32,7 @@ spring:
type: CLASS_BASED
tables:
t_payment_info:
actual-data-nodes: ds0.t_payment_info_20$->{17..23}
actual-data-nodes: ds0.t_payment_info_20$->{17..24}
key-generate-strategy:
column: ID
key-generator-name: snowflake
......
......@@ -710,8 +710,8 @@
</update>
<!-- 校验预估库库是否有已结算的数据,有,则不允许ekp费用划转 -->
<select id="checkForecastChange" resultType="java.lang.Integer">
select count(1) from t_forecast_library p
<select id="checkForecastChange" resultType="java.lang.String">
select p.EMP_IDCARD from t_forecast_library p
where (p.SALARY_SOCIAL_FLAG = '1' or p.SALARY_FUND_FLAG = '1') and p.id in
<foreach item="item" index="index" collection="idSet" open="(" separator="," close=")">
#{item}
......
......@@ -2433,8 +2433,8 @@
</update>
<!-- 校验缴费库是否有已结算的数据,有,则不允许ekp费用划转 -->
<select id="checkPaymentChange" resultType="java.lang.Integer">
select count(1) from t_payment_info p
<select id="checkPaymentChange" resultType="java.lang.String">
select p.EMP_IDCARD from t_payment_info p
where (p.SALARY_SOCIAL_FLAG = '1' or p.SALARY_FUND_FLAG = '1') and p.id in
<foreach item="item" index="index" collection="idSet" open="(" separator="," close=")">
#{item}
......
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