Commit 05205ae9 authored by fangxinjiang's avatar fangxinjiang

薪資配置

parent d5261b13
......@@ -183,4 +183,10 @@ public class EmpProjectDispatchVo implements Serializable {
*/
@Schema(description = "社保-县")
private Integer socialTown;
/**
* 试用期(单位月)
*/
@Schema(description ="试用期(单位月)")
private String tryPeriod;
}
......@@ -2256,6 +2256,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
project.setEmpId(emp.getId());
}
}
project.setProjectSource(CommonConstants.ONE_STRING);
project.setEmpNo(tEmployeeProjectService.getEmpNo(project.getDeptNo()));
tEmployeeProjectService.save(project);
projectAdd.setId(project.getId());
......
......@@ -16,6 +16,17 @@ spring:
username: root
password: yf_zsk
url: jdbc:mysql://192.168.1.65:22306/yifu_checks?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
## spring security 配置
security:
......
......@@ -492,4 +492,12 @@ public interface ErrorCodes {
* 派增异常: 已存在兼职工伤,请派减后再派增五险
*/
String EMP_DISPATCH_SOCIAL_INJURY_EXISTING_LIMIT = "emp.dispatch.social.injury.existing.limit";
/**
* 派增异常: 失败项重新派单社保户与已有社保户不一致
*/
String EMP_DISPATCH_SOCIAL_HOLD_NOT_SAME = "emp.dispatch.social.hold.same";
/**
* 派增异常: 失败项重新派单缴纳方式不可变更
*/
String EMP_DISPATCH_SOCIAL_PAYMENT_TYPE_NOT_SAME = "emp.dispatch.social.payment.type.same";
}
......@@ -189,6 +189,10 @@ emp_dispatch_exist=\u6D3E\u589E\u5F02\u5E38\uFF1A \u540C\u4E00\u8EAB\u4EFD\u8BC1
emp.dispatch.social.injury.existing.limit=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5DF2\u5B58\u5728\u517C\u804C\u5DE5\u4F24\uFF0C\u8BF7\u6D3E\u51CF\u540E\u518D\u6D3E\u589E\u4E94\u9669
emp.dispatch.social.hold.same=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5931\u8D25\u9879\u91CD\u65B0\u6D3E\u5355\u793E\u4FDD\u6237\u4E0E\u5DF2\u6709\u793E\u4FDD\u6237\u4E0D\u4E00\u81F4
emp.dispatch.social.payment.type.same=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5931\u8D25\u9879\u91CD\u65B0\u6D3E\u5355\u7F34\u7EB3\u65B9\u5F0F\u4E0D\u53EF\u53D8\u66F4
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
......@@ -33,62 +19,84 @@ import java.math.BigDecimal;
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_account_item")
@Schema(description = "工资报账表附加-工资明细")
public class TSalaryAccountItem {
@Tag(name = "工资报账表附加-工资明细")
public class TSalaryAccountItem extends Model<TSalaryAccountItem> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@ExcelProperty(value = "主键")
private String id;
/**
* 工资报账表ID
*/
@ExcelAttribute(name = "工资报账表ID", isNotEmpty = true, errorInfo = "工资报账表ID不能为空", maxLength = 32)
@NotBlank(message = "工资报账表ID不能为空")
@ExcelProperty(value = "工资报账表ID")
@Length(max = 32, message = "工资报账表ID不能超过32个字符")
@ExcelProperty("工资报账表ID")
@NotBlank(message = "工资报账表ID不能为空")
@ExcelAttribute(name = "工资报账表ID", isNotEmpty = true, errorInfo = "工资报账表ID不能为空", maxLength = 32)
private String salaryAccountId;
/**
* 表头名称
*/
@ExcelAttribute(name = "表头名称", isNotEmpty = true, errorInfo = "表头名称不能为空", maxLength = 50)
@NotBlank(message = "表头名称不能为空")
@ExcelProperty(value = "表头名称")
@Length(max = 50, message = "表头名称不能超过50个字符")
@ExcelProperty("表头名称")
@NotBlank(message = "表头名称不能为空")
@ExcelAttribute(name = "表头名称", isNotEmpty = true, errorInfo = "表头名称不能为空", maxLength = 50)
private String cnName;
/**
* JAVA属性名称
*/
@ExcelAttribute(name = "JAVA属性名称", isNotEmpty = true, errorInfo = "JAVA属性名称不能为空", maxLength = 32)
@NotBlank(message = "JAVA属性名称不能为空")
@ExcelProperty(value = "JAVA属性名称")
@Length(max = 32, message = "JAVA属性名称不能超过32个字符")
@ExcelProperty("JAVA属性名称")
@NotBlank(message = "JAVA属性名称不能为空")
@ExcelAttribute(name = "JAVA属性名称", isNotEmpty = true, errorInfo = "JAVA属性名称不能为空", maxLength = 32)
private String javaFiedName;
/**
* 属性值
*/
@ExcelProperty(value = "属性值")
@ExcelAttribute(name = "属性值")
@ExcelProperty("属性值")
private BigDecimal salaryMoney;
/**
* 文本值
*/
@ExcelProperty(value = "文本值")
@Length(max = 100, message = "文本值不能超过100个字符")
@ExcelAttribute(name = "文本值", maxLength = 100)
private String textValue;
/**
* 是否进行计算扣税:1:计算;0:不计算
*/
@ExcelAttribute(name = "是否进行计算扣税:1:计算;0:不计算", isNotEmpty = true, errorInfo = "是否进行计算扣税:1:计算;0:不计算不能为空")
@NotBlank(message = "是否进行计算扣税:1:计算;0:不计算不能为空")
@ExcelProperty("是否进行计算扣税:1:计算;0:不计算")
@ExcelProperty(value = "是否进行计算扣税:1:计算;0:不计算")
@NotBlank(message = "是否进行计算扣税不能为空")
@ExcelAttribute(name = "是否进行计算扣税", isNotEmpty = true, errorInfo = "是否进行计算扣税不能为空")
private Integer isTax;
/**
* 文本值
* 员工身份证号
*/
@ExcelAttribute(name = "文本值", maxLength = 500)
@Length(max = 500, message = "文本值不能超过500个字符")
@ExcelProperty("文本值")
private String textValue;
@TableField(exist = false)
private String empIdcard;
/**
* 结算月
*/
@TableField(exist = false)
private String settlementMonth;
/**
* 财务类型0:工资;1:绩效;2:其他;3:劳务费
*/
@TableField(exist = false)
private String salaryType;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Data
@TableName("t_salary_standard_set")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "薪资工资条配置主表")
public class TSalaryStandardSet extends BaseEntity {
@TableName("t_salary_standard_set")
@Tag(name = "薪资工资条配置主表")
public class TSalaryStandardSet extends Model<TSalaryStandardSet> {
private static final long serialVersionUID = 1L;
/**
* id
*
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@ExcelProperty(value = "主键")
private String id;
/**
* 工资主表ID
*/
@ExcelAttribute(name = "工资主表ID", isNotEmpty = true, errorInfo = "工资主表ID不能为空", maxLength = 32)
@NotBlank(message = "工资主表ID不能为空")
@Length(max = 32, message = "工资主表ID不能超过32个字符")
@ExcelProperty("工资主表ID")
@ExcelAttribute(name = "工资主表ID", isNotEmpty = true, errorInfo = "工资主表ID不能为空", maxLength = 32)
@ExcelProperty(value = "工资主表ID")
private String salaryId;
/**
* 结算部门id
*/
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@NotBlank(message = "结算部门id不能为空")
@Length(max = 32, message = "结算部门id不能超过32个字符")
@ExcelProperty("结算部门id")
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@ExcelProperty(value = "结算部门id")
private String deptId;
/**
* 创建人
*/
@NotBlank(message = "创建人不能为空")
@Length(max = 32, message = "创建人不能超过32个字符")
@ExcelAttribute(name = "创建人", isNotEmpty = true, errorInfo = "创建人不能为空", maxLength = 32)
@ExcelProperty(value = "创建人")
private String createUser;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间")
@ExcelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 是否为0不显示:0显示;1不显示
*/
@ExcelAttribute(name = "是否为0不显示:0显示;1不显示")
@ExcelProperty("是否为0不显示:0显示;1不显示")
@ExcelProperty(value = "是否为0不显示:0显示;1不显示")
private Integer isZero;
/**
* 明细
*/
@TableField(exist = false)
@ExcelProperty(value = "明细")
private List<TSalaryStandardSetDetail> detailList = new ArrayList<>();
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_standard_set_detail")
@Schema(description = "薪资工资条配置明细表")
public class TSalaryStandardSetDetail {
@Tag(name = "薪资工资条配置明细表")
public class TSalaryStandardSetDetail extends Model<TSalaryStandardSetDetail> {
private static final long serialVersionUID = 1L;
/**
* id
*
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@ExcelProperty(value = "主键")
private String id;
/**
* TSalaryStandardSet表的主键
*TSalaryStandardSet表的主键
*/
@ExcelAttribute(name = "TSalaryStandardSet表的主键", isNotEmpty = true, errorInfo = "TSalaryStandardSet表的主键不能为空", maxLength = 32)
@NotBlank(message = "TSalaryStandardSet表的主键不能为空")
@Length(max = 32, message = "TSalaryStandardSet表的主键不能超过32个字符")
@ExcelProperty("TSalaryStandardSet表的主键")
@ExcelAttribute(name = "TSalaryStandardSet表的主键", isNotEmpty = true, errorInfo = "不能为空", maxLength = 32)
@ExcelProperty(value = "TSalaryStandardSet表的主键")
private String setId;
/**
* cnName
*
*/
@ExcelAttribute(name = "cnName", isNotEmpty = true, errorInfo = "cnName不能为空", maxLength = 50)
@NotBlank(message = "cnName不能为空")
@Length(max = 50, message = "cnName不能超过50个字符")
@ExcelProperty("cnName")
@NotBlank(message = "不能为空")
@Length(max = 50, message = "不能超过50个字符")
@ExcelAttribute(name = "", isNotEmpty = true, errorInfo = "不能为空", maxLength = 50)
@ExcelProperty(value = "")
private String cnName;
/**
* orderLine
*
*/
@ExcelAttribute(name = "orderLine", isNotEmpty = true, errorInfo = "orderLine不能为空")
@NotBlank(message = "orderLine不能为空")
@ExcelProperty("orderLine")
@NotNull(message = "不能为空")
@ExcelAttribute(name = "", isNotEmpty = true, errorInfo = "不能为空")
@ExcelProperty(value = "")
private Integer orderLine;
}
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 工资条VO
*
* @author hgw
* @date 2021-10-8 14:53:35
*/
@Data
@Tag(name = "工资条VO")
public class TSalarySetVo implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "工资明细")
private Set<String> salaryItem = new HashSet<>();
@Schema(description = "工资条配置,顺序的明细在detailList里")
private TSalaryStandardSet salarySet = new TSalaryStandardSet();
@Schema(description = "报账明细")
private List<TSalaryAccountItem> itemList = new ArrayList<>();
}
......@@ -80,7 +80,7 @@ public class TDeptSeeController {
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tdeptsee_get')")
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<TDeptSee> getById(@PathVariable("id") String id) {
return R.ok(tDeptSeeService.getById(id));
......
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalarySetVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2019-07-30 15:00:05
*/
@RestController
@AllArgsConstructor
@RequestMapping("/tsalaryaccountitem")
@Tag(name = "工资报账表附加-工资明细")
public class TSalaryAccountItemController {
private final TSalaryAccountItemService tSalaryAccountItemService;
private final TSalaryStandardSetService tSalaryStandardSetService;
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryAccountItem>> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.getTSalaryAccountItemPage(page, tSalaryAccountItem));
}
/**
* 简单分页查询
* @author fxj
* @date 2022-03-11
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/noPage")
public R<List<TSalaryAccountItem>> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.getTSalaryAccountItemNoPage(tSalaryAccountItem));
}
/**
* @param accountId
* @Description: 获取报账明细
* @Author: hgw
* @Date: 2020/5/21 16:01
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Operation(description = "获取报账明细")
@PostMapping("/getAccountItemByAccountId")
public List<TSalaryAccountItem> getAccountItemByAccountId(String accountId) {
if (Common.isNotNull(accountId)) {
TSalaryAccountItem item = new TSalaryAccountItem();
item.setSalaryAccountId(accountId);
QueryWrapper<TSalaryAccountItem> queryWrapperAi = new QueryWrapper<>();
queryWrapperAi.setEntity(item);
return tSalaryAccountItemService.list(queryWrapperAi);
} else {
return new ArrayList<>();
}
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryAccountItem> getById(@PathVariable("id") String id) {
return new R<>(tSalaryAccountItemService.getById(id));
}
/**
* 新增记录
*
* @param tSalaryAccountItem
* @return R
*/
@Operation(description = "新增")
@SysLog("新增工资报账表附加-工资明细")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_add')")
public R save(@RequestBody TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.save(tSalaryAccountItem));
}
/**
* 修改记录
*
* @param tSalaryAccountItem
* @return R
*/
@Operation(description = "修改")
@SysLog("修改工资报账表附加-工资明细")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_edit')")
public R update(@RequestBody TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.updateById(tSalaryAccountItem));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除")
@SysLog("删除工资报账表附加-工资明细")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_del')")
public R removeById(@PathVariable String id) {
return new R<>(tSalaryAccountItemService.removeById(id));
}
/**
* @param accountId 报账id
* @Description: 获取实发金额
* @Author: hgw
* @Date: 2019/11/28 14:53
* @return: java.math.BigDecimal
**/
@Operation(description = "获取实发金额(accountId:报账id)")
@GetMapping("/getActualMoneyByAccountId")
public BigDecimal getActualMoneyByAccountId(@RequestParam String accountId) {
return tSalaryAccountItemService.getMoneyByAccountIdAndJavaFiedName(accountId, SalaryConstants.ACTUAL_SALARY_SUM_JAVA);
}
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
@Operation(description = "新工资条-获取工资列明细以及配置")
@GetMapping("/getSalarySet")
public R<TSalarySetVo> getSalarySet(@RequestParam String salaryId) {
Set<String> items = tSalaryAccountItemService.getItemSet(salaryId);
TSalaryStandardSet ss = tSalaryStandardSetService.lambdaQuery()
.eq(TSalaryStandardSet::getSalaryId, salaryId).last(" order by CREATE_TIME desc limit 1 ").one();
if (ss != null && Common.isNotNull(ss.getId())) {
List<TSalaryStandardSetDetail> detail = tSalaryStandardSetDetailService.list(
Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, ss.getId()).last(" order by order_line asc "));
ss.setDetailList(detail);
}
TSalarySetVo setVo = new TSalarySetVo();
setVo.setSalaryItem(items);
setVo.setSalarySet(ss);
return new R<>(setVo);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@RestController
@RequiredArgsConstructor
@AllArgsConstructor
@RequestMapping("/tsalarystandardset")
@Tag(name = "薪资工资条配置主表管理")
@Tag(name = "薪资工资条配置主表")
public class TSalaryStandardSetController {
private final TSalaryStandardSetService tSalaryStandardSetService;
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
......@@ -57,75 +41,49 @@ public class TSalaryStandardSetController {
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSet>> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet) {
public R<IPage<TSalaryStandardSet>> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSet tSalaryStandardSet) {
return new R<>(tSalaryStandardSetService.getTSalaryStandardSetPage(page, tSalaryStandardSet));
}
/**
* 不分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_get')" )
public R<List<TSalaryStandardSet>> getTSalaryStandardSetNoPage(@RequestBody TSalaryStandardSetSearchVo tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.noPageDiy(tSalaryStandardSet));
}
/**
* 通过id查询薪资工资条配置主表
* 通过id查询单条记录
*
* @param id id
* @param id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tsalarystandardset_get')")
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryStandardSet> getById(@PathVariable("id") String id) {
return R.ok(tSalaryStandardSetService.getById(id));
return new R<>(tSalaryStandardSetService.getById(id));
}
/**
* 新增薪资工资条配置主表
* 新增记录
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return R
*/
@Operation(summary = "新增薪资工资条配置主表", description = "新增薪资工资条配置主表:hasPermission('salary_tsalarystandardset_add')")
@SysLog("新增薪资工资条配置主表")
@PostMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_add')")
public R<Boolean> save(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.save(tSalaryStandardSet));
}
/**
* 修改薪资工资条配置主表
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @param tSalaryStandardSet
* @return R
*/
@Operation(summary = "修改薪资工资条配置主表", description = "修改薪资工资条配置主表:hasPermission('salary_tsalarystandardset_edit')")
@SysLog("修改薪资工资条配置主表")
@PutMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_edit')")
public R<Boolean> updateById(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.updateById(tSalaryStandardSet));
@Operation(description = "新增或修改(wxhr:tsalarystandardset_add)")
@PostMapping("/saveOrUptateSet")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardset_add')")
public R<TSalaryStandardSet> saveOrUptateSet(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return tSalaryStandardSetService.saveOrUpdateSet(tSalaryStandardSet);
}
/**
* 通过id删除薪资工资条配置主表
* 通过id删除一条记录
*
* @param id id
* @param id
* @return R
*/
@Operation(summary = "通过id删除薪资工资条配置主表", description = "通过id删除薪资工资条配置主表:hasPermission('salary_tsalarystandardset_del')")
@SysLog("通过id删除薪资工资条配置主表")
@Operation(description = "删除(wxhr:tsalarystandardset_del)")
@SysLog("删除薪资工资条配置主表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_del')")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardset_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tSalaryStandardSetService.removeById(id));
tSalaryStandardSetDetailService.remove(Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, id));
return new R<>(tSalaryStandardSetService.removeById(id));
}
}
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2021-10-08 14:36:56
*/
@RestController
@AllArgsConstructor
@RequestMapping("/tsalarystandardsetdetail")
@Tag(name = "薪资工资条配置明细表")
public class TSalaryStandardSetDetailController {
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSetDetail>> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.getTSalaryStandardSetDetailPage(page, tSalaryStandardSetDetail));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryStandardSetDetail> getById(@PathVariable("id") String id) {
return new R<>(tSalaryStandardSetDetailService.getById(id));
}
/**
* 新增记录
*
* @param tSalaryStandardSetDetail
* @return R
*/
@Operation(description = "新增(wxhr:tsalarystandardsetdetail_add)")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_add')")
public R<Boolean> save(@Valid @RequestBody TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.save(tSalaryStandardSetDetail));
}
/**
* 修改记录
*
* @param tSalaryStandardSetDetail
* @return R
*/
@Operation(description = "修改(wxhr:tsalarystandardsetdetail_edit)")
@SysLog("修改薪资工资条配置明细表")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_edit')")
public R<Boolean> update(@RequestBody TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.updateById(tSalaryStandardSetDetail));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除(wxhr:tsalarystandardsetdetail_del)")
@SysLog("删除薪资工资条配置明细表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_del')")
public R<Boolean> removeById(@PathVariable String id) {
return new R<>(tSalaryStandardSetDetailService.removeById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Mapper
public interface TSalaryAccountItemMapper extends BaseMapper<TSalaryAccountItem> {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, @Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page page, @Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
List<TSalaryAccountItem> getTSalaryAccountItemPage(@Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllTSalaryAccountItem(@Param("settleDepartId") String settleDepartId,
@Param("settleMonth") String settleMonth, @Param("javaFiedName") String javaFiedName,
@Param("finallyYear") String finallyYear, @Param("empIdcard") String empIdcard,
@Param("accountId") String accountId);
/**
* @param idCard 身份证
* @param maxYearMonth 最大年月
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getEmpAllSalaryAccountItem(@Param("idCard") String idCard, @Param("maxYearMonth") String maxYearMonth, @Param("invoiceTitle") String invoiceTitle);
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:04
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllItemVoList(@Param("idCardList") List<String> idCardList, @Param("invoiceTitle") String invoiceTitle);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月总工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAllMoney(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param accountId 报账表id串
* @param javaFiedName java字段名
* @return
* @Author pwang
* @Date 2019-11-06 15:42
**/
BigDecimal getAllMoneyByAccountIdAndFiedName(@Param("accountId") String accountId
, @Param("javaFiedName") String javaFiedName);
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
BigDecimal getMoneyByAccountIdAndJavaFiedName(@Param("accountId") String accountId
, @Param("javaFiedName") String javaFiedName);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取月份条数(前12个月平均工资,要除以工资月数,这里就是工资月数)
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.long.Integer
**/
Integer getAverageSalaryItemMonthCount(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月总工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getEngineerAllMoney(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取月份条数(前12个月平均工资,要除以工资月数,这里就是工资月数)
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.long.Integer
**/
Integer getEngineerAverageSalaryItemMonthCount(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
List<TSalaryAccountItem> getAccountItemList(@Param("tSalaryAccount") TSalaryAccount tSalaryAccount
, @Param("createUserId") String createUserId, @Param("userDeptId") Integer userDeptId
, @Param("unitName") String unitName, @Param("idStr") String idStr
, @Param("settleMonthStart") String settleMonthStart, @Param("settleMonthEnd") String settleMonthEnd);
List<Map<String,Object>> getSumByAccountId( @Param("account")List<TSalaryAccount> account);
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
Set<String> getItemSet(@Param("salaryId") String salaryId);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Mapper
public interface TSalaryStandardSetDetailMapper extends BaseMapper<TSalaryStandardSetDetail> {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, @Param("tSalaryStandardSetDetail") TSalaryStandardSetDetail tSalaryStandardSetDetail);
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page
, @Param("tSalaryStandardSetDetail") TSalaryStandardSetDetail tSalaryStandardSetDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Mapper
public interface TSalaryStandardSetMapper extends BaseMapper<TSalaryStandardSet> {
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, @Param("tSalaryStandardSet") TSalaryStandardSet tSalaryStandardSet);
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page
, @Param("tSalaryStandardSet") TSalaryStandardSet tSalaryStandardSet);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
public interface TSalaryAccountItemService extends IService<TSalaryAccountItem> {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem);
List<TSalaryAccountItem> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem);
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @param finallyYear 年终奖所在的结算年
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllTSalaryAccountItem(String settleDepartId, String settleMonth, String javaFiedName,
String finallyYear, String empIdcard, String accountId);
/**
* @param idCard
* @param maxYearMonth
* @param invoiceTitle
* @Description: 获取员工所有报账,累计扣税
* @Author: hgw
* @Date: 2019/9/30 18:19
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getEmpAllSalaryAccountItem(String idCard, String maxYearMonth, String invoiceTitle);
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:25
* @return: java.util.Map<java.lang.String, java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>>
**/
Map<String, List<TSalaryAccountItem>> getAllItemVoList(List<String> idCardList, String invoiceTitle);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月平均工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAverageSalary(String settleDepartId, String javaFiedName, String salaryDate, String empIdcard);
/**
* @param accountId 结算主体id
* @param javaFiedName 属性名
* @Description: 获取前几个月平均工资
* @Author: pwang
* @Date: 2019/11/06 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAllMoneyByAccountIdAndFiedName(String accountId, String javaFiedName);
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
BigDecimal getMoneyByAccountIdAndJavaFiedName(String accountId, String javaFiedName);
List<TSalaryAccountItem> getAccountItemList(TSalaryAccount tSalaryAccount, String createUserId, Integer userDeptId
, String unitName, String idStr, String settleMonthStart, String settleMonthEnd);
List<Map<String,Object>> getSumByAccountId(List<TSalaryAccount> account);
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
Set<String> getItemSet(String salaryId);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
......@@ -24,7 +9,17 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
public interface TSalaryStandardSetDetailService extends IService<TSalaryStandardSetDetail> {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, TSalaryStandardSetDetail tSalaryStandardSetDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
public interface TSalaryStandardSetService extends IService<TSalaryStandardSet> {
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet);
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSet tSalaryStandardSet);
/**
* @param salaryId 工资id
* @param deptId 结算主体id
* @Description: 复制工资条配置,根据结算主体id
* @Author: hgw
* @Date: 2021/10/8 15:53
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
void copyLastSetByDeptId(String salaryId, String deptId, String userId);
/**
* @param tSalaryStandardSet
* @Description: 新增或修改工资条配置以及详情
* @Author: hgw
* @Date: 2021/10/8 15:27
* @return: com.yifu.cloud.v1.common.core.util.R<com.yifu.cloud.v1.hrms.api.entity.TSalaryStandardSet>
**/
R<TSalaryStandardSet> saveOrUpdateSet(TSalaryStandardSet tSalaryStandardSet);
List<TSalaryStandardSet> noPageDiy(TSalaryStandardSetSearchVo searchVo);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountItemMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Log4j2
@Service
@Service("tSalaryAccountItemService")
public class TSalaryAccountItemServiceImpl extends ServiceImpl<TSalaryAccountItemMapper, TSalaryAccountItem> implements TSalaryAccountItemService {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Override
public IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem) {
return baseMapper.getTSalaryAccountItemPage(page, tSalaryAccountItem);
}
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Override
public List<TSalaryAccountItem> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem) {
return baseMapper.getTSalaryAccountItemPage(tSalaryAccountItem);
}
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Override
public List<TSalaryAccountItem> getAllTSalaryAccountItem(String settleDepartId, String settleMonth, String javaFiedName,
String finallyYear, String empIdcard, String accountId) {
return baseMapper.getAllTSalaryAccountItem(settleDepartId, settleMonth, javaFiedName, finallyYear, empIdcard, accountId);
}
/**
* @param idCard 身份证
* @param maxYearMonth 最大年月
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Override
public List<TSalaryAccountItem> getEmpAllSalaryAccountItem(String idCard, String maxYearMonth, String invoiceTitle) {
return baseMapper.getEmpAllSalaryAccountItem(idCard, maxYearMonth, invoiceTitle);
}
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:25
* @return: java.util.Map<java.lang.String, java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>>
**/
@Override
public Map<String, List<TSalaryAccountItem>> getAllItemVoList(List<String> idCardList, String invoiceTitle) {
List<TSalaryAccountItem> list = baseMapper.getAllItemVoList(idCardList, invoiceTitle);
Map<String, List<TSalaryAccountItem>> itemMap = new HashMap<>();
if (list != null && !list.isEmpty()) {
List<TSalaryAccountItem> voList;
for (TSalaryAccountItem item : list) {
voList = itemMap.get(item.getEmpIdcard());
if (voList == null) {
voList = new ArrayList<>();
}
voList.add(item);
itemMap.put(item.getEmpIdcard(), voList);
}
}
return itemMap;
}
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月平均工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getAverageSalary(String settleDepartId, String javaFiedName, String salaryDate, String empIdcard) {
BigDecimal allMoney = baseMapper.getAllMoney(settleDepartId, javaFiedName, salaryDate, empIdcard);
Integer monthNum = baseMapper.getAverageSalaryItemMonthCount(settleDepartId, javaFiedName, salaryDate, empIdcard);
//工资报账明细里没找到,到工程工资里找
if (allMoney == null || allMoney.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.EQUAL
|| monthNum == null || monthNum == 0) {
allMoney = baseMapper.getEngineerAllMoney(settleDepartId, javaFiedName, salaryDate, empIdcard);
monthNum = baseMapper.getEngineerAverageSalaryItemMonthCount(settleDepartId, javaFiedName, salaryDate, empIdcard);
}
//计算平均工资
if (allMoney != null && allMoney.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.MORE_THAN
&& monthNum != null && monthNum > CommonConstants.ZERO_INT) {
allMoney = allMoney.divide(new BigDecimal(monthNum), 2, BigDecimal.ROUND_HALF_UP);
}
return allMoney;
}
/**
* @param accountId 结算主体id
* @param javaFiedName 属性名
* @Description: 获取前几个月平均工资
* @Author: pwang
* @Date: 2019/11/06 16:51
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getAllMoneyByAccountIdAndFiedName(String accountId, String javaFiedName) {
return baseMapper.getAllMoneyByAccountIdAndFiedName(accountId, javaFiedName);
}
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getMoneyByAccountIdAndJavaFiedName(String accountId, String javaFiedName) {
return baseMapper.getMoneyByAccountIdAndJavaFiedName(accountId, javaFiedName);
}
@Override
public List<TSalaryAccountItem> getAccountItemList(TSalaryAccount tSalaryAccount, String createUserId, Integer userDeptId
, String unitName, String idStr, String settleMonthStart, String settleMonthEnd) {
return baseMapper.getAccountItemList(tSalaryAccount, createUserId, userDeptId, unitName, idStr
, settleMonthStart, settleMonthEnd);
}
@Override
public List<Map<String,Object>> getSumByAccountId(List<TSalaryAccount> account) {
return baseMapper.getSumByAccountId(account);
}
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
@Override
public Set<String> getItemSet(String salaryId) {
return baseMapper.getItemSet(salaryId);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetDetailMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Log4j2
@Service
@Service("tSalaryStandardSetDetailService")
public class TSalaryStandardSetDetailServiceImpl extends ServiceImpl<TSalaryStandardSetDetailMapper, TSalaryStandardSetDetail> implements TSalaryStandardSetDetailService {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
@Override
public IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page
, TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return baseMapper.getTSalaryStandardSetDetailPage(page, tSalaryStandardSetDetail);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import lombok.extern.log4j.Log4j2;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Log4j2
@Service
@AllArgsConstructor
@Slf4j
@Service("tSalaryStandardSetService")
public class TSalaryStandardSetServiceImpl extends ServiceImpl<TSalaryStandardSetMapper, TSalaryStandardSet> implements TSalaryStandardSetService {
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
private final TSalaryStandardService tSalaryStandardService;
/**
* 薪资工资条配置主表简单分页查询
*
......@@ -49,35 +44,89 @@ public class TSalaryStandardSetServiceImpl extends ServiceImpl<TSalaryStandardSe
* @return
*/
@Override
public IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet) {
public IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page
, TSalaryStandardSet tSalaryStandardSet) {
return baseMapper.getTSalaryStandardSetPage(page, tSalaryStandardSet);
}
/**
* @param salaryId 工资主表id
* @param deptId 结算主体id
* @Description: 复制工资条配置,根据结算主体id
* @Author: hgw
* @Date: 2021/10/8 15:53
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public List<TSalaryStandardSet> noPageDiy(TSalaryStandardSetSearchVo searchVo) {
LambdaQueryWrapper<TSalaryStandardSet> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryStandardSet::getId, idList);
public void copyLastSetByDeptId(String salaryId, String deptId, String userId) {
if (Common.isNotNull(salaryId) && Common.isNotNull(deptId)) {
TSalaryStandardSet ss = this.lambdaQuery().eq(TSalaryStandardSet::getDeptId, deptId).last("order by CREATE_TIME desc limit 1").one();
if (ss != null && Common.isNotNull(ss.getId())) {
List<TSalaryStandardSetDetail> detailList = tSalaryStandardSetDetailService.list(
Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, ss.getId()));
TSalaryStandardSet newSet = new TSalaryStandardSet();
newSet.setCreateTime(LocalDateTime.now());
newSet.setCreateUser(userId);
newSet.setIsZero(ss.getIsZero());
newSet.setSalaryId(salaryId);
newSet.setDeptId(deptId);
// 保存主表
this.save(newSet);
// 保存明细表
this.saveDetail(detailList, newSet);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TSalaryStandardSetSearchVo entity) {
LambdaQueryWrapper<TSalaryStandardSet> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TSalaryStandardSet::getCreateTime, entity.getCreateTimes()[0])
.le(TSalaryStandardSet::getCreateTime,
entity.getCreateTimes()[1]);
/**
* @param detailList
* @param newSet
* @Description: 保存明细表
* @Author: hgw
* @Date: 2021/10/8 15:52
* @return: void
**/
private void saveDetail(List<TSalaryStandardSetDetail> detailList, TSalaryStandardSet newSet) {
if (detailList != null && !detailList.isEmpty()) {
TSalaryStandardSetDetail newDetail;
for (TSalaryStandardSetDetail detail : detailList) {
newDetail = new TSalaryStandardSetDetail();
newDetail.setSetId(newSet.getId());
newDetail.setCnName(detail.getCnName());
newDetail.setOrderLine(detail.getOrderLine());
tSalaryStandardSetDetailService.save(newDetail);
}
}
}
@Override
public R<TSalaryStandardSet> saveOrUpdateSet(TSalaryStandardSet tSalaryStandardSet) {
YifuUser user = SecurityUtils.getUser();
if (user == null || user.getId() == null) {
return R.failed("未获取到登录人信息!");
}
if (Common.isEmpty(tSalaryStandardSet.getSalaryId())) {
TSalaryStandard ss = tSalaryStandardService.getById(tSalaryStandardSet.getSalaryId());
if (!ss.getCreateBy().equals(String.valueOf(user.getId()))) {
return R.failed("非创建人,不可编辑!");
}
}
if (Common.isEmpty(tSalaryStandardSet.getId())) {
tSalaryStandardSet.setCreateTime(LocalDateTime.now());
tSalaryStandardSet.setCreateUser(String.valueOf(user.getId()));
this.save(tSalaryStandardSet);
} else {
this.updateById(tSalaryStandardSet);
tSalaryStandardSetDetailService.remove(Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, tSalaryStandardSet.getId()));
}
if (tSalaryStandardSet.getDetailList() != null && !tSalaryStandardSet.getDetailList().isEmpty()) {
for (TSalaryStandardSetDetail detail : tSalaryStandardSet.getDetailList()) {
detail.setId(null);
detail.setSetId(tSalaryStandardSet.getId());
tSalaryStandardSetDetailService.save(detail);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TSalaryStandardSet::getCreateName, entity.getCreateName());
}
return wrapper;
return new R<>(tSalaryStandardSet);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountItemMapper">
......@@ -29,51 +10,409 @@
<result property="cnName" column="CN_NAME"/>
<result property="javaFiedName" column="JAVA_FIED_NAME"/>
<result property="salaryMoney" column="SALARY_MONEY"/>
<result property="textValue" column="TEXT_VALUE"/>
<result property="isTax" column="IS_TAX"/>
</resultMap>
<!-- 工资导入优化使用的vo -->
<resultMap id="itemVoMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem">
<id property="id" column="ID"/>
<result property="salaryAccountId" column="SALARY_ACCOUNT_ID"/>
<result property="cnName" column="CN_NAME"/>
<result property="javaFiedName" column="JAVA_FIED_NAME"/>
<result property="salaryMoney" column="SALARY_MONEY"/>
<result property="textValue" column="TEXT_VALUE"/>
<result property="isTax" column="IS_TAX"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="settlementMonth" column="SETTLEMENT_MONTH"/>
<result property="salaryType" column="SALARY_TYPE"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.SALARY_ACCOUNT_ID,
a.CN_NAME,
a.JAVA_FIED_NAME,
a.SALARY_MONEY,
a.IS_TAX,
a.TEXT_VALUE
</sql>
<sql id="tSalaryAccountItem_where">
<if test="tSalaryAccountItem != null">
<!--tSalaryAccountItem简单分页查询-->
<select id="getTSalaryAccountItemPage" resultMap="tSalaryAccountItemMap">
SELECT
ID,
SALARY_ACCOUNT_ID,
CN_NAME,
JAVA_FIED_NAME,
SALARY_MONEY,
TEXT_VALUE,
IS_TAX
FROM t_salary_account_item
<where>
<if test="tSalaryAccountItem.id != null and tSalaryAccountItem.id.trim() != ''">
AND a.ID = #{tSalaryAccountItem.id}
AND ID = #{tSalaryAccountItem.id}
</if>
<if test="tSalaryAccountItem.salaryAccountId != null and tSalaryAccountItem.salaryAccountId.trim() != ''">
AND a.SALARY_ACCOUNT_ID = #{tSalaryAccountItem.salaryAccountId}
AND SALARY_ACCOUNT_ID = #{tSalaryAccountItem.salaryAccountId}
</if>
<if test="tSalaryAccountItem.cnName != null and tSalaryAccountItem.cnName.trim() != ''">
AND a.CN_NAME = #{tSalaryAccountItem.cnName}
AND CN_NAME = #{tSalaryAccountItem.cnName}
</if>
<if test="tSalaryAccountItem.javaFiedName != null and tSalaryAccountItem.javaFiedName.trim() != ''">
AND a.JAVA_FIED_NAME = #{tSalaryAccountItem.javaFiedName}
AND JAVA_FIED_NAME = #{tSalaryAccountItem.javaFiedName}
</if>
<if test="tSalaryAccountItem.salaryMoney != null">
AND a.SALARY_MONEY = #{tSalaryAccountItem.salaryMoney}
<if test="tSalaryAccountItem.salaryMoney != null and tSalaryAccountItem.salaryMoney.trim() != ''">
AND SALARY_MONEY = #{tSalaryAccountItem.salaryMoney}
</if>
<if test="tSalaryAccountItem.isTax != null">
AND a.IS_TAX = #{tSalaryAccountItem.isTax}
</where>
</select>
<select id="getAllTSalaryAccountItem" resultMap="tSalaryAccountItemMap">
SELECT
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="tSalaryAccountItem.textValue != null and tSalaryAccountItem.textValue.trim() != ''">
AND a.TEXT_VALUE = #{tSalaryAccountItem.textValue}
<if test="settleMonth != null and settleMonth.trim() != ''">
AND a.SETTLEMENT_MONTH = #{settleMonth}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
</sql>
<!--tSalaryAccountItem简单分页查询-->
<select id="getTSalaryAccountItemPage" resultMap="tSalaryAccountItemMap">
<if test="finallyYear != null and finallyYear.trim() != ''">
AND a.SETTLEMENT_MONTH like concat(#{finallyYear}, '%')
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
<if test="accountId != null and accountId.trim() != ''">
AND a.id != #{accountId}
</if>
</where>
</select>
<select id="getEmpAllSalaryAccountItem" resultMap="tSalaryAccountItemMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_salary_account_item a
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
1=1
<include refid="tSalaryAccountItem_where"/>
a.DELETE_FLAG = 0 and a.SALARY_TYPE != 7
<if test="idCard != null and idCard.trim() != ''">
AND a.EMP_IDCARD = #{idCard}
</if>
<if test="maxYearMonth != null and maxYearMonth.trim() != ''">
AND a.SETTLEMENT_MONTH >= #{maxYearMonth}
</if>
<if test="invoiceTitle != null and invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{invoiceTitle}
</if>
</where>
</select>
<select id="getAllMoney" resultType="java.math.BigDecimal">
SELECT
sum(i.SALARY_MONEY)
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<select id="getAllMoneyByAccountIdAndFiedName" resultType="java.math.BigDecimal">
SELECT
sum(i.SALARY_MONEY)
FROM
t_salary_account_item i
where
i.SALARY_ACCOUNT_ID in (${accountId})
AND i.JAVA_FIED_NAME = '${javaFiedName}'
</select>
<select id="getAverageSalaryItemMonthCount" resultType="Integer">
SELECT
count(DISTINCT a.SALARY_DATE)
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<select id="getEngineerAllMoney" resultType="java.math.BigDecimal">
SELECT
sum(i.SALARY_MONEY)
FROM
t_engineer_account_item i left join t_engineer_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<select id="getEngineerAverageSalaryItemMonthCount" resultType="Integer">
SELECT
count(DISTINCT a.SALARY_DATE)
FROM
t_engineer_account_item i left join t_engineer_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.DELETE_FLAG = 0
<if test="settleDepartId != null and settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{settleDepartId}
</if>
<if test="javaFiedName != null and javaFiedName.trim() != ''">
AND i.JAVA_FIED_NAME = #{javaFiedName}
</if>
<if test="salaryDate != null and salaryDate.trim() != ''">
AND a.SALARY_DATE > #{salaryDate}
</if>
<if test="empIdcard != null and empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{empIdcard}
</if>
</where>
</select>
<!--获取报账表金额-->
<select id="getMoneyByAccountIdAndJavaFiedName" resultType="java.math.BigDecimal">
SELECT
i.SALARY_MONEY
FROM
t_salary_account_item i
where
i.SALARY_ACCOUNT_ID = #{accountId}
AND i.JAVA_FIED_NAME = '${javaFiedName}'
</select>
<!--报账明细-->
<select id="getAccountItemList" resultMap="tSalaryAccountItemMap">
SELECT
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX
FROM t_salary_account_item i
left join t_salary_account a on a.id=i.SALARY_ACCOUNT_ID
left join t_salary_standard s on s.id = a.SALARY_FORM_ID
<if test="unitName != null">
left join view_dept_unit d on d.id = s.DEPART_ID
</if>
<if test="userDeptId != null">
left join view_sys_user u on u.user_id = s.CREATE_USER
</if>
<where>
a.DELETE_FLAG = 0
<if test="idStr != null and idStr.trim() != ''">
AND a.id in (${idStr})
</if>
<if test="idStr == null or idStr.trim() == ''">
<if test="tSalaryAccount.invoiceTitle != null and tSalaryAccount.invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{tSalaryAccount.invoiceTitle}
</if>
<if test="tSalaryAccount.province != null">
AND a.PROVINCE = #{tEngineerAccount.province}
</if>
<if test="tSalaryAccount.city != null">
AND a.CITY = #{tEngineerAccount.city}
</if>
<if test="tSalaryAccount.town != null">
AND a.TOWN = #{tEngineerAccount.town}
</if>
<if test="tSalaryAccount.taxMonth != null and tSalaryAccount.taxMonth.trim() != ''">
AND a.TAX_MONTH = #{tSalaryAccount.taxMonth}
</if>
<if test="tSalaryAccount.id != null and tSalaryAccount.id.trim() != ''">
AND a.ID = #{tSalaryAccount.id}
</if>
<if test="tSalaryAccount.salaryFormId != null and tSalaryAccount.salaryFormId.trim() != ''">
AND a.SALARY_FORM_ID = #{tSalaryAccount.salaryFormId}
</if>
<if test="tSalaryAccount.salaryDate != null and tSalaryAccount.salaryDate.trim() != ''">
AND a.SALARY_DATE = #{tSalaryAccount.salaryDate}
</if>
<if test="tSalaryAccount.empId != null and tSalaryAccount.empId.trim() != ''">
AND a.EMP_ID = #{tSalaryAccount.empId}
</if>
<if test="tSalaryAccount.empName != null and tSalaryAccount.empName.trim() != ''">
AND a.EMP_NAME like '%${tSalaryAccount.empName}%'
</if>
<if test="tSalaryAccount.empNo != null and tSalaryAccount.empNo.trim() != ''">
AND a.EMP_NO = #{tSalaryAccount.empNo}
</if>
<if test="tSalaryAccount.settleDepartId != null and tSalaryAccount.settleDepartId.trim() != ''">
AND a.BELONG_DEPART = #{tSalaryAccount.settleDepartId}
</if>
<if test="tSalaryAccount.settleDepartNo != null and tSalaryAccount.settleDepartNo.trim() != ''">
AND a.SETTLE_DEPART_NO like '%${tSalaryAccount.settleDepartNo}%'
</if>
<if test="tSalaryAccount.settleDepartName != null and tSalaryAccount.settleDepartName.trim() != ''">
AND a.SETTLE_DEPART_NAME like '%${tSalaryAccount.settleDepartName}%'
</if>
<if test="tSalaryAccount.empIdcard != null and tSalaryAccount.empIdcard.trim() != ''">
AND a.EMP_IDCARD like '%${tSalaryAccount.empIdcard}%'
</if>
<if test="tSalaryAccount.bankNo != null and tSalaryAccount.bankNo.trim() != ''">
AND a.BANK_NO like '%${tSalaryAccount.bankNo}%'
</if>
<if test="tSalaryAccount.bankName != null and tSalaryAccount.bankName.trim() != ''">
AND a.BANK_NAME = #{tSalaryAccount.bankName}
</if>
<if test="tSalaryAccount.salaryCount != null and tSalaryAccount.salaryCount.trim() != ''">
AND a.SALARY_COUNT = #{tSalaryAccount.salaryCount}
</if>
<if test="tSalaryAccount.salaryStyle != null and tSalaryAccount.salaryStyle.trim() != ''">
AND a.SALARY_STYLE = #{tSalaryAccount.salaryStyle}
</if>
<if test="tSalaryAccount.salaryGiveTime != null and tSalaryAccount.salaryGiveTime.trim() != ''">
AND a.SALARY_GIVE_TIME = #{tSalaryAccount.salaryGiveTime}
</if>
<if test="tSalaryAccount.distributionFlag != null and tSalaryAccount.distributionFlag.trim() != ''">
AND a.DISTRIBUTION_FLAG = #{tSalaryAccount.distributionFlag}
</if>
<if test="tSalaryAccount.deduSocialMonth != null and tSalaryAccount.deduSocialMonth.trim() != ''">
AND a.DEDU_SOCIAL_MONTH = #{tSalaryAccount.deduSocialMonth}
</if>
<if test="tSalaryAccount.deduProvidentMonth != null and tSalaryAccount.deduProvidentMonth.trim() != ''">
AND a.DEDU_PROVIDENT_MONTH = #{tSalaryAccount.deduProvidentMonth}
</if>
<if test="tSalaryAccount.salaryType != null and tSalaryAccount.salaryType.trim() != ''">
AND a.SALARY_TYPE = #{tSalaryAccount.salaryType}
</if>
<if test="tSalaryAccount.salaryTaxFlag != null and tSalaryAccount.salaryTaxFlag.trim() != ''">
AND a.SALARY_TAX_FLAG = #{tSalaryAccount.salaryTaxFlag}
</if>
<if test="tSalaryAccount.settlementMonth != null and tSalaryAccount.settlementMonth.trim() != ''">
AND a.SETTLEMENT_MONTH = #{tSalaryAccount.settlementMonth}
</if>
<if test="tSalaryAccount.socialPriority != null and tSalaryAccount.socialPriority.trim() != ''">
AND a.SOCIAL_PRIORITY = #{tSalaryAccount.socialPriority}
</if>
<if test="tSalaryAccount.fundPriority != null and tSalaryAccount.fundPriority.trim() != ''">
AND a.FUND_PRIORITY = #{tSalaryAccount.fundPriority}
</if>
<if test="tSalaryAccount.annualBonusType != null and tSalaryAccount.annualBonusType.trim() != ''">
AND a.ANNUAL_BONUS_TYPE = #{tSalaryAccount.annualBonusType}
</if>
<if test="createUserId != null">
AND s.CREATE_USER = #{createUserId}
</if>
<if test="userDeptId != null">
AND u.dept_id = #{userDeptId}
</if>
<if test="unitName != null">
AND d.CUSTOMER_NAME = '${unitName}'
</if>
<if test="settleMonthStart != null">
AND a.SETTLEMENT_MONTH >= '${settleMonthStart}'
</if>
<if test="settleMonthEnd != null">
AND a.SETTLEMENT_MONTH <![CDATA[<=]]> '${settleMonthEnd}'
</if>
</if>
</where>
order by a.SETTLEMENT_MONTH,a.id desc
</select>
<select id="getSumByAccountId" resultType="java.util.Map">
SELECT
a.SALARY_ACCOUNT_ID as 'key',
a.SALARY_MONEY as 'value'
FROM
t_salary_account_item a
WHERE
a.SALARY_ACCOUNT_ID IN
<foreach item="item" index="index" collection="account" open="(" separator="," close=")">
#{item.id}
</foreach>
and
a.JAVA_FIED_NAME='actualSalarySum'
</select>
<!-- 获取工资明细 -->
<select id="getItemSet" resultType="java.lang.String">
select
i.cn_name a
from t_salary_account_item i
LEFT JOIN t_salary_account a on a.id=i.SALARY_ACCOUNT_ID
where
a.SALARY_FORM_ID = #{salaryId}
GROUP BY i.CN_NAME
order by i.JAVA_FIED_NAME desc,i.id
</select>
<!-- 获取所有数据,组装map,工资导入使用 -->
<select id="getAllItemVoList" resultMap="itemVoMap">
SELECT
i.ID,
i.SALARY_ACCOUNT_ID,
i.CN_NAME,
i.JAVA_FIED_NAME,
i.SALARY_MONEY,
i.TEXT_VALUE,
i.IS_TAX,
a.EMP_IDCARD,
a.SETTLEMENT_MONTH,
a.SALARY_TYPE
FROM
t_salary_account_item i left join t_salary_account a on i.SALARY_ACCOUNT_ID = a.ID
<where>
a.SETTLEMENT_MONTH like DATE_FORMAT(now(),"%Y%")
<if test="idCardList != null">
AND a.EMP_IDCARD in
<foreach item="item" index="index" collection="idCardList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="invoiceTitle != null and invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{invoiceTitle}
</if>
AND a.DELETE_FLAG = 0 and a.SALARY_TYPE != 7
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetDetailMapper">
<resultMap id="tSalaryStandardSetDetailMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail">
<id property="id" column="id"/>
<result property="setId" column="set_id"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetMapper">
<resultMap id="tSalaryStandardSetMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet">
<id property="id" column="id"/>
<result property="salaryId" column="SALARY_ID"/>
<result property="deptId" column="DEPT_ID"/>
<result property="isZero" column="IS_ZERO"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createUser" column="CREATE_USER"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="isZero" column="IS_ZERO"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
......@@ -40,12 +15,7 @@
a.DEPT_ID,
a.CREATE_USER,
a.CREATE_TIME,
a.IS_ZERO,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
a.IS_ZERO
</sql>
<sql id="tSalaryStandardSet_where">
<if test="tSalaryStandardSet != null">
......@@ -58,6 +28,12 @@
<if test="tSalaryStandardSet.deptId != null and tSalaryStandardSet.deptId.trim() != ''">
AND a.DEPT_ID = #{tSalaryStandardSet.deptId}
</if>
<if test="tSalaryStandardSet.createUser != null and tSalaryStandardSet.createUser.trim() != ''">
AND a.CREATE_USER = #{tSalaryStandardSet.createUser}
</if>
<if test="tSalaryStandardSet.createTime != null">
AND a.CREATE_TIME = #{tSalaryStandardSet.createTime}
</if>
<if test="tSalaryStandardSet.isZero != null">
AND a.IS_ZERO = #{tSalaryStandardSet.isZero}
</if>
......
......@@ -306,6 +306,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位养老基数" )
@Schema(description = "单位养老基数" )
@ExcelProperty("单位养老基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitPensionCardinal;
/**
* 单位医疗基数
......@@ -313,6 +314,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位医疗基数" )
@Schema(description = "单位医疗基数" )
@ExcelProperty("单位医疗基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitMedicalCardinal;
/**
* 单位失业基数
......@@ -320,6 +322,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位失业基数" )
@Schema(description = "单位失业基数" )
@ExcelProperty("单位失业基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitUnemploymentCardinal;
/**
* 单位大病救助基数
......@@ -327,6 +330,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位大病救助基数" )
@Schema(description = "单位大病救助基数" )
@ExcelProperty("单位大病救助基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBigailmentCardinal;
/**
* 单位工伤基数
......@@ -334,6 +338,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤基数" )
@Schema(description = "单位工伤基数" )
@ExcelProperty("单位工伤基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitWorkInjuryCardinal;
/**
* 单位生育基数
......@@ -341,6 +346,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位生育基数" )
@Schema(description = "单位生育基数" )
@ExcelProperty("单位生育基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBirthCardinal;
/**
* 个人养老基数
......@@ -348,6 +354,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人养老基数" )
@Schema(description = "个人养老基数" )
@ExcelProperty("个人养老基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalPensionCardinal;
/**
* 个人医疗基数
......@@ -355,6 +362,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人医疗基数" )
@Schema(description = "个人医疗基数" )
@ExcelProperty("个人医疗基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalMedicalCardinal;
/**
* 个人大病救助基数
......@@ -362,6 +370,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人大病救助基数" )
@Schema(description = "个人大病救助基数" )
@ExcelProperty("个人大病救助基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalBigailmentCardinal;
/**
* 个人失业基数
......@@ -369,6 +378,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人失业基数" )
@Schema(description = "个人失业基数" )
@ExcelProperty("个人失业基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalUnemploymentCardinal;
/**
* 单位工伤基数
......@@ -376,6 +386,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤基数" )
@Schema(description = "单位工伤基数" )
@ExcelProperty("单位工伤基数" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalWorkInjuryCardinal;
/**
* 单位养老比例
......@@ -383,6 +394,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位养老比例" )
@Schema(description = "单位养老比例" )
@ExcelProperty("单位养老比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitPensionPer;
/**
* 单位医疗比例
......@@ -390,6 +402,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位医疗比例" )
@Schema(description = "单位医疗比例" )
@ExcelProperty("单位医疗比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitMedicalPer;
/**
* 单位失业比例
......@@ -397,6 +410,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位失业比例" )
@Schema(description = "单位失业比例" )
@ExcelProperty("单位失业比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitUnemploymentPer;
/**
* 单位工伤比例
......@@ -404,6 +418,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤比例" )
@Schema(description = "单位工伤比例" )
@ExcelProperty("单位工伤比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitWorkUnjuryPer;
/**
* 单位生育比例
......@@ -411,6 +426,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位生育比例" )
@Schema(description = "单位生育比例" )
@ExcelProperty("单位生育比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBirthPer;
/**
* 个人养老比例
......@@ -418,6 +434,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人养老比例" )
@Schema(description = "个人养老比例" )
@ExcelProperty("个人养老比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalPensionPer;
/**
* 个人医疗比例
......@@ -425,6 +442,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人医疗比例" )
@Schema(description = "个人医疗比例" )
@ExcelProperty("个人医疗比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalMedicalPer;
/**
* 个人失业比例
......@@ -432,6 +450,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人失业比例" )
@Schema(description = "个人失业比例" )
@ExcelProperty("个人失业比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalUnemploymentPer;
/**
* 办理状态
......@@ -448,6 +467,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人大病比例" )
@Schema(description = "个人大病比例" )
@ExcelProperty("个人大病比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalBigailmentPer;
/**
* 单位大病救助比例
......@@ -455,6 +475,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位大病救助比例" )
@Schema(description = "单位大病救助比例" )
@ExcelProperty("单位大病救助比例" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBigailmentPer;
/**
* 社保停缴日期
......@@ -503,6 +524,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴养老0是1否", maxLength = 1)
@Schema(description = "是否能补缴养老0是1否" )
@ExcelProperty("是否能补缴养老0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insurancePension;
/**
* 是否能补缴医疗0是1否
......@@ -511,6 +533,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴医疗0是1否", maxLength = 1)
@Schema(description = "是否能补缴医疗0是1否" )
@ExcelProperty("是否能补缴医疗0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceMedical;
/**
* 是否能补缴失业0是1否
......@@ -519,6 +542,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴失业0是1否", maxLength = 1)
@Schema(description = "是否能补缴失业0是1否" )
@ExcelProperty("是否能补缴失业0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceUnemployment;
/**
* 是否能补缴工伤0是1否
......@@ -527,6 +551,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴工伤0是1否", maxLength = 1)
@Schema(description = "是否能补缴工伤0是1否" )
@ExcelProperty("是否能补缴工伤0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceInjury;
/**
* 是否能补缴生育0是1否
......@@ -535,6 +560,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴生育0是1否", maxLength = 1)
@Schema(description = "是否能补缴生育0是1否" )
@ExcelProperty("是否能补缴生育0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceBirth;
/**
* 是否能补缴大病0是1否
......@@ -543,6 +569,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "是否能补缴大病0是1否", maxLength = 1)
@Schema(description = "是否能补缴大病0是1否" )
@ExcelProperty("是否能补缴大病0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String insuranceBigailment;
/**
* 补缴是否采用最新基数0是1否
......@@ -567,6 +594,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病缴纳周期:0按年1按月", maxLength = 1)
@Schema(description = "大病缴纳周期:0按年1按月" )
@ExcelProperty("大病缴纳周期:0按年1按月" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String collectType;
/**
* 大病取值方式0按定值 1按比例
......@@ -575,6 +603,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病取值方式0按定值 1按比例", maxLength = 1)
@Schema(description = "大病取值方式0按定值 1按比例" )
@ExcelProperty("大病取值方式0按定值 1按比例 " )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String valueType;
/**
* 大病按年收收取月份1-12月
......@@ -582,6 +611,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病按年收收取月份1-12月" )
@Schema(description = "大病按年收收取月份1-12月" )
@ExcelProperty("大病按年收收取月份1-12月" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer collectMoth;
/**
* 收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否
......@@ -590,6 +620,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否", maxLength = 1)
@Schema(description = "收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否" )
@ExcelProperty("收费模式:0立即收,1次年收,对应旧值新员工入职收费:0是1否" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String isChargePersonal;
/**
* 备案基数
......@@ -635,6 +666,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "养老起缴日期", isDate = true)
@Schema(description = "养老起缴日期" )
@ExcelProperty("养老起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date pensionStart;
/**
* 医疗起缴日期
......@@ -642,6 +674,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "医疗起缴日期", isDate = true)
@Schema(description = "医疗起缴日期" )
@ExcelProperty("医疗起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date medicalStart;
/**
* 失业起缴日期
......@@ -649,6 +682,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "失业起缴日期", isDate = true)
@Schema(description = "失业起缴日期" )
@ExcelProperty("失业起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date unemployStart;
/**
* 工伤起缴日期
......@@ -656,6 +690,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "工伤起缴日期", isDate = true)
@Schema(description = "工伤起缴日期" )
@ExcelProperty("工伤起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date workInjuryStart;
/**
* 生育起缴日期
......@@ -663,6 +698,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "生育起缴日期", isDate = true)
@Schema(description = "生育起缴日期" )
@ExcelProperty("生育起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date birthStart;
/**
* 大病起缴日期
......@@ -670,6 +706,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病起缴日期", isDate = true)
@Schema(description = "大病起缴日期" )
@ExcelProperty("大病起缴日期" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Date bigailmentStart;
/**
* 养老办理状态:0待办理1办理成功2办理失败3已派减
......@@ -678,6 +715,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "养老办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "养老办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("养老办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String pensionHandle;
/**
* 医疗办理状态:0待办理1办理成功2办理失败3已派减
......@@ -686,6 +724,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "医疗办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "医疗办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("医疗办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String medicalHandle;
/**
* 失业办理状态:0待办理1办理成功2办理失败3已派减
......@@ -694,6 +733,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "失业办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "失业办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("失业办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String unemployHandle;
/**
* 工伤办理状态:0待办理1办理成功2办理失败3已派减
......@@ -702,6 +742,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "工伤办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "工伤办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("工伤办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String workInjuryHandle;
/**
* 生育办理状态:0待办理1办理成功2办理失败3已派减
......@@ -710,6 +751,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "生育办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "生育办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("生育办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String birthHandle;
/**
* 大病办理状态:0待办理1办理成功2办理失败3已派减
......@@ -718,6 +760,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "大病办理状态:0待办理1办理成功2办理失败3已派减", maxLength = 1)
@Schema(description = "大病办理状态:0待办理1办理成功2办理失败3已派减" )
@ExcelProperty("大病办理状态:0待办理1办理成功2办理失败3已派减" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String bigailmentHandle;
/**
* 单位养老金额
......@@ -725,6 +768,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位养老金额" )
@Schema(description = "单位养老金额" )
@ExcelProperty("单位养老金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitPersionMoney;
/**
* 单位医疗金额
......@@ -732,6 +776,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位医疗金额" )
@Schema(description = "单位医疗金额" )
@ExcelProperty("单位医疗金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitMedicalMoney;
/**
* 单位失业
......@@ -739,6 +784,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位失业" )
@Schema(description = "单位失业" )
@ExcelProperty("单位失业" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitUnemploymentMoney;
/**
* 单位工伤金额
......@@ -746,6 +792,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位工伤金额" )
@Schema(description = "单位工伤金额" )
@ExcelProperty("单位工伤金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitInjuryMoney;
/**
* 单位生育金额
......@@ -753,6 +800,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位生育金额" )
@Schema(description = "单位生育金额" )
@ExcelProperty("单位生育金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBirthMoney;
/**
* 单位大病救助金额
......@@ -760,6 +808,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "单位大病救助金额" )
@Schema(description = "单位大病救助金额" )
@ExcelProperty("单位大病救助金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal unitBigailmentMoney;
/**
* 个人养老金额
......@@ -767,6 +816,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人养老金额" )
@Schema(description = "个人养老金额" )
@ExcelProperty("个人养老金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalPersionMoney;
/**
* 个人医疗金额
......@@ -774,6 +824,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人医疗金额" )
@Schema(description = "个人医疗金额" )
@ExcelProperty("个人医疗金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalMedicalMoney;
/**
* 个人失业金额
......@@ -781,6 +832,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人失业金额" )
@Schema(description = "个人失业金额" )
@ExcelProperty("个人失业金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalUnemploymentMoney;
/**
* 个人大病金额
......@@ -788,6 +840,7 @@ public class TSocialFundInfo extends BaseEntity {
@ExcelAttribute(name = "个人大病金额" )
@Schema(description = "个人大病金额" )
@ExcelProperty("个人大病金额" )
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal personalBigailmentMoney;
/**
* 单位公积金缴纳基数
......
......@@ -64,7 +64,7 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> {
DispatchDetailVo getSocialAndFundInfoById(String id);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, Integer flag, String auditStatus, String auditRemark, String remark);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark);
R<List<ErrorMessage>> addApplyAudit(String ids, String auditStatus, String auditRemark, String remark);
......
......@@ -349,7 +349,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
dispatchPart = false;
injury= false;
injury =false;
empVo = null;
excel = excelVOList.get(i);
fundSet = fundHoldMap.get(excel.getProvidentHousehold());
......@@ -365,9 +365,15 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dispatchPart = true;
}
}
if (Common.isNotNull(excel.getSocialHousehold())){
if (Common.isEmpty(socialSet)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_EXIST)));
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
continue;
}
// 自定义 只有工伤数据 视为兼职工伤派单
if (Common.isNotNull(excel) && Common.isNotNull(excel.getSocialHousehold())
&& CommonConstants.ONE_STRING.equals(excel.getPaymentType())){
if (Common.isNotNull(excel) && CommonConstants.ONE_STRING.equals(excel.getPaymentType())){
injury = Common.isEmpty(excel.getPensionStart())
&& Common.isEmpty(excel.getMedicalStart())
&& Common.isEmpty(excel.getBirthStart())
......@@ -376,9 +382,19 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
&& Common.isNotNull(excel.getWorkInjuryStart())
&& (BigDecimal.ZERO.compareTo(excel.getWorkInjuryCardinal()) <= 0);
}
if (Common.isNotNull(excel.getSocialHousehold())){
if (Common.isEmpty(socialSet)){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_EXIST)));
// 失败项社保派单 和已有派单户不一致
if (dispatchPart && Common.isNotNull(socialFund)
&& Common.isNotNull(socialFund.getSocialHouseholdName())
&& Common.isNotNull(excel.getSocialHousehold())
&& !socialFund.getSocialHouseholdName().equals(excel.getSocialHousehold())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_HOLD_NOT_SAME)));
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
continue;
}
// 失败项重新派单的缴纳方式不一样
if (dispatchPart && Common.isNotNull(socialFund)
&& !socialFund.getPaymentType().equals(excel.getPaymentType())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_SOCIAL_PAYMENT_TYPE_NOT_SAME)));
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
continue;
}
......@@ -408,7 +424,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 初始化新增信息:档案、项目档案、员工合同
initAddInfo(empAddsMap, contractsMap, projectsMap, empVo, excel,user,setInfoVo,socialSet);
// 新增社保
initSocialAddInfo(socialsMap, empVo, socialSet, excel,socialFundMap);
initSocialAddInfo(socialsMap, empVo, socialSet, excel,socialFundMap,dispatchPart);
// 新增公积金
if (initFundAddInfo(errorMessageList, fundsMap, empVo, fundSet, excel)){
excelVOTemp.put(excel.getRowIndex().toString(),excel.getEmpIdcard());
......@@ -424,7 +440,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
addVo.setProjectsMap(projectsMap);
R<EmpDispatchAddVo> res = archivesDaprUtil.addDispatchInfo(addVo);
// 开始插入各种数据了
insertAllInfo(excelVOList, errorMessageList, setInfoVo, res,socialsMap,fundsMap,socialFundAddMap,dispatchMap,excelVOTemp,dispatchPart);
insertAllInfo(excelVOList, errorMessageList, setInfoVo, res,socialsMap,fundsMap,socialFundAddMap,dispatchMap,excelVOTemp,dispatchPart,injury);
// 清理map list 等数据
Common.clear(excelVOList);
Common.clear(empAddsMap);
......@@ -459,8 +475,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
Map<String, TProvidentFund> fundsMap,
Map<String, TSocialFundInfo> socialFundAddMap,
Map<String, TDispatchInfo> dispatchMap,
Map<String,String> excelVOTemp,
boolean dispatchPart) {
Map<String, String> excelVOTemp,
boolean dispatchPart, boolean injury) {
Map<String, EmpAddDispatchVo> empAddsMap = null;
Map<String, EmpContractDispatchVo> contractsMap = null;
Map<String, EmpProjectDispatchVo> projectsMap = null;
......@@ -546,7 +562,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (Common.isNotNull(socialFund) && Common.isNotNull(dispatch)){
socialFund.setDispatchId(dispatch.getId());
}
initSocialFundAndInsert(emp, social, fund, socialFund,project,dispatchPart);
initSocialFundAndInsert(emp, social, fund, socialFund,project,dispatchPart,injury);
}
// 生成预付数据
if (Common.isNotNull(socialFund) && Common.isNotNull(socialFund.getId())){
......@@ -636,7 +652,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
TProvidentFund fund,
TSocialFundInfo socialFund,
EmpProjectDispatchVo project,
boolean dispatchPart) {
boolean dispatchPart,boolean injury) {
if (Common.isNotNull(socialFund)){
if (Common.isNotNull(project)){
socialFund.setEmpNo(project.getEmpCode());
......@@ -661,6 +677,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitBigailmentMoney(social.getUnitBigailmentMoney());
socialFund.setPersonalBigailmentMoney(social.getPersonalBigailmentMoney());
}
// 处理部分失败项派单的 基数 比例 金额,再办理成功的时候才更新过来 顺序不要变 后面有合计
if (!CommonConstants.ONE_STRING.equals(socialFund.getPensionHandle()) && !dispatchPart){
socialFund.setUnitPensionCardinal(social.getUnitPensionCardinal());
socialFund.setPersonalPensionCardinal(social.getPersonalPensionCardinal());
......@@ -669,6 +686,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitPersionMoney(BigDecimalUtils.safeMultiply(social.getUnitPensionCardinal(), social.getUnitPensionPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPersonalPersionMoney(BigDecimalUtils.safeMultiply(social.getPersonalPensionCardinal(), social.getPersonalPensionPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPensionHandle(social.getPensionHandle());
socialFund.setPensionStart(social.getPensionStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getMedicalHandle()) && !dispatchPart){
socialFund.setUnitMedicalCardinal(social.getUnitMedicalCardinal());
......@@ -678,7 +696,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitMedicalMoney(BigDecimalUtils.safeMultiply(social.getUnitMedicalCardinal(), social.getUnitMedicalPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPersonalMedicalMoney(BigDecimalUtils.safeMultiply(social.getPersonalMedicalCardinal(), social.getPersonalMedicalPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setMedicalHandle(social.getMedicalHandle());
socialFund.setMedicalStart(social.getMedicalStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getUnemployHandle()) && !dispatchPart){
socialFund.setUnitUnemploymentCardinal(social.getUnitUnemploymentCardinal());
socialFund.setPersonalUnemploymentCardinal(social.getPersonalUnemploymentCardinal());
......@@ -687,6 +707,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitUnemploymentMoney(BigDecimalUtils.safeMultiply(social.getUnitUnemploymentCardinal(), social.getUnitUnemploymentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setPersonalUnemploymentMoney(BigDecimalUtils.safeMultiply(social.getPersonalUnemploymentCardinal(), social.getPersonalUnemploymentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setUnemployHandle(social.getUnemployHandle());
socialFund.setUnemployStart(social.getUnemployStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getBigailmentHandle())
&& CommonConstants.ZERO_STRING.equals(social.getIsIllness()) && !dispatchPart){
......@@ -697,20 +718,22 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setUnitBigailmentMoney(social.getUnitBigailmentMoney());
socialFund.setPersonalBigailmentMoney(social.getPersonalBigailmentMoney());
socialFund.setBigailmentHandle(social.getBigailmentHandle());
socialFund.setBigailmentStart(social.getBigailmentStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getWorkInjuryHandle()) && !dispatchPart){
socialFund.setUnitWorkInjuryCardinal(social.getUnitWorkInjuryCardinal());
socialFund.setUnitWorkUnjuryPer(social.getUnitWorkUnjuryPer());
socialFund.setUnitInjuryMoney(BigDecimalUtils.safeMultiply(social.getUnitWorkInjuryCardinal(), social.getUnitWorkUnjuryPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setWorkInjuryHandle(social.getWorkInjuryHandle());
socialFund.setWorkInjuryStart(social.getWorkInjuryStart());
}
if (!CommonConstants.ONE_STRING.equals(socialFund.getBirthHandle()) && !dispatchPart){
socialFund.setUnitBirthCardinal(social.getUnitBirthCardinal());
socialFund.setUnitBirthPer(social.getUnitBirthPer());
socialFund.setUnitBirthMoney(BigDecimalUtils.safeMultiply(social.getUnitBirthCardinal(), social.getUnitBirthPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
socialFund.setBirthHandle(social.getBirthHandle());
socialFund.setBirthStart(social.getBirthStart());
}
socialFund.setCanOverpay(social.getCanOverpay());
socialFund.setOverpayNumber(social.getOverpayNumber());
socialFund.setHaveThisMonth(social.getHaveThisMonth());
......@@ -729,15 +752,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setRecordBase(social.getRecordBase());
socialFund.setTrustRemark(social.getTrustRemark());
socialFund.setPaymentType(social.getPaymentType());
// 处理部分失败项派单的 基数 比例 金额,再办理成功的时候才更新过来 顺序不要变 后面有合计
if (!dispatchPart){
socialFund.setPensionStart(social.getPensionStart());
socialFund.setMedicalStart(social.getMedicalStart());
socialFund.setUnemployStart(social.getUnemployStart());
socialFund.setWorkInjuryStart(social.getWorkInjuryStart());
socialFund.setBirthStart(social.getBirthStart());
socialFund.setBigailmentStart(social.getBigailmentStart());
}
......@@ -776,6 +791,39 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFund.setPersonalFundSum(Common.formatMoneyForFund(BigDecimalUtils.safeMultiply(fund.getPersonalProvidentCardinal(), fund.getPersonalProvidentPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())),Integer.valueOf(fund.getFundPayPoint())));
}
}
if (injury){
socialFund.setUnitPensionCardinal(null);
socialFund.setUnitPersionMoney(null);
socialFund.setUnitPensionPer(null);
socialFund.setPersonalPensionCardinal(null);
socialFund.setPersonalPensionPer(null);
socialFund.setPersonalPersionMoney(null);
socialFund.setUnitMedicalCardinal(null);
socialFund.setUnitMedicalPer(null);
socialFund.setUnitMedicalMoney(null);
socialFund.setPersonalMedicalCardinal(null);
socialFund.setPersonalMedicalPer(null);
socialFund.setPersonalMedicalMoney(null);
socialFund.setUnitUnemploymentCardinal(null);
socialFund.setUnitUnemploymentPer(null);
socialFund.setUnitUnemploymentMoney(null);
socialFund.setPersonalUnemploymentCardinal(null);
socialFund.setPersonalUnemploymentPer(null);
socialFund.setPersonalUnemploymentMoney(null);
socialFund.setUnitBirthCardinal(null);
socialFund.setUnitBirthPer(null);
socialFund.setUnitBirthMoney(null);
socialFund.setUnitBigailmentCardinal(null);
socialFund.setUnitBigailmentPer(null);
socialFund.setUnitBigailmentMoney(null);
socialFund.setPersonalBigailmentCardinal(null);
socialFund.setPersonalBigailmentPer(null);
socialFund.setPersonalBigailmentMoney(null);
}
if (Common.isNotNull(socialFund.getId())){
socialFundMapper.updateById(socialFund);
}else {
......@@ -1202,7 +1250,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
DispatchEmpVo empVo,
SysBaseSetInfo socialSet,
TDispatchImportVo excel,
Map<String, TSocialFundInfo> socialFundMap) {
Map<String, TSocialFundInfo> socialFundMap, boolean dispatchPart) {
TSocialInfo social;
if (Common.isNotNull(excel.getSocialHousehold())) {
social = new TSocialInfo();
......@@ -1391,7 +1439,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
, social.getPersonalMedicalMoney()
, social.getPersonalUnemploymentMoney()));
// 处理部分办理失败的情况
initHandleStatus(excel, socialFundMap, social);
initHandleStatus(excel, socialFundMap, social,dispatchPart);
//单独处理工伤派增时对应的各种数据
handleInjury(social);
socials.put(excel.getEmpIdcard(),social);
......@@ -1456,7 +1504,10 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
private void initHandleStatus(TDispatchImportVo excel, Map<String, TSocialFundInfo> socialFundMap, TSocialInfo social) {
private void initHandleStatus(TDispatchImportVo excel,
Map<String, TSocialFundInfo> socialFundMap,
TSocialInfo social,
boolean dispatchPart) {
TSocialFundInfo socialFund;
if (Common.isNotNull(socialFundMap)) {
socialFund = socialFundMap.get(excel.getEmpIdcard());
......@@ -1471,11 +1522,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalPersionMoney(null);
social.setPensionStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitPensionCardinal(social.getUnitPensionCardinal());
socialFund.setUnitPensionPer(social.getUnitPensionPer());
socialFund.setPersonalPensionCardinal(social.getPersonalPensionCardinal());
socialFund.setPersonalPensionPer(social.getPersonalPensionPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getMedicalHandle())){
social.setMedicalHandle(null);
social.setUnitMedicalCardinal(null);
......@@ -1486,10 +1539,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalMedicalMoney(null);
social.setMedicalStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitMedicalCardinal(social.getUnitMedicalCardinal());
socialFund.setUnitMedicalPer(social.getUnitMedicalPer());
socialFund.setPersonalMedicalCardinal(social.getUnitMedicalCardinal());
socialFund.setPersonalMedicalPer(social.getUnitMedicalPer());
socialFund.setPersonalMedicalCardinal(social.getPersonalMedicalCardinal());
socialFund.setPersonalMedicalPer(social.getPersonalMedicalPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getUnemployHandle())){
social.setUnemployHandle(null);
......@@ -1501,10 +1556,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalUnemploymentMoney(null);
social.setUnemployStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitUnemploymentCardinal(social.getUnitUnemploymentCardinal());
socialFund.setUnitUnemploymentPer(social.getUnitUnemploymentPer());
socialFund.setPersonalUnemploymentCardinal(social.getUnitUnemploymentCardinal());
socialFund.setPersonalUnemploymentPer(social.getUnitUnemploymentPer());
socialFund.setPersonalUnemploymentCardinal(social.getPersonalUnemploymentCardinal());
socialFund.setPersonalUnemploymentPer(social.getPersonalUnemploymentPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getWorkInjuryHandle())){
social.setWorkInjuryHandle(null);
......@@ -1513,8 +1570,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setUnitInjuryMoney(null);
social.setWorkInjuryStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitWorkInjuryCardinal(social.getUnitWorkInjuryCardinal());
socialFund.setPersonalWorkInjuryCardinal(social.getUnitWorkInjuryCardinal());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getBirthHandle())){
social.setBirthHandle(null);
......@@ -1523,9 +1581,11 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setUnitBirthMoney(null);
social.setBirthStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitBirthCardinal(social.getUnitBirthCardinal());
socialFund.setUnitBirthPer(social.getUnitBirthPer());
}
}
if (CommonConstants.ONE_STRING.equals(socialFund.getBigailmentHandle())){
social.setBigailmentHandle(null);
social.setUnitBigailmentCardinal(null);
......@@ -1536,10 +1596,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
social.setPersonalBigailmentMoney(null);
social.setBigailmentStart(null);
}else {
if (!dispatchPart){
socialFund.setUnitBigailmentCardinal(social.getUnitBigailmentCardinal());
socialFund.setUnitBigailmentPer(social.getUnitBigailmentPer());
socialFund.setPersonalBigailmentCardinal(social.getUnitBigailmentCardinal());
socialFund.setPersonalBigailmentPer(social.getUnitBigailmentPer());
socialFund.setPersonalBigailmentCardinal(social.getPersonalBigailmentCardinal());
socialFund.setPersonalBigailmentPer(social.getPersonalBigailmentPer());
}
}
socialFundMap.put(excel.getEmpIdcard(),socialFund);
}
......@@ -1645,6 +1707,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
project.setEmpNatrue(excel.getEmpType());
project.setPost(excel.getPost());
project.setWorkingHours(excel.getWorkingHours());
project.setTryPeriod(excel.getTryPeriod());
if (Common.isNotNull(socialSet)){
project.setSocialProvince(socialSet.getProvince());
project.setSocialCity(socialSet.getCity());
......@@ -1828,7 +1891,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.EMP_DISPATCH_EMP_NOT_EMPTY)));
return true;
}
if (Common.isEmpty(excel.getContractName()) && validContractInfo(errorMessageList,excel,empVo)){
if (Common.isEmpty(excel.getContractName()) && validContractInfo(errorMessageList,excel)){
return true;
}
// 如果没有人员档案和项目档案的时候校验身份证和手机号码
......@@ -1864,7 +1927,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
return true;
}
// 档案无合同 合同起日期、合同类型必填
if (Common.isEmpty(empVo.getContractName()) && validContractInfo(errorMessageList,excel,empVo)){
if (Common.isEmpty(empVo.getContractName()) && validContractInfo(errorMessageList,excel)){
return true;
}
if (Common.isNotNull(empVo.getEmpNatrue())){
......@@ -2005,7 +2068,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
return false;
}
private boolean validContractInfo(List<ErrorMessage> errorMessageList, TDispatchImportVo excel, DispatchEmpVo empVo){
private boolean validContractInfo(List<ErrorMessage> errorMessageList, TDispatchImportVo excel){
// 合同起缴时间、合同类型、签订期限必填
if ((Common.isEmpty(excel.getContractStart())
|| Common.isEmpty(excel.getContractType())
......@@ -2561,7 +2624,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
@GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
@Override
public List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, Integer flag, String auditStatus, String auditRemark, String remark) {
public List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark) {
List<ErrorMessage> errorList = new ArrayList<>();
if (!Common.isNotNull(idsList)) {
errorList.add(new ErrorMessage(-1, CommonConstants.PARAM_IS_NOT_ERROR));
......@@ -2604,13 +2667,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 派增审核
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())){
//派增审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
socialInfo.setAuditStatus(CommonConstants.ONE_STRING);
// 待办理
sf.setSocialAddStatus(CommonConstants.ONE_STRING);
sf.setSocialStatus(CommonConstants.ONE_STRING);
//派增审核不通过 需要处理预估数据
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
socialInfo.setDeleteFlag(CommonConstants.ONE_STRING);
// 作废更新:社保状态、同步预估数据 审核不通过直接作废
socialInfo.setAuditStatus(CommonConstants.TWO_STRING);
......@@ -2624,13 +2687,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 派减审核
if (CommonConstants.dingleDigitStrArray[1].equals(dis.getType())){
//派增审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
socialInfo.setReduceCan(CommonConstants.ONE_STRING);
// 待办理
sf.setSocialReduceStatus(CommonConstants.ONE_STRING);
sf.setSocialStatus(CommonConstants.SEVEN_STRING);
//派增审核不通过 需要处理预估数据
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
// 作废更新:社保状态、同步预估数据 8 审核不通过直接作废
sf.setSocialReduceStatus(CommonConstants.ONE_STRING_NEGATE);
sf.setSocialStatus(CommonConstants.THREE_STRING);
......@@ -2655,12 +2718,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//派增
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())){
// 审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
providentFund.setAuditStatus(CommonConstants.ONE_STRING);
sf.setFundAddStatus(CommonConstants.ONE_STRING);
sf.setFundStatus(CommonConstants.ONE_STRING);
// 审核不通过
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
// 作废更新:公积金状态、同步档案的公积金状态、同步预估数据
providentFund.setAuditStatus(CommonConstants.TWO_STRING);
providentFund.setDeleteFlag(CommonConstants.ONE_STRING);
......@@ -2673,12 +2736,12 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//派减
if (CommonConstants.dingleDigitStrArray[1].equals(dis.getType())){
// 审核通过
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
providentFund.setReduceCan(CommonConstants.ONE_STRING);
sf.setFundReduceStatus(CommonConstants.ONE_STRING);
sf.setFundStatus(CommonConstants.SIX_STRING);
// 审核不通过
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
// 作废更新:公积金状态、同步档案的公积金状态
sf.setFundReduceStatus(CommonConstants.ONE_STRING_NEGATE);
sf.setFundStatus(CommonConstants.THREE_STRING);
......@@ -2689,17 +2752,13 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
// 审核不通过 直接作废 要考虑 部分派增的情况
/*if (CommonConstants.ONE_INT == flag.intValue()) {
dis.setDeleteFlag(CommonConstants.ONE_STRING);
}*/
//派单类型信息拼接
if (CommonConstants.ZERO_STRING.equals(dis.getType())) {
remarkTemp += DispatchConstants.DISPATCH_ADD;
} else {
remarkTemp += DispatchConstants.DISPATCH_REDUCE;
}
// 派单状态信息拼接
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
remarkTemp += "审核通过:" + Common.isBlankToNullString(auditRemark);
initAuditInfo(auditInfo, remarkTemp, CommonConstants.ONE_STRING, user,remarkTemp,remark);
} else {
......@@ -2711,35 +2770,26 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dis.setAuditRemark(ServiceUtil.ifNullToEmpty(auditRemark));
auditInfo.setDispatchInfoId(dis.getId());
//更新派单状态
if (CommonConstants.ZERO_INT == flag.intValue()) {
if (CommonConstants.ZERO_INT == flag) {
//审核通过
dis.setStatus(CommonConstants.TWO_STRING);
} else if (CommonConstants.ONE_INT == flag.intValue()) {
} else if (CommonConstants.ONE_INT == flag) {
//审核不通过
dis.setStatus(CommonConstants.THREE_STRING);
}
boolean flagTemp = false;
// 派增审核通过 要更新 人员档案 项目档案 合同的状态信息
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())){
R<Boolean> res = null;
if (CommonConstants.ZERO_INT == flag.intValue()){
if (CommonConstants.ZERO_INT == flag){
res = archivesDaprUtil.updateEmpInfo(dis.getEmpIdcard(),dis.getSettleDomainCode(),dis.getContractId(),CommonConstants.ZERO_STRING);
}
if (CommonConstants.ONE_INT == flag.intValue()){
if (CommonConstants.ONE_INT == flag){
res = archivesDaprUtil.updateEmpInfo(dis.getEmpIdcard(),dis.getSettleDomainCode(),dis.getContractId(),CommonConstants.ONE_STRING);
}
if (Common.isEmpty(res) || CommonConstants.SUCCESS != res.getCode()){
ServiceUtil.runTimeExceptionDiy("更新人员档案、项目档案、合同状态异常:" + (Common.isNotNull(res)?res.getMsg():CommonConstants.EMPTY_STRING));
}
}
//新增审核记录信息
auditInfo.setEmpIdcard(dis.getEmpIdcard());
auditInfo.setDispatchInfoId(dis.getId());
auditInfoMapper.insert(auditInfo);
dis.setAuditUser(user.getId());
dis.setAuditTime(now);
baseMapper.updateById(dis);
// 派增审核不通过 失败项重新派单审核不通过 恢复为部分办理失败
boolean flagTemp = Common.isNotNull(sf) && Common.isNotNull(dis.getSocialId())
flagTemp = Common.isNotNull(sf) && Common.isNotNull(dis.getSocialId())
&& (CommonConstants.ONE_STRING.equals(sf.getPensionHandle())
|| CommonConstants.ONE_STRING.equals(sf.getMedicalHandle())
|| CommonConstants.ONE_STRING.equals(sf.getWorkInjuryHandle())
......@@ -2758,13 +2808,28 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setSocialStatus(CommonConstants.FOUR_STRING);
sf.setSocialAddStatus(CommonConstants.THREE_STRING);
}
}
if (Common.isEmpty(res) || CommonConstants.SUCCESS != res.getCode()){
ServiceUtil.runTimeExceptionDiy("更新人员档案、项目档案、合同状态异常:" + (Common.isNotNull(res)?res.getMsg():CommonConstants.EMPTY_STRING));
}
}
//新增审核记录信息
auditInfo.setEmpIdcard(dis.getEmpIdcard());
auditInfo.setDispatchInfoId(dis.getId());
auditInfoMapper.insert(auditInfo);
dis.setAuditUser(user.getId());
dis.setAuditTime(now);
baseMapper.updateById(dis);
socialFundMapper.updateById(sf);
// 派增审核不通过
if (CommonConstants.dingleDigitStrArray[0].equals(dis.getType())
&& CommonConstants.ONE_INT == flag.intValue()){
// 更新预估数据
&& CommonConstants.ONE_INT == flag){
// 更新预估数据 -- 失败项重新派单审核不通过不处理预估
if (!flagTemp){
forecastLibraryService.updateForecastLibaryByDispatchReduce(sf, forecastFlag);
}
// 更新人员档案和项目档案的社保公积金状态
UpProjectSocialFundVo vo = new UpProjectSocialFundVo();
if (Common.isNotNull(dis.getSocialId())){
......@@ -2806,7 +2871,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (!Common.isNotNull(ids)) {
return R.failed(DispatchConstants.DISPATCH_ID_NOT_EMPTY);
}
Integer flag = 1;
int flag;
if (CommonConstants.ONE_STRING.equals(auditStatus)) {
//审核通过
flag = CommonConstants.ZERO_INT;
......@@ -2834,7 +2899,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if (!Common.isNotNull(ids)) {
return R.failed(DispatchConstants.DISPATCH_ID_NOT_EMPTY);
}
int flag = 1;
int flag;
if (CommonConstants.ONE_STRING.equals(handleStatus)) {
//办理成功
flag = CommonConstants.ZERO_INT;
......@@ -3129,8 +3194,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
//派减判断
} else if (CommonConstants.ONE_STRING.equals(dis.getType())) {
if (Common.isNotNull(dis.getSocialHandleStatus())
&& Common.isNotNull(dis.getFundHandleStatus())
if (Common.isNotNull(dis.getSocialId())
&& Common.isNotNull(dis.getFundId())
&& (CommonConstants.ONE_STRING.equals(dis.getSocialHandleStatus())
|| CommonConstants.TWO_STRING.equals(dis.getSocialHandleStatus()))
&& ((CommonConstants.ONE_STRING.equals(dis.getFundHandleStatus())
......@@ -3138,20 +3203,20 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//办理成功
dis.setStatus(CommonConstants.FOUR_STRING);
}
if (Common.isEmpty(dis.getSocialHandleStatus())
if (Common.isEmpty(dis.getSocialId()) && Common.isNotNull(dis.getFundId())
&& ((CommonConstants.ONE_STRING.equals(dis.getFundHandleStatus())
|| CommonConstants.TWO_STRING.equals(dis.getFundHandleStatus())))) {
//办理成功
dis.setStatus(CommonConstants.FOUR_STRING);
}
if ((Common.isEmpty(dis.getFundHandleStatus())
&& CommonConstants.ONE_STRING.equals(dis.getSocialHandleStatus())
if (Common.isEmpty(dis.getFundId()) && Common.isNotNull(dis.getSocialId())
&&(CommonConstants.ONE_STRING.equals(dis.getSocialHandleStatus())
|| CommonConstants.TWO_STRING.equals(dis.getSocialHandleStatus()))) {
//办理成功
dis.setStatus(CommonConstants.FOUR_STRING);
}
}
dis.setHandleRemark(null == handleRemark ? "" : handleRemark);
dis.setHandleRemark(ServiceUtil.ifNullToEmpty(handleRemark));
//新增办理记录信息
auditInfo.setDispatchInfoId(dis.getId());
auditInfo.setEmpIdcard(dis.getEmpIdcard());
......@@ -3160,19 +3225,26 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
socialFundMapper.updateById(sf);
//1.派增办理失败 刷新预估数据
if (CommonConstants.ZERO_STRING.equals(dis.getType())) {
// 办理失败
// 全部办理失败 社保和公积金派增办理失败 减少预估
if (CommonConstants.ONE_INT == flag && CommonConstants.FIVE_STRING.equals(sf.getSocialStatus())){
// 派增办理,全部失败 同步预估库数据
forecastLibraryService.updateForecastLibaryByDispatchReduce(sf, forecastFlag);
}
// 社保办理只要办理成功就刷新预估数据 公积金办理不用处理
if (Common.isNotNull(dis.getSocialId())
&& CommonConstants.FOUR_STRING.equals(sf.getSocialStatus())
|| CommonConstants.TWO_STRING.equals(sf.getSocialStatus())
|| CommonConstants.THREE_STRING.equals(sf.getSocialStatus())){
forecastLibraryService.updateForecastLibaryByDispatch(sf);
}
// 2.派减办理成功 处理预估
}
// 2.派减办理成功 处理预估 (不管社保还是公积金办理失败)
if (CommonConstants.ONE_STRING.equals(dis.getType())
&& CommonConstants.ZERO_INT == flag){
// 同步预估库数据
forecastLibraryService.updateForecastLibaryByDispatchReduce(sf, forecastFlag);
}
}
UpProjectSocialFundVo vo = new UpProjectSocialFundVo();
// 社保状态 社保状态(字典): 0 无社保 1 处理中 2.部分购买 3.正常 4.已派减
initSocialFundStatus(socialInfo, providentFund, vo,sf);
......@@ -3423,6 +3495,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setSocialStatus(CommonConstants.TWO_STRING);
sf.setSocialAddStatus(CommonConstants.SIX_STRING);
dis.setSocialHandleStatus(CommonConstants.FOUR_STRING);
//排除兼职工伤的情况
} else {
// 其他:部分办理失败
socialInfo.setHandleStatus(CommonConstants.FIVE_STRING);
......@@ -3443,7 +3516,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setUnitBigailmentMoney(socialInfo.getUnitBigailmentMoney());
sf.setPersonalBigailmentMoney(socialInfo.getPersonalBigailmentMoney());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getPensionHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getPensionHandle())){
sf.setUnitPensionCardinal(socialInfo.getUnitPensionCardinal());
sf.setPersonalPensionCardinal(socialInfo.getPersonalPensionCardinal());
sf.setUnitPensionPer(socialInfo.getUnitPensionPer());
......@@ -3453,7 +3526,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setPensionHandle(socialInfo.getPensionHandle());
sf.setPensionStart(socialInfo.getPensionStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getMedicalHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getMedicalHandle())){
sf.setUnitMedicalCardinal(socialInfo.getUnitMedicalCardinal());
sf.setPersonalMedicalCardinal(socialInfo.getPersonalMedicalCardinal());
sf.setUnitMedicalPer(socialInfo.getUnitMedicalPer());
......@@ -3463,7 +3536,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setMedicalHandle(socialInfo.getMedicalHandle());
sf.setMedicalStart(socialInfo.getMedicalStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getUnemployHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getUnemployHandle())){
sf.setUnitUnemploymentCardinal(socialInfo.getUnitUnemploymentCardinal());
sf.setPersonalUnemploymentCardinal(socialInfo.getPersonalUnemploymentCardinal());
sf.setPersonalUnemploymentPer(socialInfo.getPersonalUnemploymentPer());
......@@ -3473,7 +3546,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setUnemployHandle(socialInfo.getUnemployHandle());
sf.setUnemployStart(socialInfo.getUnemployStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getBigailmentHandle())
if (CommonConstants.ZERO_STRING.equals(socialInfo.getBigailmentHandle())
&& CommonConstants.ZERO_STRING.equals(socialInfo.getIsIllness())){
sf.setUnitBigailmentCardinal(socialInfo.getUnitBigailmentCardinal());
sf.setPersonalBigailmentCardinal(socialInfo.getPersonalBigailmentCardinal());
......@@ -3484,14 +3557,14 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
sf.setBigailmentHandle(socialInfo.getBigailmentHandle());
sf.setBigailmentStart(socialInfo.getBigailmentStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getWorkInjuryHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getWorkInjuryHandle())){
sf.setUnitWorkInjuryCardinal(socialInfo.getUnitWorkInjuryCardinal());
sf.setUnitWorkUnjuryPer(socialInfo.getUnitWorkUnjuryPer());
sf.setUnitInjuryMoney(BigDecimalUtils.safeMultiply(socialInfo.getUnitWorkInjuryCardinal(), socialInfo.getUnitWorkUnjuryPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
sf.setWorkInjuryHandle(socialInfo.getWorkInjuryHandle());
sf.setWorkInjuryStart(socialInfo.getWorkInjuryStart());
}
if (!CommonConstants.ZERO_STRING.equals(socialInfo.getBirthHandle())){
if (CommonConstants.ZERO_STRING.equals(socialInfo.getBirthHandle())){
sf.setUnitBirthCardinal(socialInfo.getUnitBirthCardinal());
sf.setUnitBirthPer(socialInfo.getUnitBirthPer());
sf.setUnitBirthMoney(BigDecimalUtils.safeMultiply(socialInfo.getUnitBirthCardinal(), socialInfo.getUnitBirthPer(),BigDecimal.valueOf(CommonConstants.ONE_OF_PERCENT.doubleValue())));
......@@ -3511,17 +3584,6 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
/**
* @Author fxj
* @Description if flag=obj return value1 else return value2
* @Date 18:02 2022/7/26
**/
private String ifNotEquals(int flag, int obj, String value1, String value2){
if (flag==obj){
return value1;
}
return value2;
}
/**
* @param handleStatus
* @param socialType
......
......@@ -15,3 +15,14 @@ spring:
username: root
password: yf_zsk
url: jdbc:mysql://192.168.1.65:22306/mvp_social?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
\ No newline at end of file
......@@ -16,3 +16,14 @@ spring:
password: yf_zsk
#url: jdbc:mysql://127.0.0.1:3306/yifu_upms?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
url: jdbc:mysql://192.168.1.65:22306/yifu_upms?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment