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.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>
......
......@@ -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);
......
......@@ -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