Commit a064a4d2 authored by 李灿灿's avatar 李灿灿

Merge branch 'develop' into feature-licancan

parents 7727d7a4 ec71999d
......@@ -343,6 +343,9 @@ public class TEmployeeProject extends BaseEntity {
@Schema(description = "社保-县")
private Integer socialTown;
@TableField(exist = false)
private String changeStartMonth;
/**
* 员工合同状态(字典)
*/
......
......@@ -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.MsgUtils;
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 org.springframework.stereotype.Service;
import org.springframework.validation.BindingResult;
......@@ -61,6 +63,8 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
private final TEmployeeLogServiceImpl tEmployeeLogService;
private final SocialDaprUtils socialDaprUtils;
public static final Pattern PATTERN = Pattern.compile("^[-\\+]?[\\d]*$");
/**
......@@ -78,11 +82,9 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
if (Common.isNotNull(tEmployeeProject)) {
return R.failed("待划转员工已在目标项目下不可划转");
}
//TODO
//划转+已产生未结算金额划转,并且选择了划转月份
//社保公积金派单处需要直接修改为最新的项目
//社保预估库、缴费库、对比库、代理差额库,需要同步修改未结算(并且满足这个条件:数据 生成月≥此处划转起始月)的数据,已结算数据不变更;
//划转,更新项目信息
TEmployeeProject updateTEmployeeProject = tEmployeeProjectService.getOne(Wrappers.<TEmployeeProject>query().lambda()
.eq(TEmployeeProject::getEmpIdcard, tEmpChangeInfo.getEmpIdcard()).eq(TEmployeeProject::getDeptName,tEmpChangeInfo.getOldSettle())
......@@ -111,7 +113,27 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
tEmpChangeInfo.setProId(updateTEmployeeProject.getId());
// 记录变更日志
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);
return R.ok();
......@@ -197,6 +219,7 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
updateTEmployeePro.setUnitNo(tCustomerInfo.getCustomerCode());
updateTEmployeePro.setUnitName(tCustomerInfo.getCustomerName());
}
updateTEmployeePro.setChangeStartMonth(excel.getChangeStartMonth());
updateList.add(updateTEmployeePro);
// 记录变更日志
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", tEmployeeProjectOld.getId(), tEmployeeProjectOld, updateTEmployeePro);
......@@ -214,6 +237,25 @@ public class TEmpChangeInfoServiceImpl extends ServiceImpl<TEmpChangeInfoMapper,
return R.failed(errorMessageList);
} else {
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();
}
......
......@@ -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.salary.vo.HaveSalaryNoSocialSearchVo;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
......@@ -43,4 +44,37 @@ public class SocialDaprUtils {
}
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;
import com.baomidou.mybatisplus.annotation.TableId;
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.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
......@@ -40,8 +42,9 @@ import java.util.List;
*/
@Data
@TableName("t_salary_account")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "工资报账主表(工资条)")
public class TSalaryAccount {
public class TSalaryAccount extends BaseEntity {
/**
* 主键
......@@ -64,14 +67,7 @@ public class TSalaryAccount {
@Length(max = 32, message = "工资表ID不能超过32个字符")
@ExcelProperty("工资表ID")
private String salaryFormId;
/**
* 薪酬月份
*/
@ExcelAttribute(name = "薪酬月份", isNotEmpty = true, errorInfo = "薪酬月份不能为空", maxLength = 6)
@NotBlank(message = "薪酬月份不能为空")
@Length(max = 6, message = "薪酬月份不能超过6个字符")
@ExcelProperty("薪酬月份")
private String salaryMonth;
/**
* 员工 ID
*/
......@@ -93,6 +89,13 @@ public class TSalaryAccount {
@Length(max = 25, message = "身份证号不能超过25个字符")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 手机号
*/
@ExcelAttribute(name = "手机号码", maxLength = 11)
@Length(max = 11, message = "手机号码不能超过11个字符")
@ExcelProperty("手机号码")
private String empPhone;
/**
* 银行卡号
*/
......@@ -107,6 +110,25 @@ public class TSalaryAccount {
@Length(max = 50, message = "开户行总行不能超过50个字符")
@ExcelProperty("开户行总行")
private String bankName;
/**
* 开户行省
*/
@ExcelAttribute(name = "开户行省", isArea = true)
@ExcelProperty("开户行省")
private String bankProvince;
/**
* 开户行市
*/
@ExcelAttribute(name = "开户行市", isArea = true, parentField = "bankProvince")
@ExcelProperty("开户行市")
private String bankCity;
/**
* 开户行支行
*/
@ExcelAttribute(name = "开户行支行", maxLength = 50)
@Length(max = 50, message = "开户行支行不能超过50个字符")
@ExcelProperty("开户行支行")
private String bankSubName;
/**
* 项目id
*/
......@@ -169,13 +191,21 @@ public class TSalaryAccount {
@ExcelProperty("公积金扣缴月份")
private String deduProvidentMonth;
/**
* 报表类型0:薪资;1:绩效;2:其他;3:劳务费;4:稿酬
* 表单类型0:薪资;1:绩效;2:其他;3:劳务费;4:稿酬
*/
@ExcelAttribute(name = "报表类型", readConverterExp = "0=薪资,1=绩效,2=其他,3=劳务费,4=稿酬")
@NotBlank(message = "报表类型不能为空")
@Length(max = 32, message = "报表类型不能超过32个字符")
@ExcelProperty("报表类型")
@ExcelAttribute(name = "表单类型", readConverterExp = "0=薪资,1=绩效,2=其他,3=劳务费,4=稿酬")
@NotBlank(message = "表单类型不能为空")
@Length(max = 32, message = "表单类型不能超过32个字符")
@ExcelProperty("表单类型")
private String formType;
/**
* 薪酬月份
*/
@ExcelAttribute(name = "薪酬月份", isNotEmpty = true, errorInfo = "薪酬月份不能为空", maxLength = 6)
@NotBlank(message = "薪酬月份不能为空")
@Length(max = 6, message = "薪酬月份不能超过6个字符")
@ExcelProperty("薪酬月份")
private String salaryMonth;
/**
* 结算月
*/
......@@ -265,13 +295,7 @@ public class TSalaryAccount {
@ExcelAttribute(name = "县")
@ExcelProperty("县")
private Integer town;
/**
* 手机号
*/
@ExcelAttribute(name = "手机号码", maxLength = 11)
@Length(max = 11, message = "手机号码不能超过11个字符")
@ExcelProperty("手机号码")
private String empPhone;
/**
* 是否自有员工0:否;1:是自有员工
*/
......@@ -295,25 +319,7 @@ public class TSalaryAccount {
@ExcelAttribute(name = "本月是否重复金额0:否;1:是重复导入的")
@ExcelProperty("本月是否重复金额0:否;1:是重复导入的")
private Integer isRepeat;
/**
* 开户行支行
*/
@ExcelAttribute(name = "开户行支行", maxLength = 50)
@Length(max = 50, message = "开户行支行不能超过50个字符")
@ExcelProperty("开户行支行")
private String bankSubName;
/**
* 开户行省
*/
@ExcelAttribute(name = "开户行省", isArea = true)
@ExcelProperty("开户行省")
private String bankProvince;
/**
* 开户行市
*/
@ExcelAttribute(name = "开户行市", isArea = true, parentField = "bankProvince")
@ExcelProperty("开户行市")
private String bankCity;
/**
* 是否个人承担部分税费:0否1是
*/
......
......@@ -19,9 +19,8 @@ package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
......@@ -30,6 +29,7 @@ import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 薪酬人员表
......@@ -74,6 +74,20 @@ public class TSalaryEmployee extends BaseEntity {
@ExcelProperty("客户id")
@ExcelIgnore
private String unitId;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Length(max = 30, message = "项目编码不能超过30个字符")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 封面抬头
*/
......@@ -104,20 +118,7 @@ public class TSalaryEmployee extends BaseEntity {
@ExcelProperty("项目id")
@ExcelIgnore
private String deptId;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Length(max = 30, message = "项目编码不能超过30个字符")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 开户行总行
*/
......@@ -130,13 +131,13 @@ public class TSalaryEmployee extends BaseEntity {
*/
@ExcelAttribute(name = "开户行省",isArea = true)
@ExcelProperty("开户行省")
private Integer bankProvince;
private String bankProvince;
/**
* 开户行市
*/
@ExcelAttribute(name = "开户行市",isArea = true,parentField = "bankProvince")
@ExcelProperty("开户行市")
private Integer bankCity;
private String bankCity;
/**
* 开户行支行
*/
......@@ -170,6 +171,5 @@ public class TSalaryEmployee extends BaseEntity {
*/
@ExcelAttribute(name = "在职状态",isDataId = true,readConverterExp = "0=在职,1=离职")
@ExcelProperty("在职状态")
private Integer fileStatus;
private String fileStatus;
}
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* @Author fxj
* @Date 2022/8/25
* @Description
* @Version 1.0
*/
@Data
public class TSalaryEmployeeExportVo{
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名", isNotEmpty = true, errorInfo = "员工姓名不能为空", maxLength = 32)
@NotBlank(message = "员工姓名不能为空")
@Length(max = 32, message = "员工姓名不能超过32个字符")
@ExcelProperty("员工姓名")
private String empName;
/**
* 身份证号
*/
@ExcelAttribute(name = "身份证号", isNotEmpty = true, errorInfo = "身份证号不能为空", maxLength = 32)
@NotBlank(message = "身份证号不能为空")
@Length(max = 32, message = "身份证号不能超过32个字符")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 客户id
*/
@ExcelAttribute(name = "客户id", maxLength = 32)
@Length(max = 32, message = "客户id不能超过32个字符")
@ExcelProperty("客户id")
@ExcelIgnore
private String unitId;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", maxLength = 50)
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
private String deptName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 30)
@Length(max = 30, message = "项目编码不能超过30个字符")
@ExcelProperty("项目编码")
private String deptNo;
/**
* 封面抬头
*/
@ExcelAttribute(name = "封面抬头", maxLength = 50)
@Length(max = 50, message = "封面抬头不能超过50个字符")
@ExcelProperty("封面抬头")
private String invoiceTitle;
/**
* 客户名称
*/
@ExcelAttribute(name = "客户名称", maxLength = 50)
@Length(max = 50, message = "客户名称不能超过50个字符")
@ExcelProperty("客户名称")
private String unitName;
/**
* 客户编码
*/
@ExcelAttribute(name = "客户编码", maxLength = 32)
@Length(max = 32, message = "客户编码不能超过32个字符")
@ExcelProperty("客户编码")
@ExcelIgnore
private String unitNo;
/**
* 项目id
*/
@ExcelAttribute(name = "项目id", maxLength = 32)
@Length(max = 32, message = "项目id不能超过32个字符")
@ExcelProperty("项目id")
@ExcelIgnore
private String deptId;
/**
* 开户行总行
*/
@ExcelAttribute(name = "开户行总行", maxLength = 50)
@Length(max = 50, message = "开户行总行不能超过50个字符")
@ExcelProperty("开户行总行")
private String bankName;
/**
* 开户行省
*/
@ExcelAttribute(name = "开户行省",isArea = true)
@ExcelProperty("开户行省")
private String bankProvince;
/**
* 开户行市
*/
@ExcelAttribute(name = "开户行市",isArea = true,parentField = "bankProvince")
@ExcelProperty("开户行市")
private String bankCity;
/**
* 开户行支行
*/
@ExcelAttribute(name = "开户行支行", maxLength = 50)
@Length(max = 50, message = "开户行支行不能超过50个字符")
@ExcelProperty("开户行支行")
private String bankSubName;
/**
* 银行卡号
*/
@ExcelAttribute(name = "银行卡号", maxLength = 50)
@Length(max = 50, message = "银行卡号不能超过50个字符")
@ExcelProperty("银行卡号")
private String bankNo;
/**
* 手机号码
*/
@ExcelAttribute(name = "手机号码", maxLength = 32)
@Length(max = 32, message = "手机号码不能超过32个字符")
@ExcelProperty("手机号码")
private String empPhone;
/**
* 计税月份
*/
@ExcelAttribute(name = "计税月份", maxLength = 6)
@Length(max = 6, message = "计税月份不能超过6个字符")
@ExcelProperty("计税月份")
private String taxMonth;
/**
* 在职状态(0在职;1离职)
*/
@ExcelAttribute(name = "在职状态",isDataId = true,readConverterExp = "0=在职,1=离职")
@ExcelProperty("在职状态")
private String fileStatus;
}
......@@ -27,7 +27,7 @@ public class TSalaryStandardExportVo implements Serializable {
*/
@ExcelAttribute(name = "状态", isDataId = true, readConverterExp = "0=待提交,1=待审核,2=待推送,3=已推送待发放,4=已发放,5=审核不通过,6=确认不通过,7=财务退回,8=结算单调整待审核,9=结算单调整待打印")
@NotBlank(message = "状态(0待提交1待审核2:待推送3已推送待发放4已发放5审核不通过6确认不通过7财务退回8:结算单调整待审核 9: 结算单调整待打印)不能为空")
@ExcelProperty("状态")
@ExcelProperty("薪酬状态")
private String status;
/**
* 推送月份(YYYYMM)
......@@ -35,7 +35,7 @@ public class TSalaryStandardExportVo implements Serializable {
@ExcelAttribute(name = "推送月份", isNotEmpty = true, errorInfo = "推送月份(YYYYMM)不能为空", maxLength = 6)
@NotBlank(message = "推送月份(YYYYMM)不能为空")
@Length(max = 6, message = "推送月份(YYYYMM)不能超过6个字符")
@ExcelProperty("推送月份")
@ExcelProperty("发放月份")
private String sendMonth;
/**
* 项目名称
......@@ -65,13 +65,6 @@ public class TSalaryStandardExportVo implements Serializable {
@Length(max = 50, message = "封面抬头不能超过50个字符")
@ExcelProperty("封面抬头")
private String invoiceTitle;
/**
* 创建者-姓名
*/
@Schema(description = "创建人-姓名")
@TableField(fill = FieldFill.INSERT)
@ExcelProperty("创建人")
private String createName;
/**
* 工资月份(YYYYMM)
*/
......@@ -97,4 +90,11 @@ public class TSalaryStandardExportVo implements Serializable {
@TableField(fill = FieldFill.INSERT)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
/**
* 创建者-姓名
*/
@Schema(description = "创建人-姓名")
@TableField(fill = FieldFill.INSERT)
@ExcelProperty("创建人")
private String createName;
}
......@@ -107,6 +107,13 @@ public class TStatisticsBonusImportVo extends RowIndex implements Serializable {
@Schema(description = "最优方案-12月扣税")
@ExcelProperty("最优方案-12月扣税")
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;
}
......@@ -72,6 +72,7 @@ public class TSalaryAccountController {
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryAccount>> getTSalaryAccountPage(Page<TSalaryAccount> page, TSalaryAccountSearchVo tSalaryAccount) {
tSalaryAccount.setDeleteFlag(CommonConstants.ZERO_INT);
return new R<>(tSalaryAccountService.getTSalaryAccountPage(page, tSalaryAccount));
}
......
......@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmployeeService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
......@@ -71,7 +72,7 @@ public class TSalaryEmployeeController {
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tsalaryemployee_get')" )
public R<List<TSalaryEmployee>> getTSalaryEmployeeNoPage(@RequestBody TSalaryEmployeeSearchVo tSalaryEmployee) {
public R<List<TSalaryEmployeeExportVo>> getTSalaryEmployeeNoPage(@RequestBody TSalaryEmployeeSearchVo tSalaryEmployee) {
return R.ok(tSalaryEmployeeService.noPageDiy(tSalaryEmployee));
}
......
......@@ -68,6 +68,7 @@ public class TSalaryStandardController {
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandard>> getTSalaryStandardPage(Page<TSalaryStandard> page, TSalaryStandardSearchVo tSalaryStandard) {
tSalaryStandard.setDeleteFlag(CommonConstants.ZERO_INT);
return new R<>(tSalaryStandardService.getTSalaryStandardPage(page, tSalaryStandard));
}
......
......@@ -81,12 +81,11 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
@Param("month3")String month3);
/**
* @param settleId
* @Description: 薪资类型互斥校验 获取本年度身份证号列表
* @Author: huyc
* @Date: 2022/8/18
* @return:
**/
List<String> getAccountYearCheckList(@Param("settleId") String settleId);
List<String> getAccountYearCheckList();
}
......@@ -21,8 +21,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 薪酬人员表
*
......@@ -37,4 +42,6 @@ public interface TSalaryEmployeeMapper extends BaseMapper<TSalaryEmployee> {
* @return
*/
IPage<TSalaryEmployee> getTSalaryEmployeePage(Page<TSalaryEmployee> page, @Param("tSalaryEmployee") TSalaryEmployee tSalaryEmployee);
List<TSalaryEmployeeExportVo> noPageDiy( @Param("tSalaryEmployee") TSalaryEmployeeSearchVo searchVo, @Param("idList")List<String> idList);
}
......@@ -50,7 +50,7 @@ public interface TSalaryStandardMapper extends BaseMapper<TSalaryStandard> {
*/
IPage<TSalaryStandard> getTSalaryStandardAuditPage(Page<TSalaryStandard> page, @Param("tSalaryStandard") TSalaryStandard tSalaryStandard);
List<TSalaryStandardExportVo> getSalaryStandardExport(@Param("searchVo") TSalaryStandardSearchVo searchVo);
List<TSalaryStandardExportVo> getSalaryStandardExport(@Param("searchVo") TSalaryStandardSearchVo searchVo, @Param("idList")List<String> idList);
int getSalaryStandardExportCount(@Param("searchVo")TSalaryStandardSearchVo searchVo);
int getSalaryStandardExportCount(@Param("searchVo") TSalaryStandardSearchVo searchVo, @Param("idList")List<String> idList);
}
......@@ -80,11 +80,10 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
List<THaveSalaryNosocial> getLastMonthTHaveSalaryNosocial(String month);
/**
* @param settleId
* @Description: 薪资类型互斥校验 获取本年度身份证号列表
* @Author: huyc
* @Date: 2022/8/18
* @return:
**/
List<String> getAccountYearCheckMap(String settleId);
List<String> getAccountYearCheckMap();
}
......@@ -23,6 +23,7 @@ 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.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import javax.servlet.http.HttpServletResponse;
......@@ -47,7 +48,7 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> {
void listExport(HttpServletResponse response, TSalaryEmployeeSearchVo searchVo);
List<TSalaryEmployee> noPageDiy(TSalaryEmployeeSearchVo searchVo);
List<TSalaryEmployeeExportVo> noPageDiy(TSalaryEmployeeSearchVo searchVo);
/**
* @param employee
......
......@@ -162,8 +162,8 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
TSalaryEmployee es;//筛选人员,添加判断:非在职,或开户行为空,或 结算主体等于选择的结算主体且在职,都可以存入Map优先备用
for (TSalaryEmployee e : empList) {
es = empIdCardMap.get(e.getEmpIdcard());
if (es == null || CommonConstants.ZERO_INT != es.getFileStatus() || Common.isEmpty(es.getBankName())
|| (e.getDeptId().equals(settleDepart) && CommonConstants.ZERO_INT == e.getFileStatus()
if (es == null || CommonConstants.ZERO_STRING != es.getFileStatus() || Common.isEmpty(es.getBankName())
|| (e.getDeptId().equals(settleDepart) && CommonConstants.ZERO_STRING == e.getFileStatus()
&& Common.isNotNull(e.getBankName()))) {
empIdCardMap.put(e.getEmpIdcard(), e);
empNameMap.put(e.getEmpName().replace(" ", ""), e);
......@@ -187,7 +187,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
// 劳务费和稿酬 薪资类型互斥校验Map格式:本年度#身份证号
if (CommonConstants.THREE_STRING.equals(salaryType) || CommonConstants.FOUR_STRING.equals(salaryType)) {
if (Common.isNotNull(configSalary)) {
checkListY = tSalaryAccountService.getAccountYearCheckMap(dept.getId());
checkListY = tSalaryAccountService.getAccountYearCheckMap();
}
}
......@@ -772,6 +772,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
SalaryConstants.ACTUAL_SALARY_SUM_JAVA,
calculation(a, relaySalary, saiList), CommonConstants.ZERO_INT);
}
if (relaySalary.compareTo(BigDecimal.ZERO) <=0) {
relaySalary = a.getRelaySalary();
}
//计算个人社保、公积金欠款————工资不够扣缴社保的
if (relaySalary.compareTo(personalDebt) == SalaryConstants.LESS_THAN) {
this.saveNewItems(sai, saiList, SalaryConstants.PERSONAL_DEBT,
......
......@@ -54,6 +54,9 @@ public class TMinSalaryServiceImpl extends ServiceImpl<TMinSalaryMapper, TMinSal
if (Common.isNotNull(tMinSalary.getTown())){
query.eq(TMinSalary::getTown,tMinSalary.getTown());
}
if (Common.isEmpty(tMinSalary.getTown())){
query.isNull(TMinSalary::getTown);
}
query.eq(TMinSalary::getStatus, CommonConstants.ONE_INT);
long res = baseMapper.selectCount(query);
if (res > CommonConstants.ZERO_INT){
......
......@@ -214,7 +214,7 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
}
@Override
public List<String> getAccountYearCheckMap(String settleId) {
return baseMapper.getAccountYearCheckList(settleId);
public List<String> getAccountYearCheckMap() {
return baseMapper.getAccountYearCheckList();
}
}
......@@ -43,6 +43,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryEmployeeMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmployeeService;
import com.yifu.cloud.plus.v1.yifu.salary.util.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeVo;
import lombok.extern.log4j.Log4j2;
......@@ -92,7 +93,7 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
public void listExport(HttpServletResponse response, TSalaryEmployeeSearchVo searchVo) {
String fileName = "薪酬人员表批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TSalaryEmployee> list = new ArrayList<>();
List<TSalaryEmployeeExportVo> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
ServletOutputStream out = null;
try {
......@@ -102,7 +103,7 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter excelWriter = EasyExcel.write(out, TSalaryEmployee.class).build();
ExcelWriter excelWriter = EasyExcel.write(out, TSalaryEmployeeExportVo.class).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; ) {
......@@ -111,8 +112,8 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo);
if (Common.isNotNull(list)) {
ExcelUtil<TSalaryEmployee> util = new ExcelUtil<>(TSalaryEmployee.class);
for (TSalaryEmployee vo : list) {
ExcelUtil<TSalaryEmployeeExportVo> util = new ExcelUtil<>(TSalaryEmployeeExportVo.class);
for (TSalaryEmployeeExportVo vo : list) {
util.convertEntity(vo, null, null, null);
}
}
......@@ -149,17 +150,8 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
}
@Override
public List<TSalaryEmployee> noPageDiy(TSalaryEmployeeSearchVo searchVo) {
LambdaQueryWrapper<TSalaryEmployee> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryEmployee::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
public List<TSalaryEmployeeExportVo> noPageDiy(TSalaryEmployeeSearchVo searchVo) {
return baseMapper.noPageDiy(searchVo,Common.getList(searchVo.getIds()));
}
private Long noPageCountDiy(TSalaryEmployeeSearchVo searchVo) {
......@@ -300,6 +292,22 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
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())) {
// 调用校验服务-校验手机号
......
......@@ -161,11 +161,13 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
@Override
public List<TSalaryStandardExportVo> noPageDiy(TSalaryStandardSearchVo searchVo) {
return baseMapper.getSalaryStandardExport(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
return baseMapper.getSalaryStandardExport(searchVo,idList);
}
private int noPageCountDiy(TSalaryStandardSearchVo searchVo) {
return baseMapper.getSalaryStandardExportCount(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
return baseMapper.getSalaryStandardExportCount(searchVo,idList);
}
@Override
......
......@@ -420,7 +420,7 @@ public class SalaryAccountUtil implements Serializable {
} else {
areaStr = ExcelUtil.getRedisAreaValue(CacheConstants.AREA_VALUE + entity.getBankProvince().trim());
if (Common.isNotNull(areaStr)) {
newEmp.setBankProvince(Integer.parseInt(areaStr));
newEmp.setBankProvince(areaStr);
} else {
error = "第" + (i + 2) + "行:新员工-开户行省错误:" + entity.getBankProvince();
errorList.add(new ErrorMessage((i + 2), error));
......@@ -429,7 +429,7 @@ public class SalaryAccountUtil implements Serializable {
areaStr = ExcelUtil.getRedisAreaValue(CacheConstants.AREA_VALUE + entity.getBankCity().trim()
+ CommonConstants.DOWN_LINE_STRING + entity.getBankProvince().trim());
if (Common.isNotNull(areaStr)) {
newEmp.setBankCity(Integer.parseInt(areaStr));
newEmp.setBankCity(areaStr);
} else {
error = "第" + (i + 2) + "行:新员工-开户行市错误:" + entity.getBankCity();
errorList.add(new ErrorMessage((i + 2), error));
......@@ -459,19 +459,19 @@ public class SalaryAccountUtil implements Serializable {
if (Common.isNotNull(entity.getBankProvince())) {
areaStr = ExcelUtil.getRedisAreaValue(CacheConstants.AREA_VALUE + entity.getBankProvince().trim());
if (Common.isNotNull(areaStr)) {
newEmp.setBankProvince(Integer.parseInt(areaStr));
newEmp.setBankProvince(areaStr);
}
if (Common.isNotNull(entity.getBankCity())) {
areaStr = ExcelUtil.getRedisAreaValue(CacheConstants.AREA_VALUE + entity.getBankCity().trim()
+ CommonConstants.DOWN_LINE_STRING + entity.getBankProvince().trim());
if (Common.isNotNull(areaStr)) {
newEmp.setBankCity(Integer.parseInt(areaStr));
newEmp.setBankCity(areaStr);
}
}
}
}
}
newEmp.setFileStatus(CommonConstants.ZERO_INT); //临时
newEmp.setFileStatus(CommonConstants.ZERO_STRING); //临时
newEmp.setDeptId(dept.getId());
newEmp.setDeptName(dept.getDepartName());
newEmp.setDeptNo(dept.getDepartNo());
......
......@@ -67,6 +67,11 @@
<result property="salaryTaxUnit" column="SALARY_TAX_UNIT"/>
<result property="haveSalaryFlag" column="HAVE_SALARY_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>
<sql id="Base_Column_List">
a.ID,
......@@ -111,7 +116,12 @@
a.RELAY_SALARY_UNIT,
a.SALARY_TAX_UNIT,
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 id="tSalaryAccount_where">
<if test="tSalaryAccount != null">
......@@ -249,6 +259,7 @@
a.DELETE_FLAG = 0
<include refid="tSalaryAccount_where"/>
</where>
order by a.CREATE_TIME desc
</select>
<!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 -->
......@@ -339,6 +350,6 @@
<select id="getAccountYearCheckList" resultType="java.lang.String">
select a.EMP_IDCARD
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>
</mapper>
......@@ -48,6 +48,25 @@
<result property="taxMonth" column="TAX_MONTH"/>
<result property="fileStatus" column="FILE_STATUS"/>
</resultMap>
<resultMap id="salaryEmployeeExportMap" type="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo">
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="unitId" column="UNIT_ID"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="unitNo" column="UNIT_NO"/>
<result property="deptId" column="DEPT_ID"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="bankName" column="BANK_NAME"/>
<result property="bankSubName" column="BANK_SUB_NAME"/>
<result property="bankNo" column="BANK_NO"/>
<result property="invoiceTitle" column="INVOICE_TITLE"/>
<result property="bankProvince" column="BANK_PROVINCE"/>
<result property="bankCity" column="BANK_CITY"/>
<result property="empPhone" column="EMP_PHONE"/>
<result property="taxMonth" column="TAX_MONTH"/>
<result property="fileStatus" column="FILE_STATUS"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.EMP_NAME,
......@@ -154,6 +173,32 @@
<where>
1=1
<include refid="tSalaryEmployee_where"/>
</where>
ORDER BY a.CREATE_TIME DESC
</where>
</select>
<select id="noPageDiy" resultMap="salaryEmployeeExportMap" parameterType="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo">
SELECT
<include refid="Base_Column_List"/>
FROM t_salary_employee a
<where>
1=1
<include refid="where_export"/>
ORDER BY a.CREATE_TIME DESC
</where>
<if test="tSalaryEmployee != null">
<if test="tSalaryEmployee.limitStart != null">
limit #{tSalaryEmployee.limitStart},#{tSalaryEmployee.limitEnd}
</if>
</if>
</select>
<sql id="where_export">
<include refid="tSalaryEmployee_where"/>
<if test="idList != null and idList.size>0">
AND a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</sql>
</mapper>
......@@ -256,8 +256,11 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_salary_standard a
left join t_dept_see d on a.DEPT_NO = d.DEPT_NO
<where>
a.DELETE_FLAG = 0
<!-- 薪资是否可查看 0 是 1否-->
and d.CAN_SEE= 0
<include refid="tSalaryStandard_where"/>
</where>
ORDER BY a.CREATE_TIME desc
......@@ -304,8 +307,9 @@
a.FORM_TYPE,
a.CREATE_TIME
FROM t_salary_standard a
LEFT JOIN t_dept_see d ON a.DEPT_NO = d.DEPT_NO
<where>
a.DELETE_FLAG = 0
a.DELETE_FLAG = 0 AND d.CAN_SEE = 0
<include refid="where_export"/>
</where>
ORDER BY a.CREATE_TIME desc
......@@ -320,8 +324,9 @@
SELECT
count(1)
FROM t_salary_standard a
LEFT JOIN t_dept_see d ON a.DEPT_NO = d.DEPT_NO
<where>
a.DELETE_FLAG = 0
a.DELETE_FLAG = 0 AND d.CAN_SEE = 0
<include refid="where_export"/>
</where>
</select>
......@@ -336,15 +341,21 @@
<if test="tSalaryStandard.salaryMonth != null and tSalaryStandard.salaryMonth.trim() != ''">
AND a.SALARY_MONTH = #{tSalaryStandard.salaryMonth}
</if>
<if test="tSalaryStandard.status == null">
<!--<if test="tSalaryStandard.status == null">
AND (a.STATUS = 1 OR a.STATUS = 2 OR a.STATUS = 5)
</if>
</if>-->
<if test="tSalaryStandard.status != null">
AND a.STATUS = #{tSalaryStandard.status}
</if>
</if>
</sql>
<sql id="where_export">
<if test="idList != null and idList.size>0">
AND a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
<if test="searchVo != null">
<if test="searchVo.deptName != null and searchVo.deptName.trim() != ''">
AND a.DEPT_NAME like concat('%',#{searchVo.deptName},'%')
......@@ -355,9 +366,9 @@
<if test="searchVo.salaryMonth != null and searchVo.salaryMonth.trim() != ''">
AND a.SALARY_MONTH = #{searchVo.salaryMonth}
</if>
<if test="searchVo.status == null">
<!--<if test="searchVo.status == null">
AND (a.STATUS = 1 OR a.STATUS = 2 OR a.STATUS = 5)
</if>
</if>-->
<if test="searchVo.status != null">
AND a.STATUS = #{searchVo.status}
</if>
......
......@@ -201,6 +201,7 @@
1=1
<include refid="tStatisticsCurrentReport_where"/>
</where>
order by a.DECLARE_MONTH desc
</select>
<!-- 本期申报 -->
......@@ -257,7 +258,8 @@
where m.declare_MONTH <![CDATA[<=]]> #{lastMonth} and m.declare_MONTH like '${nowYear}%'
GROUP BY m.EMP_IDCARD,m.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>
......
......@@ -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.salary.vo.TPaymentBySalaryVo;
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.service.TForecastLibraryService;
import io.swagger.v3.oas.annotations.Operation;
......@@ -247,4 +248,17 @@ public class TForecastLibraryController {
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;
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.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.service.TPaymentInfoService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo;
......@@ -297,4 +298,17 @@ public class TPaymentInfoController {
)
.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;
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.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.service.TSocialFundInfoService;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo;
......@@ -127,4 +129,17 @@ public class TSocialFundInfoController {
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;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TForecastLibrary;
import com.yifu.cloud.plus.v1.yifu.social.vo.TForecastLibraryExportVo;
import org.apache.ibatis.annotations.Mapper;
......@@ -66,4 +67,6 @@ public interface TForecastLibraryMapper extends BaseMapper<TForecastLibrary> {
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;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.UpdateSocialFoundVo;
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.TPaymentInfoVo;
......@@ -106,4 +107,6 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
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;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.vo.TSocialFundInfoExportVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
......@@ -62,4 +63,8 @@ public interface TSocialFundInfoMapper extends BaseMapper<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;
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.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.TForecastLibrary;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
......@@ -122,4 +123,6 @@ public interface TForecastLibraryService extends IService<TForecastLibrary> {
int updateForecastFundStatusToSettle(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;
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.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.vo.TPaymentInfoSearchVo;
......@@ -128,5 +129,7 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
int updatePaymentFundStatusToSettle(List<String> idList);
int updatePaymentFundStatusToNoSettle(List<String> idList);
void updatePaymentSocialAndFound(UpdateSocialFoundVo list);
}
......@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
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.vo.TSocialFundInfoDetailVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoSearchVo;
......@@ -71,5 +72,7 @@ public interface TSocialFundInfoService extends IService<TSocialFundInfo> {
* @return: com.yifu.cloud.plus.v1.yifu.social.vo.TSocialFundInfoDetailVo
**/
TSocialFundInfoDetailVo getDetailById(String id);
void updateSocialAndFoundInfo(UpdateSocialFoundVo list);
}
......@@ -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.salary.vo.TPaymentBySalaryVo;
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.entity.SysBaseSetInfo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TAgentConfig;
......@@ -2134,4 +2135,11 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
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;/*
import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.read.listener.ReadListener;
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.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo;
import com.yifu.cloud.plus.v1.yifu.archives.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.exception.ErrorCodes;
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;
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.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.constants.PaymentConstants;
import com.yifu.cloud.plus.v1.yifu.social.constants.SocialConstants;
......@@ -201,6 +199,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) {
return R.failed("已推送至结算平台禁止删除!");
}
if (CommonConstants.TWO_STRING.equals(paymentInfo.getSalaryFundFlag()) ||
CommonConstants.TWO_STRING.equals(paymentInfo.getSalarySocialFlag())) {
return R.failed("该数据已与薪资结算,禁止删除");
}
baseMapper.deleteById(id);
return R.ok();
}
......@@ -222,6 +225,10 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) {
return R.failed("存在不符合条件的数据(已推送至结算平台或非本人创建),禁止删除!");
}
if (CommonConstants.TWO_STRING.equals(paymentInfo.getSalaryFundFlag()) ||
CommonConstants.TWO_STRING.equals(paymentInfo.getSalarySocialFlag())) {
return R.failed("存在不符合条件的数据(已与薪资结算),禁止删除");
}
baseMapper.deleteById(id);
}
}
......@@ -2192,4 +2199,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
}
return 0;
}
@Override
public void updatePaymentSocialAndFound(UpdateSocialFoundVo infoVo) {
if (Common.isNotNull(infoVo)) {
baseMapper.updatePaymentSocialAndFound(infoVo);
}
}
}
......@@ -32,16 +32,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.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.util.*;
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.salary.vo.UpdateSocialFoundVo;
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.mapper.TSocialFundInfoMapper;
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 lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
......@@ -775,4 +774,15 @@ public class TSocialFundInfoServiceImpl extends ServiceImpl<TSocialFundInfoMappe
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 @@
</foreach>
</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>
......@@ -1062,7 +1062,8 @@
<!-- 更改薪资公积金结算状态 -->
<update id="updatePaymentFundStatusByIdList">
update t_payment_info set SALARY_FUND_FLAG = #{status}
update t_payment_info
set SALARY_FUND_FLAG = #{status}
where
ID in
<foreach item="item" index="index" collection="idList" open="(" separator="," close=")">
......@@ -1070,4 +1071,17 @@
</foreach>
</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>
......@@ -1039,4 +1039,23 @@
limit #{tSocialFundInfo.limitStart},#{tSocialFundInfo.limitEnd}
</if>
</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>
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