feat(personnelMatters): 添加面试登记表详细信息功能
- 新增 RzInterviewerDetail 类用于存储面试登记表详细信息 - 在 RzInterviewer 中添加表单数据字段 - 实现面试登记表信息的导入和导出功能 - 优化面试信息的添加和更新逻辑
This commit is contained in:
parent
95f42c9fa1
commit
25098b059d
@ -0,0 +1,22 @@
|
||||
package com.evo.attendance.domain.vo;
|
||||
|
||||
import com.evo.common.annotation.Excel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/*
|
||||
* @Author :tzy
|
||||
* @Description :用于导入销售提成
|
||||
*/
|
||||
@Data
|
||||
public class RzSalaryVo {
|
||||
|
||||
@Excel(name = "姓名")
|
||||
private String name;
|
||||
@Excel(name = "提成金额")
|
||||
private BigDecimal sale;
|
||||
@Excel(name = "日期", width = 30, dateFormat = "yyyy-MM")
|
||||
private Date date;
|
||||
}
|
||||
@ -6,6 +6,8 @@ import javax.validation.constraints.Email;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.evo.common.core.domain.BaseEntity;
|
||||
@ -15,6 +17,7 @@ import com.evo.common.core.domain.BaseEntity;
|
||||
*
|
||||
* @author evo
|
||||
*/
|
||||
@Data
|
||||
public class SysDept extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -46,39 +49,12 @@ public class SysDept extends BaseEntity
|
||||
/** 父部门名称 */
|
||||
private String parentName;
|
||||
|
||||
/** 是否加班 */
|
||||
private String isOverTime;
|
||||
|
||||
/** 子部门 */
|
||||
private List<SysDept> children = new ArrayList<SysDept>();
|
||||
|
||||
public Long getDeptId()
|
||||
{
|
||||
return deptId;
|
||||
}
|
||||
|
||||
public void setDeptId(Long deptId)
|
||||
{
|
||||
this.deptId = deptId;
|
||||
}
|
||||
|
||||
public Long getParentId()
|
||||
{
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Long parentId)
|
||||
{
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public String getAncestors()
|
||||
{
|
||||
return ancestors;
|
||||
}
|
||||
|
||||
public void setAncestors(String ancestors)
|
||||
{
|
||||
this.ancestors = ancestors;
|
||||
}
|
||||
|
||||
@NotBlank(message = "部门名称不能为空")
|
||||
@Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")
|
||||
public String getDeptName()
|
||||
@ -86,86 +62,11 @@ public class SysDept extends BaseEntity
|
||||
return deptName;
|
||||
}
|
||||
|
||||
public void setDeptName(String deptName)
|
||||
{
|
||||
this.deptName = deptName;
|
||||
}
|
||||
public String getLeader()
|
||||
{
|
||||
return leader;
|
||||
}
|
||||
|
||||
public void setLeader(String leader)
|
||||
{
|
||||
this.leader = leader;
|
||||
}
|
||||
|
||||
@Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")
|
||||
public String getPhone()
|
||||
{
|
||||
return phone;
|
||||
}
|
||||
|
||||
public void setPhone(String phone)
|
||||
{
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getDelFlag()
|
||||
{
|
||||
return delFlag;
|
||||
}
|
||||
|
||||
public void setDelFlag(String delFlag)
|
||||
{
|
||||
this.delFlag = delFlag;
|
||||
}
|
||||
|
||||
public String getParentName()
|
||||
{
|
||||
return parentName;
|
||||
}
|
||||
|
||||
public void setParentName(String parentName)
|
||||
{
|
||||
this.parentName = parentName;
|
||||
}
|
||||
|
||||
public List<SysDept> getChildren()
|
||||
{
|
||||
return children;
|
||||
}
|
||||
|
||||
public void setChildren(List<SysDept> children)
|
||||
{
|
||||
this.children = children;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("deptId", getDeptId())
|
||||
.append("parentId", getParentId())
|
||||
.append("ancestors", getAncestors())
|
||||
.append("deptName", getDeptName())
|
||||
.append("leader", getLeader())
|
||||
.append("phone", getPhone())
|
||||
.append("status", getStatus())
|
||||
.append("delFlag", getDelFlag())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,10 +4,14 @@ import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.evo.attendance.domain.vo.RzAttendanceDetailVO;
|
||||
import com.evo.attendance.domain.vo.RzSalaryVo;
|
||||
import com.evo.common.constant.Constants;
|
||||
import com.evo.common.core.domain.entity.SysDept;
|
||||
import com.evo.common.core.domain.entity.SysDictData;
|
||||
import com.evo.common.utils.StringUtils;
|
||||
import com.evo.common.utils.poi.ExcelUtil;
|
||||
import com.evo.common.utils.poi.ExcelUtilSs;
|
||||
import com.evo.finance.domain.vo.SalaryVo;
|
||||
import com.evo.system.mapper.SysDictDataMapper;
|
||||
@ -30,6 +34,8 @@ import com.evo.common.enums.BusinessType;
|
||||
import com.evo.finance.domain.RzSalaryDetail;
|
||||
import com.evo.finance.service.IRzSalaryDetailService;
|
||||
import com.evo.common.core.page.TableDataInfo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
@ -491,5 +497,17 @@ public class RzSalaryDetailController extends BaseController
|
||||
String footer = "制表: "+"审核: "+"经理签字: "+"总经理签字: ";
|
||||
return util.exportExcel(list,lists,"总表",sheetNameList,title,footer);
|
||||
}
|
||||
/**
|
||||
* 导入销售提成
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('finance:financeDetail:importSalesCommissions')")
|
||||
@Log(title = "导入销售提成", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importSalesCommissions")
|
||||
public AjaxResult importSalesCommissions(MultipartFile file) throws Exception
|
||||
{
|
||||
ExcelUtil<RzSalaryVo> util = new ExcelUtil<>(RzSalaryVo.class);
|
||||
List<RzSalaryVo> attendanceList = util.importExcel(file.getInputStream());
|
||||
return success(rzSalaryDetailService.importSalesCommissions(attendanceList));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -184,17 +184,28 @@ public class RzSalaryDetail extends BaseEntity
|
||||
@Excel(name = "本月应缴个税")
|
||||
private BigDecimal taxPayable;
|
||||
|
||||
|
||||
/** 实发工资 */
|
||||
@Excel(name = "实发工资")
|
||||
private BigDecimal netPayroll;
|
||||
|
||||
@Excel(name = "销售提成")
|
||||
private BigDecimal salesCommission;
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
private String remarks;
|
||||
|
||||
|
||||
/** 删除标识 */
|
||||
private String delFlag;
|
||||
|
||||
public BigDecimal getSalesCommission() {
|
||||
return salesCommission;
|
||||
}
|
||||
|
||||
public void setSalesCommission(BigDecimal salesCommission) {
|
||||
this.salesCommission = salesCommission;
|
||||
}
|
||||
|
||||
public BigDecimal getMonthSalary() {
|
||||
return monthSalary;
|
||||
}
|
||||
@ -609,54 +620,54 @@ public class RzSalaryDetail extends BaseEntity
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("staffId", getStaffId())
|
||||
.append("name", getName())
|
||||
.append("month", getMonth())
|
||||
.append("wbFlag", getWbFlag())
|
||||
.append("deptId", getDeptId())
|
||||
.append("basicSalary", getBasicSalary())
|
||||
.append("jobSalary", getJobSalary())
|
||||
.append("dailyWage", getDailyWage())
|
||||
.append("hoursSalary", getHoursSalary())
|
||||
.append("overtimeSalary", getOvertimeSalary())
|
||||
.append("levelSubsidies", getLevelSubsidies())
|
||||
.append("contractSubsidies", getContractSubsidies())
|
||||
.append("senioritySalary", getSenioritySalary())
|
||||
.append("socialSubsidies", getSocialSubsidies())
|
||||
.append("fullSubsidies", getFullSubsidies())
|
||||
.append("nightSubsidies", getNightSubsidies())
|
||||
.append("dinnerSubsidies", getDinnerSubsidies())
|
||||
.append("subsidyOrBonus", getSubsidyOrBonus())
|
||||
.append("absenteeismSalary", getAbsenteeismSalary())
|
||||
.append("absenteeismSubsidies", getAbsenteeismSubsidies())
|
||||
.append("mealFee", getMealFee())
|
||||
.append("deductions", getDeductions())
|
||||
.append("salary", getSalary())
|
||||
.append("payInsurance", getPayInsurance())
|
||||
.append("endowmentInsurance", getEndowmentInsurance())
|
||||
.append("medicalInsurance", getMedicalInsurance())
|
||||
.append("employmentInjuryInsurance", getEmploymentInjuryInsurance())
|
||||
.append("maternityInsurance", getMaternityInsurance())
|
||||
.append("unemploymentInsurance", getUnemploymentInsurance())
|
||||
.append("accumulationFund", getAccumulationFund())
|
||||
.append("salaryBeforeTax", getSalaryBeforeTax())
|
||||
.append("totalWages", getTotalWages())
|
||||
.append("annualExemptionAmount", getAnnualExemptionAmount())
|
||||
.append("specialDeduction", getSpecialDeduction())
|
||||
.append("taxableIncome", getTaxableIncome())
|
||||
.append("taxRate", getTaxRate())
|
||||
.append("slowDownTheDeduction", getSlowDownTheDeduction())
|
||||
.append("aggregatePersonalIncomeTax", getAggregatePersonalIncomeTax())
|
||||
.append("taxPayable", getTaxPayable())
|
||||
.append("netPayroll", getNetPayroll())
|
||||
.append("remarks", getRemarks())
|
||||
.append("delFlag", getDelFlag())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
return "RzSalaryDetail{" +
|
||||
"id=" + id +
|
||||
", staffId=" + staffId +
|
||||
", name='" + name + '\'' +
|
||||
", month=" + month +
|
||||
", wbFlag='" + wbFlag + '\'' +
|
||||
", deptId=" + deptId +
|
||||
", deptName='" + deptName + '\'' +
|
||||
", monthSalary=" + monthSalary +
|
||||
", basicSalary=" + basicSalary +
|
||||
", jobSalary=" + jobSalary +
|
||||
", dailyWage=" + dailyWage +
|
||||
", hoursSalary=" + hoursSalary +
|
||||
", overtimeSalary=" + overtimeSalary +
|
||||
", levelSubsidies=" + levelSubsidies +
|
||||
", contractSubsidies=" + contractSubsidies +
|
||||
", senioritySalary=" + senioritySalary +
|
||||
", socialSubsidies=" + socialSubsidies +
|
||||
", fullSubsidies=" + fullSubsidies +
|
||||
", middleSubsidies=" + middleSubsidies +
|
||||
", nightSubsidies=" + nightSubsidies +
|
||||
", dinnerSubsidies=" + dinnerSubsidies +
|
||||
", subsidyOrBonus=" + subsidyOrBonus +
|
||||
", absenteeismSalary=" + absenteeismSalary +
|
||||
", absenteeismSubsidies=" + absenteeismSubsidies +
|
||||
", mealFee=" + mealFee +
|
||||
", deductions=" + deductions +
|
||||
", salary=" + salary +
|
||||
", payInsurance=" + payInsurance +
|
||||
", endowmentInsurance=" + endowmentInsurance +
|
||||
", medicalInsurance=" + medicalInsurance +
|
||||
", employmentInjuryInsurance=" + employmentInjuryInsurance +
|
||||
", maternityInsurance=" + maternityInsurance +
|
||||
", unemploymentInsurance=" + unemploymentInsurance +
|
||||
", accumulationFund=" + accumulationFund +
|
||||
", salaryBeforeTax=" + salaryBeforeTax +
|
||||
", totalWages=" + totalWages +
|
||||
", annualExemptionAmount=" + annualExemptionAmount +
|
||||
", specialDeduction=" + specialDeduction +
|
||||
", taxableIncome=" + taxableIncome +
|
||||
", taxRate=" + taxRate +
|
||||
", slowDownTheDeduction=" + slowDownTheDeduction +
|
||||
", aggregatePersonalIncomeTax=" + aggregatePersonalIncomeTax +
|
||||
", taxPayable=" + taxPayable +
|
||||
", netPayroll=" + netPayroll +
|
||||
", salesCommission=" + salesCommission +
|
||||
", remarks='" + remarks + '\'' +
|
||||
", delFlag='" + delFlag + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,10 @@ package com.evo.finance.mapper;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.evo.finance.domain.RzSalaryDetail;
|
||||
import com.evo.system.domain.SysStaff;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
@ -11,7 +14,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
* @author evo
|
||||
* @date 2024-11-26
|
||||
*/
|
||||
public interface RzSalaryDetailMapper
|
||||
public interface RzSalaryDetailMapper extends BaseMapper<RzSalaryDetail>
|
||||
{
|
||||
/**
|
||||
* 查询工资详情
|
||||
|
||||
@ -2,6 +2,8 @@ package com.evo.finance.service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.evo.attendance.domain.vo.RzSalaryVo;
|
||||
import com.evo.common.core.domain.AjaxResult;
|
||||
import com.evo.finance.domain.RzSalaryDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -66,4 +68,5 @@ public interface IRzSalaryDetailService
|
||||
*/
|
||||
public List<RzSalaryDetail> selectSalaryDetailByWbFlag(String wbFlag,Date date);
|
||||
|
||||
AjaxResult importSalesCommissions(List<RzSalaryVo> attendanceList);
|
||||
}
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
package com.evo.finance.service.impl;
|
||||
|
||||
import com.evo.attendance.domain.RzAttendance;
|
||||
import com.evo.attendance.domain.RzAttendanceStatistical;
|
||||
import com.evo.attendance.domain.RzSpecialOverTime;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.evo.attendance.domain.vo.RzSalaryVo;
|
||||
import com.evo.attendance.mapper.RzAttendanceMapper;
|
||||
import com.evo.attendance.mapper.RzAttendanceStatisticalMapper;
|
||||
import com.evo.attendance.mapper.RzSpecialOverTimeMapper;
|
||||
import com.evo.common.constant.Constants;
|
||||
import com.evo.common.core.domain.AjaxResult;
|
||||
import com.evo.common.core.domain.entity.SysDept;
|
||||
import com.evo.common.utils.DateUtils;
|
||||
import com.evo.common.utils.SecurityUtils;
|
||||
import com.evo.common.utils.StringUtils;
|
||||
@ -16,7 +17,6 @@ import com.evo.finance.domain.RzSalaryStatistics;
|
||||
import com.evo.finance.mapper.RzSalaryDetailMapper;
|
||||
import com.evo.finance.mapper.RzSalaryStatisticsMapper;
|
||||
import com.evo.finance.service.IRzSalaryDetailService;
|
||||
import com.evo.personnelMatters.domain.RzHoliday;
|
||||
import com.evo.personnelMatters.mapper.RzHolidayMapper;
|
||||
import com.evo.restaurant.domain.RzRestaurantStatistics;
|
||||
import com.evo.restaurant.mapper.RzRestaurantStatisticsMapper;
|
||||
@ -26,13 +26,11 @@ import com.evo.system.mapper.SysDeptMapper;
|
||||
import com.evo.system.mapper.SysStaffDetailMapper;
|
||||
import com.evo.system.mapper.SysStaffMapper;
|
||||
import com.evo.system.service.ISysDictDataService;
|
||||
import com.evo.utils.DateUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@ -45,7 +43,7 @@ import java.util.List;
|
||||
* @date 2024-11-26
|
||||
*/
|
||||
@Service
|
||||
public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
|
||||
public class RzSalaryDetailServiceImpl extends ServiceImpl<RzSalaryDetailMapper, RzSalaryDetail> implements IRzSalaryDetailService
|
||||
{
|
||||
@Resource
|
||||
private RzSalaryDetailMapper rzSalaryDetailMapper;
|
||||
@ -69,6 +67,7 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
|
||||
private RzSpecialOverTimeMapper rzSpecialOverTimeMapper;
|
||||
@Resource
|
||||
private ISysDictDataService sysDictDataService;
|
||||
|
||||
/**
|
||||
* 查询工资详情
|
||||
*
|
||||
@ -554,4 +553,34 @@ public class RzSalaryDetailServiceImpl implements IRzSalaryDetailService
|
||||
public List<RzSalaryDetail> selectSalaryDetailByWbFlag(String wbFlag,Date date){
|
||||
return rzSalaryDetailMapper.selectSalaryDetailByWbFlag(wbFlag,date);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult importSalesCommissions(List<RzSalaryVo> attendanceList) {
|
||||
|
||||
LambdaQueryWrapper<SysDept> wa = new LambdaQueryWrapper<>();
|
||||
wa.eq(SysDept::getDelFlag,Constants.DELETE_FLAG_0)
|
||||
.eq(SysDept::getDeptName,"销售部");
|
||||
SysDept sysDept = deptMapper.selectOne(wa);
|
||||
|
||||
|
||||
//更新工资单详情,写入销售提成
|
||||
for (RzSalaryVo rzSalaryVo : attendanceList) {
|
||||
if (rzSalaryVo.getSale() != null ){
|
||||
//根据本门查询 月份工资单
|
||||
List<RzSalaryDetail> rzSalaryDetails = rzSalaryDetailMapper.selectSalaryDetailByDeptId(sysDept.getDeptId(),rzSalaryVo.getDate());
|
||||
if (!rzSalaryDetails.isEmpty()){
|
||||
for (RzSalaryDetail rzSalaryDetail : rzSalaryDetails) {
|
||||
if (rzSalaryDetail.getName().equals(rzSalaryVo.getName())){
|
||||
//更新销售提成
|
||||
rzSalaryDetail.setSalesCommission(rzSalaryVo.getSale());
|
||||
rzSalaryDetail.setUpdateTime(DateUtils.getNowDate());
|
||||
rzSalaryDetail.setUpdateBy(SecurityUtils.getUsername());
|
||||
rzSalaryDetailMapper.updateById(rzSalaryDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
@ -120,6 +120,7 @@ public class SecurityConfig
|
||||
.antMatchers("/api/v1/verify_user").permitAll()
|
||||
.antMatchers("/api/v1/record/face").permitAll()
|
||||
.antMatchers("/api/v2/verify_user_yt").permitAll()
|
||||
.antMatchers("/dev-api/personnelMatters/interviewer").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.evo.personnelMatters.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.evo.common.annotation.Anonymous;
|
||||
import com.evo.common.annotation.Log;
|
||||
import com.evo.common.core.controller.BaseController;
|
||||
import com.evo.common.core.domain.AjaxResult;
|
||||
@ -58,17 +61,33 @@ public class RzInterviewerController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('personnelMatters:interviewer:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return success(rzInterviewerService.selectRzInterviewerById(id));
|
||||
try {
|
||||
RzInterviewer interviewer = rzInterviewerService.selectRzInterviewerById(id);
|
||||
if (interviewer == null) {
|
||||
return AjaxResult.error("未找到相关数据");
|
||||
}
|
||||
// 解析JSON数据
|
||||
if (interviewer.getFromData() != null && !interviewer.getFromData().isEmpty()) {
|
||||
JSONObject formData = JSON.parseObject(interviewer.getFromData());
|
||||
interviewer.setFromData(formData.toJSONString());
|
||||
}
|
||||
|
||||
return AjaxResult.success(interviewer);
|
||||
} catch (Exception e) {
|
||||
logger.error("获取面试登记表信息失败", e);
|
||||
return AjaxResult.error("获取数据失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增面试信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('personnelMatters:interviewer:add')")
|
||||
@Log(title = "面试信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@Anonymous
|
||||
public AjaxResult add(@RequestBody RzInterviewer rzInterviewer)
|
||||
{
|
||||
return toAjax(rzInterviewerService.insertRzInterviewer(rzInterviewer));
|
||||
|
||||
@ -3,6 +3,7 @@ package com.evo.personnelMatters.domain;
|
||||
import com.evo.common.annotation.Excel;
|
||||
import com.evo.common.core.domain.BaseEntity;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
@ -14,6 +15,7 @@ import java.util.Date;
|
||||
* @author chenyj
|
||||
* @date 2024-09-07
|
||||
*/
|
||||
@Data
|
||||
public class RzInterviewer extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -53,118 +55,15 @@ public class RzInterviewer extends BaseEntity
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
private String remarks;
|
||||
/** 提交时间 */
|
||||
@Excel(name = "提交时间")
|
||||
private String submitTime;
|
||||
|
||||
/** 表单数据 */
|
||||
@Excel(name = "表单数据")
|
||||
private String fromData;
|
||||
|
||||
/** 删除标记 */
|
||||
private String delFlag;
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
public void setPhone(String phone)
|
||||
{
|
||||
this.phone = phone;
|
||||
}
|
||||
|
||||
public String getPhone()
|
||||
{
|
||||
return phone;
|
||||
}
|
||||
public void setPost(String post)
|
||||
{
|
||||
this.post = post;
|
||||
}
|
||||
|
||||
public String getPost()
|
||||
{
|
||||
return post;
|
||||
}
|
||||
public void setContent(String content)
|
||||
{
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public String getContent()
|
||||
{
|
||||
return content;
|
||||
}
|
||||
public void setAddress(String address)
|
||||
{
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getAddress()
|
||||
{
|
||||
return address;
|
||||
}
|
||||
public void setInterviewDate(Date interviewDate)
|
||||
{
|
||||
this.interviewDate = interviewDate;
|
||||
}
|
||||
|
||||
public Date getInterviewDate()
|
||||
{
|
||||
return interviewDate;
|
||||
}
|
||||
public void setYtFlag(String ytFlag)
|
||||
{
|
||||
this.ytFlag = ytFlag;
|
||||
}
|
||||
|
||||
public String getYtFlag()
|
||||
{
|
||||
return ytFlag;
|
||||
}
|
||||
public void setRemarks(String remarks)
|
||||
{
|
||||
this.remarks = remarks;
|
||||
}
|
||||
|
||||
public String getRemarks()
|
||||
{
|
||||
return remarks;
|
||||
}
|
||||
public void setDelFlag(String delFlag)
|
||||
{
|
||||
this.delFlag = delFlag;
|
||||
}
|
||||
|
||||
public String getDelFlag()
|
||||
{
|
||||
return delFlag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("name", getName())
|
||||
.append("phone", getPhone())
|
||||
.append("post", getPost())
|
||||
.append("content", getContent())
|
||||
.append("address", getAddress())
|
||||
.append("interviewDate", getInterviewDate())
|
||||
.append("ytFlag", getYtFlag())
|
||||
.append("remarks", getRemarks())
|
||||
.append("delFlag", getDelFlag())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
package com.evo.personnelMatters.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class EducationExperience {
|
||||
private String start;
|
||||
private String school;
|
||||
private String major;
|
||||
private String certificate;
|
||||
private String remark;
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.evo.personnelMatters.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class FamilyMember {
|
||||
private String relation;
|
||||
private String name;
|
||||
private String age;
|
||||
private String address;
|
||||
private String company;
|
||||
private String job;
|
||||
}
|
||||
@ -0,0 +1,150 @@
|
||||
package com.evo.personnelMatters.domain.vo;
|
||||
|
||||
import com.evo.common.annotation.Excel;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RzInterviewerDetail {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键 */
|
||||
private Long id;
|
||||
|
||||
/** 应聘部门 */
|
||||
@Excel(name = "应聘部门")
|
||||
private String department;
|
||||
|
||||
/** 应聘岗位 */
|
||||
@Excel(name = "应聘岗位")
|
||||
private String post;
|
||||
|
||||
/** 期望薪资 */
|
||||
@Excel(name = "期望薪资")
|
||||
private String salary;
|
||||
|
||||
/** 填写日期 */
|
||||
@Excel(name = "填写日期")
|
||||
private String fillDate;
|
||||
|
||||
/** 姓名 */
|
||||
@Excel(name = "姓名")
|
||||
private String name;
|
||||
|
||||
/** 性别 */
|
||||
@Excel(name = "性别")
|
||||
private String gender;
|
||||
|
||||
/** 出生年月 */
|
||||
@JsonFormat(pattern = "yyyy-MM")
|
||||
@Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM")
|
||||
private String birth;
|
||||
|
||||
/** 民族 */
|
||||
@Excel(name = "民族")
|
||||
private String nation;
|
||||
|
||||
/** 婚姻状况 */
|
||||
@Excel(name = "婚姻状况")
|
||||
private String maritalStatus;
|
||||
|
||||
/** 政治面貌 */
|
||||
@Excel(name = "政治面貌")
|
||||
private String politicalStatus;
|
||||
|
||||
/** 身份证号 */
|
||||
@Excel(name = "身份证号")
|
||||
private String idCard;
|
||||
|
||||
/** 目前工作状况 */
|
||||
@Excel(name = "目前工作状况")
|
||||
private String jobStatus;
|
||||
|
||||
/** 最高学历 */
|
||||
@Excel(name = "最高学历")
|
||||
private String education;
|
||||
|
||||
/** 专业 */
|
||||
@Excel(name = "专业")
|
||||
private String major;
|
||||
|
||||
/** 毕业学校 */
|
||||
@Excel(name = "毕业学校")
|
||||
private String school;
|
||||
|
||||
/** 学位 */
|
||||
@Excel(name = "学位")
|
||||
private String degree;
|
||||
|
||||
/** 职称 */
|
||||
@Excel(name = "职称")
|
||||
private String title;
|
||||
|
||||
/** 到岗时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "到岗时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private String arrivalDate;
|
||||
|
||||
/** 户口所在地 */
|
||||
@Excel(name = "户口所在地")
|
||||
private String registeredAddress;
|
||||
|
||||
/** 现居住地址 */
|
||||
@Excel(name = "现居住地址")
|
||||
private String currentAddress;
|
||||
|
||||
/** 联系电话 */
|
||||
@Excel(name = "联系电话")
|
||||
private String phone;
|
||||
|
||||
/** 教育经历列表 */
|
||||
private List<EducationExperience> educationList;
|
||||
|
||||
/** 工作经历列表 */
|
||||
private List<WorkExperience> workList;
|
||||
|
||||
/** 家庭成员列表 */
|
||||
private List<FamilyMember> familyList;
|
||||
|
||||
/** 人才招聘会 */
|
||||
@Excel(name = "人才招聘会")
|
||||
private Boolean channelJobFair;
|
||||
|
||||
/** 招聘网站 */
|
||||
@Excel(name = "招聘网站")
|
||||
private Boolean channelWebsite;
|
||||
|
||||
/** 朋友推荐 */
|
||||
@Excel(name = "朋友推荐")
|
||||
private Boolean channelFriend;
|
||||
|
||||
/** 其他渠道 */
|
||||
@Excel(name = "其他渠道")
|
||||
private Boolean channelOther;
|
||||
|
||||
/** 介绍人 */
|
||||
@Excel(name = "介绍人")
|
||||
private String referrer;
|
||||
|
||||
/** 介绍人关系 */
|
||||
@Excel(name = "介绍人关系")
|
||||
private String referrerRelation;
|
||||
|
||||
/** 介绍人职务 */
|
||||
@Excel(name = "介绍人职务")
|
||||
private String referrerJob;
|
||||
|
||||
/** 是否同意承诺 */
|
||||
@Excel(name = "是否同意承诺")
|
||||
private Boolean promiseAgreed;
|
||||
|
||||
/** 删除标记 */
|
||||
private String delFlag;
|
||||
|
||||
/** 表单数据 */
|
||||
@Excel(name = "表单数据")
|
||||
private String fromData;
|
||||
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.evo.personnelMatters.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WorkExperience {
|
||||
private String start;
|
||||
private String company;
|
||||
private String position;
|
||||
private String content;
|
||||
private String salary;
|
||||
private String reason;
|
||||
}
|
||||
@ -1,13 +1,19 @@
|
||||
package com.evo.personnelMatters.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.evo.common.constant.Constants;
|
||||
import com.evo.common.utils.DateUtils;
|
||||
import com.evo.common.utils.SecurityUtils;
|
||||
import com.evo.personnelMatters.domain.RzInterviewer;
|
||||
import com.evo.personnelMatters.domain.vo.RzInterviewerDetail;
|
||||
import com.evo.personnelMatters.mapper.RzInterviewerMapper;
|
||||
import com.evo.personnelMatters.service.IRzInterviewerService;
|
||||
import com.evo.system.domain.SysStaff;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -55,8 +61,15 @@ public class RzInterviewerServiceImpl implements IRzInterviewerService
|
||||
@Override
|
||||
public int insertRzInterviewer(RzInterviewer rzInterviewer)
|
||||
{
|
||||
// 解析JSON数据
|
||||
if (rzInterviewer.getFromData() != null && !rzInterviewer.getFromData().isEmpty()) {
|
||||
JSONObject formData = JSON.parseObject(rzInterviewer.getFromData());
|
||||
//将JSON 转换为RzInterviewerDetail
|
||||
RzInterviewerDetail rzInterviewerDetail = formData.toJavaObject(RzInterviewerDetail.class);
|
||||
rzInterviewer.setInterviewDate(DateUtils.getNowDate());
|
||||
rzInterviewer.setAddress(rzInterviewerDetail.getCurrentAddress());
|
||||
}
|
||||
rzInterviewer.setYtFlag("否");
|
||||
rzInterviewer.setCreateBy(SecurityUtils.getUsername());
|
||||
rzInterviewer.setCreateTime(DateUtils.getNowDate());
|
||||
rzInterviewer.setDelFlag(Constants.DELETE_FLAG_0);
|
||||
return rzInterviewerMapper.insertRzInterviewer(rzInterviewer);
|
||||
@ -69,8 +82,30 @@ public class RzInterviewerServiceImpl implements IRzInterviewerService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateRzInterviewer(RzInterviewer rzInterviewer)
|
||||
{
|
||||
public int updateRzInterviewer(RzInterviewer rzInterviewer) {
|
||||
if (rzInterviewer.getYtFlag().equals("是")){
|
||||
//同步员工信息中
|
||||
SysStaff sysStaff = new SysStaff();
|
||||
sysStaff.setName(rzInterviewer.getName());
|
||||
String fromData = rzInterviewer.getFromData();
|
||||
RzInterviewerDetail detail = JSON.parseObject(fromData).toJavaObject(RzInterviewerDetail.class);
|
||||
sysStaff.setPhone(detail.getPhone());
|
||||
sysStaff.setIdCard(detail.getIdCard());
|
||||
sysStaff.setSex(detail.getGender());
|
||||
//根据出生年月计算年龄
|
||||
String birth = detail.getBirth();
|
||||
if (birth != null && !birth.isEmpty()) {
|
||||
int year = Integer.parseInt(birth.substring(0,4));
|
||||
int age = Integer.parseInt(new SimpleDateFormat("yyyy").format(new Date())) - year;
|
||||
sysStaff.setAge(Long.parseLong(age+""));
|
||||
}
|
||||
sysStaff.setAddress(detail.getCurrentAddress());
|
||||
sysStaff.setLevel(detail.getEducation());
|
||||
sysStaff.setMajor(detail.getMajor());
|
||||
sysStaff.setSchool(detail.getSchool());
|
||||
|
||||
|
||||
}
|
||||
rzInterviewer.setUpdateBy(SecurityUtils.getUsername());
|
||||
rzInterviewer.setUpdateTime(DateUtils.getNowDate());
|
||||
return rzInterviewerMapper.updateRzInterviewer(rzInterviewer);
|
||||
|
||||
@ -58,4 +58,5 @@ public class RzRestaurantImagesController extends BaseController
|
||||
public AjaxResult uploadPDF(@RequestParam("name") String name,@RequestParam("file") MultipartFile filePath){
|
||||
return rzRestaurantImagesService.insertRzRestaurantImages(name,filePath);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import com.evo.common.utils.Collections;
|
||||
import com.evo.common.utils.DateUtils;
|
||||
import com.evo.common.utils.SecurityUtils;
|
||||
import com.evo.common.utils.StringUtils;
|
||||
import com.evo.common.utils.file.FileUploadUtils;
|
||||
import com.evo.equipment.domain.vo.StaffData;
|
||||
import com.evo.equipment.domain.vo.StaffDto;
|
||||
import com.evo.equipment.service.IEqSnDetailService;
|
||||
@ -20,10 +21,7 @@ import com.evo.restaurant.service.IRzRestaurantImagesService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import javax.annotation.Resource;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.*;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.evo.attendance.domain.vo.RzSalaryVo;
|
||||
import com.evo.system.domain.SysStaff;
|
||||
import com.evo.system.domain.vo.SysStaffVo;
|
||||
import com.evo.system.service.ISysStaffService;
|
||||
@ -162,5 +163,16 @@ public class SysStaffController extends BaseController
|
||||
List<SysStaff> list = sysStaffService.queryysStaffByDeptId(dept);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入销售提成
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:staff:importSalesCommissions')")
|
||||
@Log(title = "导入销售提成", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importSalesCommissions")
|
||||
public AjaxResult importSalesCommissions(MultipartFile file) throws Exception
|
||||
{
|
||||
ExcelUtil<RzSalaryVo> util = new ExcelUtil<>(RzSalaryVo.class);
|
||||
List<RzSalaryVo> attendanceList = util.importExcel(file.getInputStream());
|
||||
return success(sysStaffService.importSalesCommissions(attendanceList));
|
||||
}
|
||||
}
|
||||
|
||||
@ -163,6 +163,9 @@ public class SysStaffDetail extends BaseEntity
|
||||
/** 本年累计已缴个税 */
|
||||
@Excel(name = "本年累计已缴个税")
|
||||
private BigDecimal aggregatePersonalIncomeTax;
|
||||
/** 本年累计已缴个税 */
|
||||
@Excel(name = "销售提成")
|
||||
private BigDecimal salesCommission;
|
||||
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.evo.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.evo.common.core.domain.entity.SysDept;
|
||||
|
||||
@ -9,7 +11,7 @@ import com.evo.common.core.domain.entity.SysDept;
|
||||
*
|
||||
* @author evo
|
||||
*/
|
||||
public interface SysDeptMapper
|
||||
public interface SysDeptMapper extends BaseMapper<SysDept>
|
||||
{
|
||||
/**
|
||||
* 查询部门管理数据
|
||||
|
||||
@ -1,14 +1,12 @@
|
||||
package com.evo.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.evo.attendance.domain.RzAttendanceStatistical;
|
||||
import com.evo.attendance.domain.vo.RzSalaryVo;
|
||||
import com.evo.common.core.domain.AjaxResult;
|
||||
import com.evo.common.core.domain.entity.SysUser;
|
||||
import com.evo.system.domain.SysStaff;
|
||||
import com.evo.system.domain.vo.SysStaffVo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -98,4 +96,8 @@ public interface ISysStaffService extends IService<SysStaff>
|
||||
public void calculationOfSeniority();
|
||||
|
||||
public SysStaff selectSysStaffByName(String employeeName);
|
||||
|
||||
SysStaff selectByDepId(Long deptId);
|
||||
|
||||
AjaxResult importSalesCommissions(List<RzSalaryVo> attendanceList);
|
||||
}
|
||||
|
||||
@ -59,7 +59,11 @@ public class SysStaffDetailServiceImpl extends ServiceImpl<SysStaffDetailMapper,
|
||||
|
||||
@Override
|
||||
public SysStaffDetail selectSysStaffDetailByUserId(Long id) {
|
||||
return SubsidyCalculationUtils.subsidyCalculation(sysStaffService.selectSysStaffByUserId(id),getOne(new LambdaQueryWrapper<SysStaffDetail>().eq(SysStaffDetail::getDelFlag, Constants.DELETE_FLAG_0).eq(SysStaffDetail::getStaffId, id).orderByDesc(SysStaffDetail::getCreateTime), false), rzSubsidyInfoService.list());
|
||||
return SubsidyCalculationUtils.subsidyCalculation(sysStaffService.selectSysStaffByUserId(id),
|
||||
getOne(new LambdaQueryWrapper<SysStaffDetail>()
|
||||
.eq(SysStaffDetail::getDelFlag, Constants.DELETE_FLAG_0)
|
||||
.eq(SysStaffDetail::getStaffId, id)
|
||||
.orderByDesc(SysStaffDetail::getCreateTime), false), rzSubsidyInfoService.list());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -3,6 +3,7 @@ package com.evo.system.service.impl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.evo.attendance.service.IRzAttendanceStatisticalService;
|
||||
import com.evo.attendance.domain.vo.RzSalaryVo;
|
||||
import com.evo.common.annotation.DataScope;
|
||||
import com.evo.common.constant.Constants;
|
||||
import com.evo.common.core.domain.AjaxResult;
|
||||
@ -861,7 +862,52 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
public SysStaff selectSysStaffByName(String employeeName) {
|
||||
LambdaQueryWrapper<SysStaff> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysStaff::getName,employeeName);
|
||||
|
||||
return getBaseMapper().selectOne(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysStaff selectByDepId(Long deptId) {
|
||||
LambdaQueryWrapper<SysStaff> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysStaff::getDeptId,deptId);
|
||||
return getBaseMapper().selectOne(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult importSalesCommissions(List<RzSalaryVo> attendanceList) {
|
||||
// 获取销售部门信息
|
||||
SysDept sysDept = deptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
|
||||
.eq(SysDept::getDelFlag, Constants.DELETE_FLAG_0)
|
||||
.eq(SysDept::getDeptName, "销售部"));
|
||||
|
||||
if (sysDept == null) {
|
||||
return AjaxResult.error("销售部门未找到,请确认部门是否存在且未被删除!");
|
||||
}
|
||||
|
||||
// 更新工资单详情,写入销售提成
|
||||
for (RzSalaryVo rzSalaryVo : attendanceList) {
|
||||
if (rzSalaryVo.getSale() != null && rzSalaryVo.getName() != null) {
|
||||
// 直接根据姓名和部门ID查询员工信息
|
||||
SysStaff sysStaff = getBaseMapper().selectOne(new LambdaQueryWrapper<SysStaff>()
|
||||
.eq(SysStaff::getName, rzSalaryVo.getName())
|
||||
.eq(SysStaff::getDeptId, sysDept.getDeptId())
|
||||
.eq(SysStaff::getDelFlag, Constants.DELETE_FLAG_0));
|
||||
|
||||
if (sysStaff != null) {
|
||||
// 获取员工详情
|
||||
SysStaffDetail sysStaffDetail = sysStaffDetailMapper.selectSysStaffDetailByStaffId(sysStaff.getUserId());
|
||||
if (sysStaffDetail != null) {
|
||||
// 更新销售提成
|
||||
sysStaffDetail.setSalesCommission(rzSalaryVo.getSale());
|
||||
sysStaffDetail.setUpdateTime(new Date());
|
||||
sysStaffDetail.setUpdateBy(SecurityUtils.getUsername());
|
||||
sysStaffDetailMapper.updateById(sysStaffDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -45,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="taxRate" column="tax_rate" />
|
||||
<result property="slowDownTheDeduction" column="slow_down_the_deduction" />
|
||||
<result property="aggregatePersonalIncomeTax" column="aggregate_personal_income_tax" />
|
||||
<result property="salesCommission" column="sales_commission" />
|
||||
<result property="taxPayable" column="tax_payable" />
|
||||
<result property="netPayroll" column="net_payroll" />
|
||||
<result property="remarks" column="remarks" />
|
||||
@ -56,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRzSalaryDetailVo">
|
||||
select id, staff_id, name, month, wb_flag, dept_id,month_salary, basic_salary, job_salary, daily_wage, hours_salary, overtime_salary, level_subsidies, contract_subsidies, seniority_salary, social_subsidies, full_subsidies, night_subsidies, dinner_subsidies, subsidy_or_bonus, absenteeism_salary, absenteeism_subsidies, meal_fee, deductions, salary, pay_insurance, endowment_insurance, medical_insurance, employment_injury_insurance, maternity_insurance, unemployment_insurance, accumulation_fund, salary_before_tax, total_wages, annual_exemption_amount, special_deduction, taxable_income, tax_rate, slow_down_the_deduction, aggregate_personal_income_tax, aggregate_tax, tax_payable, net_payroll, remarks, del_flag, create_by, create_time, update_by, update_time from rz_salary_detail
|
||||
select id, staff_id, name, month, wb_flag, dept_id,month_salary, basic_salary, job_salary, daily_wage, hours_salary, overtime_salary, level_subsidies, contract_subsidies, seniority_salary, social_subsidies, full_subsidies, night_subsidies, dinner_subsidies, subsidy_or_bonus, absenteeism_salary, absenteeism_subsidies, meal_fee, deductions, salary, pay_insurance, endowment_insurance, medical_insurance, employment_injury_insurance, maternity_insurance, unemployment_insurance, accumulation_fund, salary_before_tax, total_wages, annual_exemption_amount, special_deduction, taxable_income, tax_rate, slow_down_the_deduction, aggregate_personal_income_tax, aggregate_tax, tax_payable, net_payroll,sales_commissions, remarks, del_flag, create_by, create_time, update_by, update_time from rz_salary_detail
|
||||
</sql>
|
||||
|
||||
<select id="selectRzSalaryDetailList" parameterType="RzSalaryDetail" resultMap="RzSalaryDetailResult">
|
||||
@ -119,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="taxPayable != null">tax_payable,</if>
|
||||
<if test="netPayroll != null">net_payroll,</if>
|
||||
<if test="remarks != null">remarks,</if>
|
||||
<if test="salesCommission != null">salesCommission,</if>
|
||||
<if test="delFlag != null">del_flag,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
@ -167,6 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="aggregatePersonalIncomeTax != null">#{aggregatePersonalIncomeTax},</if>
|
||||
<if test="taxPayable != null">#{taxPayable},</if>
|
||||
<if test="netPayroll != null">#{netPayroll},</if>
|
||||
<if test="salesCommission != null">#{salesCommission},</if>
|
||||
<if test="remarks != null">#{remarks},</if>
|
||||
<if test="delFlag != null">#{delFlag},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
@ -220,6 +223,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="aggregatePersonalIncomeTax != null">aggregate_personal_income_tax = #{aggregatePersonalIncomeTax},</if>
|
||||
<if test="taxPayable != null">tax_payable = #{taxPayable},</if>
|
||||
<if test="netPayroll != null">net_payroll = #{netPayroll},</if>
|
||||
<if test="salesCommission != null">net_payroll = #{salesCommission},</if>
|
||||
<if test="remarks != null">remarks = #{remarks},</if>
|
||||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
||||
|
||||
@ -19,10 +19,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="submitTime" column="submit_time" />
|
||||
<result property="fromData" column="from_data" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectRzInterviewerVo">
|
||||
select id, name, phone, post, content, address, interview_date, yt_flag, remarks, del_flag, create_by, create_time, update_by, update_time from rz_interviewer
|
||||
select id, name, phone, post, content, address, interview_date, yt_flag, remarks, del_flag, create_by, create_time, update_by, update_time,submit_time, from_data from rz_interviewer
|
||||
</sql>
|
||||
|
||||
<select id="selectRzInterviewerList" parameterType="RzInterviewer" resultMap="RzInterviewerResult">
|
||||
@ -33,6 +35,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="post != null and post != ''"> and post like concat('%', #{post}, '%')</if>
|
||||
<if test="content != null and content != ''"> and content like concat('%', #{content}, '%')</if>
|
||||
<if test="ytFlag != null and ytFlag != ''"> and yt_flag = #{ytFlag}</if>
|
||||
<if test="submitTime != null and submitTime != ''"> and submit_time = #{submitTime}</if>
|
||||
<if test="fromData != null and fromData != ''"> and from_data = #{fromData}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@ -57,6 +61,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="submitTime != null">submit_time,</if>
|
||||
<if test="fromData != null">from_data,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">#{name},</if>
|
||||
@ -72,6 +78,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="submitTime != null">#{submitTime},</if>
|
||||
<if test="fromData != null">#{fromData},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@ -91,6 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="submitTime != null">submit_time = #{submitTime},</if>
|
||||
<if test="fromData != null">from_data = #{fromData},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
@ -18,10 +18,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="isOverTime" column="is_over_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectDeptVo">
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.leader, d.phone,d.status, d.del_flag, d.create_by, d.create_time
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.leader, d.phone,d.status, d.del_flag,d.is_over_time, d.create_by, d.create_time
|
||||
from sys_dept d
|
||||
</sql>
|
||||
|
||||
@ -40,6 +41,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="status != null and status != ''">
|
||||
AND status = #{status}
|
||||
</if>
|
||||
<if test="isOverTime != null and status != ''">
|
||||
AND is_over_time = #{isOverTime}
|
||||
</if>
|
||||
<!-- 数据范围过滤 -->
|
||||
${params.dataScope}
|
||||
order by d.parent_id
|
||||
@ -57,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</select>
|
||||
|
||||
<select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.leader, d.phone, d.status,
|
||||
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.leader, d.phone, d.status,d.is_over_time,
|
||||
(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
|
||||
from sys_dept d
|
||||
where d.dept_id = #{deptId}
|
||||
@ -94,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="leader != null and leader != ''">leader,</if>
|
||||
<if test="phone != null and phone != ''">phone,</if>
|
||||
<if test="status != null">status,</if>
|
||||
<if test="isOverTime != null">is_over_time,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
create_time
|
||||
)values(
|
||||
@ -104,6 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="leader != null and leader != ''">#{leader},</if>
|
||||
<if test="phone != null and phone != ''">#{phone},</if>
|
||||
<if test="status != null">#{status},</if>
|
||||
<if test="isOverTime != null">#{isOverTime},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
sysdate()
|
||||
)
|
||||
@ -118,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="leader != null">leader = #{leader},</if>
|
||||
<if test="phone != null">phone = #{phone},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="isOverTime != null">is_over_time = #{isOverTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
|
||||
@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="specialDeduction" column="special_deduction" />
|
||||
<result property="totalWages" column="total_wages" />
|
||||
<result property="aggregatePersonalIncomeTax" column="aggregate_personal_income_tax" />
|
||||
<result property="salesCommission" column="sales_commission" />
|
||||
<result property="remarks" column="remarks" />
|
||||
<result property="delFlag" column="del_flag" />
|
||||
<result property="createBy" column="create_by" />
|
||||
@ -196,6 +197,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="specialDeduction != null">special_deduction = #{specialDeduction},</if>
|
||||
<if test="totalWages != null">total_wages = #{totalWages},</if>
|
||||
<if test="aggregatePersonalIncomeTax != null">aggregate_personal_income_tax = #{aggregatePersonalIncomeTax},</if>
|
||||
<if test="salesCommission != null">sales_commission = #{salesCommission},</if>
|
||||
<if test="remarks != null">remarks = #{remarks},</if>
|
||||
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
|
||||
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user