diff --git a/src/main/java/com/ccsens/ptccsens/api/SalaryController.java b/src/main/java/com/ccsens/ptccsens/api/SalaryController.java new file mode 100644 index 0000000..03b0a47 --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/api/SalaryController.java @@ -0,0 +1,54 @@ +package com.ccsens.ptccsens.api; + + +import com.ccsens.ptccsens.annotation.MustLogin; +import com.ccsens.ptccsens.bean.dto.SalaryDto; +import com.ccsens.ptccsens.bean.vo.SalaryVo; +import com.ccsens.ptccsens.service.ISalaryService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author 逗 + */ +@Api(tags = "工资相关") +@RestController +@RequestMapping("/salary") +@Slf4j +public class SalaryController { + @Resource + private ISalaryService salaryService; + + + @MustLogin + @ApiOperation(value = "查看员工工资信息", notes = "") + @RequestMapping(value = "/getMemberSalary", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getMemberSalary(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("查看员工工资信息:{}",params); + SalaryVo.MemberSalary memberSalary = salaryService.getMemberSalary(params.getParam(), params.getUserId()); + log.info("查看员工工资信息返回:{}",memberSalary); + return JsonResponse.newInstance().ok(memberSalary); + } + + @MustLogin + @ApiOperation(value = "查看项目下所有员工的工资信息", notes = "") + @RequestMapping(value = "/queryMemberSalary", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryMemberSalary(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ + log.info("查看项目下所有员工的工资信息:{}",params); + List memberSalaryList = salaryService.queryMemberSalary(params.getParam(), params.getUserId()); + log.info("查看项目下所有员工的工资信息返回:{}",memberSalaryList); + return JsonResponse.newInstance().ok(memberSalaryList); + } +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/dto/SalaryDto.java b/src/main/java/com/ccsens/ptccsens/bean/dto/SalaryDto.java new file mode 100644 index 0000000..a020d6f --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/dto/SalaryDto.java @@ -0,0 +1,28 @@ +package com.ccsens.ptccsens.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author 逗 + */ +@Data +public class SalaryDto { + + @Data + @ApiModel("查询员工的工资信息") + public static class SocialSecurity{ + @NotNull(message = "请传入项目信息") + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("成员id") + private Long memberId; + @ApiModelProperty("开始时间") + private Long startTime; + @ApiModelProperty("结束时间") + private Long endTime; + } +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/po/PluMemberSalary.java b/src/main/java/com/ccsens/ptccsens/bean/po/PluMemberSalary.java new file mode 100644 index 0000000..9af0de2 --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/po/PluMemberSalary.java @@ -0,0 +1,205 @@ +package com.ccsens.ptccsens.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class PluMemberSalary implements Serializable { + private Long id; + + private Long memberId; + + private Long basicWage; + + private String position; + + private Integer workingTime; + + private Long shareOption; + + private Long receiveDividends; + + private Long medicalInsurance; + + private Long maternityInsurance; + + private Long employmentInjuryInsurance; + + private Long endowmentInsurance; + + private Long unemploymentInsurance; + + private Long housingFund; + + private Long operator; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public Long getBasicWage() { + return basicWage; + } + + public void setBasicWage(Long basicWage) { + this.basicWage = basicWage; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position == null ? null : position.trim(); + } + + public Integer getWorkingTime() { + return workingTime; + } + + public void setWorkingTime(Integer workingTime) { + this.workingTime = workingTime; + } + + public Long getShareOption() { + return shareOption; + } + + public void setShareOption(Long shareOption) { + this.shareOption = shareOption; + } + + public Long getReceiveDividends() { + return receiveDividends; + } + + public void setReceiveDividends(Long receiveDividends) { + this.receiveDividends = receiveDividends; + } + + public Long getMedicalInsurance() { + return medicalInsurance; + } + + public void setMedicalInsurance(Long medicalInsurance) { + this.medicalInsurance = medicalInsurance; + } + + public Long getMaternityInsurance() { + return maternityInsurance; + } + + public void setMaternityInsurance(Long maternityInsurance) { + this.maternityInsurance = maternityInsurance; + } + + public Long getEmploymentInjuryInsurance() { + return employmentInjuryInsurance; + } + + public void setEmploymentInjuryInsurance(Long employmentInjuryInsurance) { + this.employmentInjuryInsurance = employmentInjuryInsurance; + } + + public Long getEndowmentInsurance() { + return endowmentInsurance; + } + + public void setEndowmentInsurance(Long endowmentInsurance) { + this.endowmentInsurance = endowmentInsurance; + } + + public Long getUnemploymentInsurance() { + return unemploymentInsurance; + } + + public void setUnemploymentInsurance(Long unemploymentInsurance) { + this.unemploymentInsurance = unemploymentInsurance; + } + + public Long getHousingFund() { + return housingFund; + } + + public void setHousingFund(Long housingFund) { + this.housingFund = housingFund; + } + + public Long getOperator() { + return operator; + } + + public void setOperator(Long operator) { + this.operator = operator; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", memberId=").append(memberId); + sb.append(", basicWage=").append(basicWage); + sb.append(", position=").append(position); + sb.append(", workingTime=").append(workingTime); + sb.append(", shareOption=").append(shareOption); + sb.append(", receiveDividends=").append(receiveDividends); + sb.append(", medicalInsurance=").append(medicalInsurance); + sb.append(", maternityInsurance=").append(maternityInsurance); + sb.append(", employmentInjuryInsurance=").append(employmentInjuryInsurance); + sb.append(", endowmentInsurance=").append(endowmentInsurance); + sb.append(", unemploymentInsurance=").append(unemploymentInsurance); + sb.append(", housingFund=").append(housingFund); + sb.append(", operator=").append(operator); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/ptccsens/bean/po/PluMemberSalaryExample.java b/src/main/java/com/ccsens/ptccsens/bean/po/PluMemberSalaryExample.java new file mode 100644 index 0000000..e604881 --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/po/PluMemberSalaryExample.java @@ -0,0 +1,1231 @@ +package com.ccsens.ptccsens.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class PluMemberSalaryExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public PluMemberSalaryExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNull() { + addCriterion("member_id is null"); + return (Criteria) this; + } + + public Criteria andMemberIdIsNotNull() { + addCriterion("member_id is not null"); + return (Criteria) this; + } + + public Criteria andMemberIdEqualTo(Long value) { + addCriterion("member_id =", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotEqualTo(Long value) { + addCriterion("member_id <>", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThan(Long value) { + addCriterion("member_id >", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { + addCriterion("member_id >=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThan(Long value) { + addCriterion("member_id <", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdLessThanOrEqualTo(Long value) { + addCriterion("member_id <=", value, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdIn(List values) { + addCriterion("member_id in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotIn(List values) { + addCriterion("member_id not in", values, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdBetween(Long value1, Long value2) { + addCriterion("member_id between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andMemberIdNotBetween(Long value1, Long value2) { + addCriterion("member_id not between", value1, value2, "memberId"); + return (Criteria) this; + } + + public Criteria andBasicWageIsNull() { + addCriterion("basic_wage is null"); + return (Criteria) this; + } + + public Criteria andBasicWageIsNotNull() { + addCriterion("basic_wage is not null"); + return (Criteria) this; + } + + public Criteria andBasicWageEqualTo(Long value) { + addCriterion("basic_wage =", value, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageNotEqualTo(Long value) { + addCriterion("basic_wage <>", value, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageGreaterThan(Long value) { + addCriterion("basic_wage >", value, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageGreaterThanOrEqualTo(Long value) { + addCriterion("basic_wage >=", value, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageLessThan(Long value) { + addCriterion("basic_wage <", value, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageLessThanOrEqualTo(Long value) { + addCriterion("basic_wage <=", value, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageIn(List values) { + addCriterion("basic_wage in", values, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageNotIn(List values) { + addCriterion("basic_wage not in", values, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageBetween(Long value1, Long value2) { + addCriterion("basic_wage between", value1, value2, "basicWage"); + return (Criteria) this; + } + + public Criteria andBasicWageNotBetween(Long value1, Long value2) { + addCriterion("basic_wage not between", value1, value2, "basicWage"); + return (Criteria) this; + } + + public Criteria andPositionIsNull() { + addCriterion("position is null"); + return (Criteria) this; + } + + public Criteria andPositionIsNotNull() { + addCriterion("position is not null"); + return (Criteria) this; + } + + public Criteria andPositionEqualTo(String value) { + addCriterion("position =", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionNotEqualTo(String value) { + addCriterion("position <>", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionGreaterThan(String value) { + addCriterion("position >", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionGreaterThanOrEqualTo(String value) { + addCriterion("position >=", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionLessThan(String value) { + addCriterion("position <", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionLessThanOrEqualTo(String value) { + addCriterion("position <=", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionLike(String value) { + addCriterion("position like", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionNotLike(String value) { + addCriterion("position not like", value, "position"); + return (Criteria) this; + } + + public Criteria andPositionIn(List values) { + addCriterion("position in", values, "position"); + return (Criteria) this; + } + + public Criteria andPositionNotIn(List values) { + addCriterion("position not in", values, "position"); + return (Criteria) this; + } + + public Criteria andPositionBetween(String value1, String value2) { + addCriterion("position between", value1, value2, "position"); + return (Criteria) this; + } + + public Criteria andPositionNotBetween(String value1, String value2) { + addCriterion("position not between", value1, value2, "position"); + return (Criteria) this; + } + + public Criteria andWorkingTimeIsNull() { + addCriterion("working_time is null"); + return (Criteria) this; + } + + public Criteria andWorkingTimeIsNotNull() { + addCriterion("working_time is not null"); + return (Criteria) this; + } + + public Criteria andWorkingTimeEqualTo(Integer value) { + addCriterion("working_time =", value, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeNotEqualTo(Integer value) { + addCriterion("working_time <>", value, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeGreaterThan(Integer value) { + addCriterion("working_time >", value, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeGreaterThanOrEqualTo(Integer value) { + addCriterion("working_time >=", value, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeLessThan(Integer value) { + addCriterion("working_time <", value, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeLessThanOrEqualTo(Integer value) { + addCriterion("working_time <=", value, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeIn(List values) { + addCriterion("working_time in", values, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeNotIn(List values) { + addCriterion("working_time not in", values, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeBetween(Integer value1, Integer value2) { + addCriterion("working_time between", value1, value2, "workingTime"); + return (Criteria) this; + } + + public Criteria andWorkingTimeNotBetween(Integer value1, Integer value2) { + addCriterion("working_time not between", value1, value2, "workingTime"); + return (Criteria) this; + } + + public Criteria andShareOptionIsNull() { + addCriterion("share_option is null"); + return (Criteria) this; + } + + public Criteria andShareOptionIsNotNull() { + addCriterion("share_option is not null"); + return (Criteria) this; + } + + public Criteria andShareOptionEqualTo(Long value) { + addCriterion("share_option =", value, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionNotEqualTo(Long value) { + addCriterion("share_option <>", value, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionGreaterThan(Long value) { + addCriterion("share_option >", value, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionGreaterThanOrEqualTo(Long value) { + addCriterion("share_option >=", value, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionLessThan(Long value) { + addCriterion("share_option <", value, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionLessThanOrEqualTo(Long value) { + addCriterion("share_option <=", value, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionIn(List values) { + addCriterion("share_option in", values, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionNotIn(List values) { + addCriterion("share_option not in", values, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionBetween(Long value1, Long value2) { + addCriterion("share_option between", value1, value2, "shareOption"); + return (Criteria) this; + } + + public Criteria andShareOptionNotBetween(Long value1, Long value2) { + addCriterion("share_option not between", value1, value2, "shareOption"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsIsNull() { + addCriterion("receive_dividends is null"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsIsNotNull() { + addCriterion("receive_dividends is not null"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsEqualTo(Long value) { + addCriterion("receive_dividends =", value, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsNotEqualTo(Long value) { + addCriterion("receive_dividends <>", value, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsGreaterThan(Long value) { + addCriterion("receive_dividends >", value, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsGreaterThanOrEqualTo(Long value) { + addCriterion("receive_dividends >=", value, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsLessThan(Long value) { + addCriterion("receive_dividends <", value, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsLessThanOrEqualTo(Long value) { + addCriterion("receive_dividends <=", value, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsIn(List values) { + addCriterion("receive_dividends in", values, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsNotIn(List values) { + addCriterion("receive_dividends not in", values, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsBetween(Long value1, Long value2) { + addCriterion("receive_dividends between", value1, value2, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andReceiveDividendsNotBetween(Long value1, Long value2) { + addCriterion("receive_dividends not between", value1, value2, "receiveDividends"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceIsNull() { + addCriterion("medical_insurance is null"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceIsNotNull() { + addCriterion("medical_insurance is not null"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceEqualTo(Long value) { + addCriterion("medical_insurance =", value, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceNotEqualTo(Long value) { + addCriterion("medical_insurance <>", value, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceGreaterThan(Long value) { + addCriterion("medical_insurance >", value, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceGreaterThanOrEqualTo(Long value) { + addCriterion("medical_insurance >=", value, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceLessThan(Long value) { + addCriterion("medical_insurance <", value, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceLessThanOrEqualTo(Long value) { + addCriterion("medical_insurance <=", value, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceIn(List values) { + addCriterion("medical_insurance in", values, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceNotIn(List values) { + addCriterion("medical_insurance not in", values, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceBetween(Long value1, Long value2) { + addCriterion("medical_insurance between", value1, value2, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMedicalInsuranceNotBetween(Long value1, Long value2) { + addCriterion("medical_insurance not between", value1, value2, "medicalInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceIsNull() { + addCriterion("maternity_insurance is null"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceIsNotNull() { + addCriterion("maternity_insurance is not null"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceEqualTo(Long value) { + addCriterion("maternity_insurance =", value, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceNotEqualTo(Long value) { + addCriterion("maternity_insurance <>", value, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceGreaterThan(Long value) { + addCriterion("maternity_insurance >", value, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceGreaterThanOrEqualTo(Long value) { + addCriterion("maternity_insurance >=", value, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceLessThan(Long value) { + addCriterion("maternity_insurance <", value, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceLessThanOrEqualTo(Long value) { + addCriterion("maternity_insurance <=", value, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceIn(List values) { + addCriterion("maternity_insurance in", values, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceNotIn(List values) { + addCriterion("maternity_insurance not in", values, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceBetween(Long value1, Long value2) { + addCriterion("maternity_insurance between", value1, value2, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andMaternityInsuranceNotBetween(Long value1, Long value2) { + addCriterion("maternity_insurance not between", value1, value2, "maternityInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceIsNull() { + addCriterion("employment_injury_insurance is null"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceIsNotNull() { + addCriterion("employment_injury_insurance is not null"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceEqualTo(Long value) { + addCriterion("employment_injury_insurance =", value, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceNotEqualTo(Long value) { + addCriterion("employment_injury_insurance <>", value, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceGreaterThan(Long value) { + addCriterion("employment_injury_insurance >", value, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceGreaterThanOrEqualTo(Long value) { + addCriterion("employment_injury_insurance >=", value, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceLessThan(Long value) { + addCriterion("employment_injury_insurance <", value, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceLessThanOrEqualTo(Long value) { + addCriterion("employment_injury_insurance <=", value, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceIn(List values) { + addCriterion("employment_injury_insurance in", values, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceNotIn(List values) { + addCriterion("employment_injury_insurance not in", values, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceBetween(Long value1, Long value2) { + addCriterion("employment_injury_insurance between", value1, value2, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEmploymentInjuryInsuranceNotBetween(Long value1, Long value2) { + addCriterion("employment_injury_insurance not between", value1, value2, "employmentInjuryInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceIsNull() { + addCriterion("endowment_insurance is null"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceIsNotNull() { + addCriterion("endowment_insurance is not null"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceEqualTo(Long value) { + addCriterion("endowment_insurance =", value, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceNotEqualTo(Long value) { + addCriterion("endowment_insurance <>", value, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceGreaterThan(Long value) { + addCriterion("endowment_insurance >", value, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceGreaterThanOrEqualTo(Long value) { + addCriterion("endowment_insurance >=", value, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceLessThan(Long value) { + addCriterion("endowment_insurance <", value, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceLessThanOrEqualTo(Long value) { + addCriterion("endowment_insurance <=", value, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceIn(List values) { + addCriterion("endowment_insurance in", values, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceNotIn(List values) { + addCriterion("endowment_insurance not in", values, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceBetween(Long value1, Long value2) { + addCriterion("endowment_insurance between", value1, value2, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andEndowmentInsuranceNotBetween(Long value1, Long value2) { + addCriterion("endowment_insurance not between", value1, value2, "endowmentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceIsNull() { + addCriterion("unemployment_insurance is null"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceIsNotNull() { + addCriterion("unemployment_insurance is not null"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceEqualTo(Long value) { + addCriterion("unemployment_insurance =", value, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceNotEqualTo(Long value) { + addCriterion("unemployment_insurance <>", value, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceGreaterThan(Long value) { + addCriterion("unemployment_insurance >", value, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceGreaterThanOrEqualTo(Long value) { + addCriterion("unemployment_insurance >=", value, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceLessThan(Long value) { + addCriterion("unemployment_insurance <", value, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceLessThanOrEqualTo(Long value) { + addCriterion("unemployment_insurance <=", value, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceIn(List values) { + addCriterion("unemployment_insurance in", values, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceNotIn(List values) { + addCriterion("unemployment_insurance not in", values, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceBetween(Long value1, Long value2) { + addCriterion("unemployment_insurance between", value1, value2, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andUnemploymentInsuranceNotBetween(Long value1, Long value2) { + addCriterion("unemployment_insurance not between", value1, value2, "unemploymentInsurance"); + return (Criteria) this; + } + + public Criteria andHousingFundIsNull() { + addCriterion("housing_fund is null"); + return (Criteria) this; + } + + public Criteria andHousingFundIsNotNull() { + addCriterion("housing_fund is not null"); + return (Criteria) this; + } + + public Criteria andHousingFundEqualTo(Long value) { + addCriterion("housing_fund =", value, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundNotEqualTo(Long value) { + addCriterion("housing_fund <>", value, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundGreaterThan(Long value) { + addCriterion("housing_fund >", value, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundGreaterThanOrEqualTo(Long value) { + addCriterion("housing_fund >=", value, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundLessThan(Long value) { + addCriterion("housing_fund <", value, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundLessThanOrEqualTo(Long value) { + addCriterion("housing_fund <=", value, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundIn(List values) { + addCriterion("housing_fund in", values, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundNotIn(List values) { + addCriterion("housing_fund not in", values, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundBetween(Long value1, Long value2) { + addCriterion("housing_fund between", value1, value2, "housingFund"); + return (Criteria) this; + } + + public Criteria andHousingFundNotBetween(Long value1, Long value2) { + addCriterion("housing_fund not between", value1, value2, "housingFund"); + return (Criteria) this; + } + + public Criteria andOperatorIsNull() { + addCriterion("operator is null"); + return (Criteria) this; + } + + public Criteria andOperatorIsNotNull() { + addCriterion("operator is not null"); + return (Criteria) this; + } + + public Criteria andOperatorEqualTo(Long value) { + addCriterion("operator =", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotEqualTo(Long value) { + addCriterion("operator <>", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorGreaterThan(Long value) { + addCriterion("operator >", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorGreaterThanOrEqualTo(Long value) { + addCriterion("operator >=", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorLessThan(Long value) { + addCriterion("operator <", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorLessThanOrEqualTo(Long value) { + addCriterion("operator <=", value, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorIn(List values) { + addCriterion("operator in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotIn(List values) { + addCriterion("operator not in", values, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorBetween(Long value1, Long value2) { + addCriterion("operator between", value1, value2, "operator"); + return (Criteria) this; + } + + public Criteria andOperatorNotBetween(Long value1, Long value2) { + addCriterion("operator not between", value1, value2, "operator"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/PluMemberSalaryVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/PluMemberSalaryVo.java new file mode 100644 index 0000000..b1f10fb --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/vo/PluMemberSalaryVo.java @@ -0,0 +1,12 @@ +package com.ccsens.ptccsens.bean.vo; + +import com.ccsens.ptccsens.bean.po.PluMemberSalary; +import lombok.Data; + +/** + * @author 逗 + */ +@Data +public class PluMemberSalaryVo extends PluMemberSalary { + private String memberName; +} diff --git a/src/main/java/com/ccsens/ptccsens/bean/vo/SalaryVo.java b/src/main/java/com/ccsens/ptccsens/bean/vo/SalaryVo.java new file mode 100644 index 0000000..2ea4574 --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/bean/vo/SalaryVo.java @@ -0,0 +1,248 @@ +package com.ccsens.ptccsens.bean.vo; + +import cn.hutool.core.util.ObjectUtil; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author 逗 + */ +@Data +public class SalaryVo { + + @Data + @ApiModel("成员工资信息") + public static class MemberSalary{ + @ApiModelProperty("成员Id") + private Long memberId; + @ApiModelProperty("成员名") + private String memberName; + @ApiModelProperty("固定工资") + private Long fixedSalary = 0L; + @ApiModelProperty("固定工资分项") + private FixedSalaryOption fixedSalaryOption; + @ApiModelProperty("绩效工资") + private Long performance = 0L; + @ApiModelProperty("绩效工资分项") + private PerformanceOption performanceOption; + @ApiModelProperty("主人翁收入") + private Long stockRights = 0L; + @ApiModelProperty("主人翁收入分项") + private StockRightsOption stockRightsOption; + @ApiModelProperty("应发工资") + private Long shouldSalary = 0L; + @ApiModelProperty("社保支出") + private Long socialSecurity = 0L; + @ApiModelProperty("社保支出分项") + private SocialSecurityOption socialSecurityOption; + @ApiModelProperty("扣税") + private Long personalTax = 0L; + @ApiModelProperty("实发工资") + private Long realSalary = 0L; + + public MemberSalary(FixedSalaryOption fixedSalaryOption, PerformanceOption performanceOption, StockRightsOption stockRightsOption, SocialSecurityOption socialSecurityOption) { + this.fixedSalaryOption = fixedSalaryOption; + this.performanceOption = performanceOption; + this.stockRightsOption = stockRightsOption; + this.socialSecurityOption = socialSecurityOption; + } + + public MemberSalary() { + } + + public Long getFixedSalary() { + Long f = fixedSalary; + //固定工资 = 基本工资 + 岗位工资 + 工龄工资 + if(ObjectUtil.isNotNull(fixedSalaryOption)){ + f = fixedSalaryOption.getBasicWage() + fixedSalaryOption.getPositionWage() + fixedSalaryOption.getWorkingTimeWage(); + } + return f; + } + + public Long getPerformance() { + Long p = performance; + //绩效工资 = 项目奖金 + 补助 + 提成 + 考核 + if(ObjectUtil.isNotNull(performanceOption)){ + p = performanceOption.getProjectBonus() + performanceOption.getSubsidy() + performanceOption.getPushMoney() + performanceOption.getAssess(); + } + return p; + } + + public Long getStockRights() { + Long s = stockRights; + //主人翁收入 = 分红 + if(ObjectUtil.isNotNull(stockRightsOption)){ + s = stockRightsOption.getReceiveDividends(); + } + return s; + } + + public Long getShouldSalary() { + //应发工资 = 固定工资 + 绩效工资 + 主人翁收入 + return getFixedSalary() + getPerformance() + getStockRights(); + } + + public Long getSocialSecurity() { + Long s = socialSecurity; + //社保支出 = 五险一金的总数 + if(ObjectUtil.isNotNull(socialSecurityOption)){ + s = socialSecurityOption.getEmploymentInjuryInsurance() + socialSecurityOption.getEndowmentInsurance() + socialSecurityOption.getHousingFund() + socialSecurityOption.getMaternityInsurance() + socialSecurityOption.getMedicalInsurance() + socialSecurityOption.getUnemploymentInsurance(); + } + return s; + } + + public Long getPersonalTax() { + //TODO 扣税计算不明 + return personalTax; + } + + public Long getRealSalary() { + //实发工资 = 应发工资 - 社保支出 - 扣税 + return getShouldSalary() - getSocialSecurity() - getPersonalTax(); + } + } + + @Data + @ApiModel("固定工资分项") + public static class FixedSalaryOption{ + @ApiModelProperty("基本工资") + private Long basicWage = 0L; + @ApiModelProperty("考勤信息") + private Basic basic; + @ApiModelProperty("岗位工资") + private Long positionWage = 0L; + @ApiModelProperty("岗位工资列表") + private Map position = new HashMap<>(); + @ApiModelProperty("工龄工资") + private Long workingTimeWage = 0L; + @ApiModelProperty("工龄工资列表") + private Map workingTime = new HashMap<>(); + { + position.put("P1","2000"); + position.put("P2","3000"); + position.put("P3","4000"); + position.put("P4","5000"); + position.put("P5","6000"); + } + { + workingTime.put("1年","300"); + workingTime.put("2年","500"); + workingTime.put("3年","700"); + workingTime.put("3年以上","1000"); + } + + public void setPositionWage(String p) { + if(p == null){ + return; + } + String s = position.get(p); + if(ObjectUtil.isNotNull(s)){ + this.positionWage = Long.parseLong(s); + } + } + + public void setWorkingTimeWage(Integer w) { + if(w == null){ + return; + } + long l = 0L; + switch (w){ + case 0: + l = 300L; + break; + case 1: + l = 500L; + break; + case 2: + l = 700L; + break; + case 3: + l = 1000L; + break; + default: + break; + } + this.workingTimeWage = l; + } + + public FixedSalaryOption(Long basicWage, Basic basic) { + this.basicWage = basicWage == null ? 0 : basicWage; + this.basic = basic; + } + + public FixedSalaryOption() { + } + } + @Data + @ApiModel("考勤信息") + public static class Basic{ + @ApiModelProperty("应出勤天数") + private int shouldAttendanceDay; + @ApiModelProperty("实际出勤天数") + private int realAttendanceDay; + @ApiModelProperty("弹性天数") + private int elasticityDay; + @ApiModelProperty("请假天数") + private int askForLeaveDay; + } + @Data + @ApiModel("绩效工资分项") + public static class PerformanceOption{ + @ApiModelProperty("项目奖金") + private Long projectBonus = 0L; + @ApiModelProperty("补助") + private Long subsidy = 0L; + @ApiModelProperty("提成") + private Long pushMoney = 0L; + @ApiModelProperty("考核") + private Long assess = 0L; + } + @Data + @ApiModel("主人翁收入分项") + public static class StockRightsOption{ + @ApiModelProperty("期权置换") + private Long sharePtion = 0L; + @ApiModelProperty("分红") + private Long receiveDividends = 0L; + + public StockRightsOption(Long sharePtion, Long receiveDividends) { + this.sharePtion = sharePtion == null ? 0 : sharePtion; + this.receiveDividends = receiveDividends == null ? 0 : receiveDividends; + } + + public StockRightsOption() { + } + } + @Data + @ApiModel("社保支出分项") + public static class SocialSecurityOption{ + @ApiModelProperty("医疗保险") + private Long medicalInsurance = 0L; + @ApiModelProperty("生育保险") + private Long maternityInsurance = 0L; + @ApiModelProperty("工伤保险") + private Long employmentInjuryInsurance = 0L; + @ApiModelProperty("养老保险") + private Long endowmentInsurance = 0L; + @ApiModelProperty("失业保险") + private Long unemploymentInsurance = 0L; + @ApiModelProperty("住房公积金") + private Long housingFund = 0L; + + public SocialSecurityOption(Long medicalInsurance, Long maternityInsurance, Long employmentInjuryInsurance, Long endowmentInsurance, Long unemploymentInsurance, Long housingFund) { + this.medicalInsurance = medicalInsurance == null ? 0 : medicalInsurance; + this.maternityInsurance = maternityInsurance == null ? 0 : maternityInsurance; + this.employmentInjuryInsurance = employmentInjuryInsurance == null ? 0 : employmentInjuryInsurance; + this.endowmentInsurance = endowmentInsurance == null ? 0 : endowmentInsurance; + this.unemploymentInsurance = unemploymentInsurance == null ? 0 : unemploymentInsurance; + this.housingFund = housingFund == null ? 0 : housingFund; + } + + public SocialSecurityOption() { + } + } +} diff --git a/src/main/java/com/ccsens/ptccsens/persist/dao/PluMemberSalaryDao.java b/src/main/java/com/ccsens/ptccsens/persist/dao/PluMemberSalaryDao.java new file mode 100644 index 0000000..416bf8b --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/persist/dao/PluMemberSalaryDao.java @@ -0,0 +1,22 @@ +package com.ccsens.ptccsens.persist.dao; + +import com.ccsens.ptccsens.bean.vo.PluMemberSalaryVo; +import com.ccsens.ptccsens.persist.mapper.PluMemberSalaryMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author 逗 + */ +@Repository +public interface PluMemberSalaryDao extends PluMemberSalaryMapper { + + /** + * 查询项目下所有成员的工资信息 + * @param projectId 项目id + * @return 返回成员的工资信息 + */ + List queryByProjectId(@Param("projectId") Long projectId); +} diff --git a/src/main/java/com/ccsens/ptccsens/persist/mapper/PluMemberSalaryMapper.java b/src/main/java/com/ccsens/ptccsens/persist/mapper/PluMemberSalaryMapper.java new file mode 100644 index 0000000..cd1f12d --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/persist/mapper/PluMemberSalaryMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.ptccsens.persist.mapper; + +import com.ccsens.ptccsens.bean.po.PluMemberSalary; +import com.ccsens.ptccsens.bean.po.PluMemberSalaryExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface PluMemberSalaryMapper { + long countByExample(PluMemberSalaryExample example); + + int deleteByExample(PluMemberSalaryExample example); + + int deleteByPrimaryKey(Long id); + + int insert(PluMemberSalary record); + + int insertSelective(PluMemberSalary record); + + List selectByExample(PluMemberSalaryExample example); + + PluMemberSalary selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") PluMemberSalary record, @Param("example") PluMemberSalaryExample example); + + int updateByExample(@Param("record") PluMemberSalary record, @Param("example") PluMemberSalaryExample example); + + int updateByPrimaryKeySelective(PluMemberSalary record); + + int updateByPrimaryKey(PluMemberSalary record); +} \ No newline at end of file diff --git a/src/main/java/com/ccsens/ptccsens/service/ClockingInService.java b/src/main/java/com/ccsens/ptccsens/service/ClockingInService.java index 6808fe0..dd0dcdc 100644 --- a/src/main/java/com/ccsens/ptccsens/service/ClockingInService.java +++ b/src/main/java/com/ccsens/ptccsens/service/ClockingInService.java @@ -467,7 +467,7 @@ public class ClockingInService implements IClockingInService { stream.close(); //返回文件路径 ClockingInVo.ExcelUrl excelUrl = new ClockingInVo.ExcelUrl(); - String url = PropUtil.imgDomain+fileName; + String url = PropUtil.imgDomain + "/" + fileName; excelUrl.setUrl(url); return excelUrl; } diff --git a/src/main/java/com/ccsens/ptccsens/service/ISalaryService.java b/src/main/java/com/ccsens/ptccsens/service/ISalaryService.java new file mode 100644 index 0000000..ac31bb1 --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/service/ISalaryService.java @@ -0,0 +1,28 @@ +package com.ccsens.ptccsens.service; + + +import com.ccsens.ptccsens.bean.dto.SalaryDto; +import com.ccsens.ptccsens.bean.vo.SalaryVo; + +import java.util.List; + +/** + * @author 逗 + */ +public interface ISalaryService { + /** + * 通过id查找成员工资信息 + * @param param 成员id + * @param userId userId + * @return 返回成员工资信息 + */ + SalaryVo.MemberSalary getMemberSalary(SalaryDto.SocialSecurity param, Long userId); + + /** + * 查看项目下所有员工的工资信息 + * @param param 项目id和时间 + * @param userId userId + * @return 返回所有员工的工资信息 + */ + List queryMemberSalary(SalaryDto.SocialSecurity param, Long userId); +} diff --git a/src/main/java/com/ccsens/ptccsens/service/SalaryService.java b/src/main/java/com/ccsens/ptccsens/service/SalaryService.java new file mode 100644 index 0000000..bb28c5b --- /dev/null +++ b/src/main/java/com/ccsens/ptccsens/service/SalaryService.java @@ -0,0 +1,115 @@ +package com.ccsens.ptccsens.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.ptccsens.bean.dto.SalaryDto; +import com.ccsens.ptccsens.bean.po.*; +import com.ccsens.ptccsens.bean.vo.PluMemberSalaryVo; +import com.ccsens.ptccsens.bean.vo.SalaryVo; +import com.ccsens.ptccsens.persist.dao.PluMemberSalaryDao; +import com.ccsens.ptccsens.persist.dao.ProMemberDao; +import com.ccsens.ptccsens.persist.dao.ProTaskDetailDao; +import com.ccsens.ptccsens.util.BasicsCodeError; +import com.ccsens.util.exception.BaseException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class SalaryService implements ISalaryService{ + @Resource + private ProTaskDetailDao taskDetailDao; + @Resource + private ProMemberDao proMemberDao; + @Resource + private PluMemberSalaryDao memberSalaryDao; + @Resource + private Snowflake snowflake; + + @Override + public SalaryVo.MemberSalary getMemberSalary(SalaryDto.SocialSecurity param, Long userId) { + //成员信息或成员工资信息为空,返回错误信息 + ProMember member = null; + if(ObjectUtil.isNull(param.getMemberId())){ + //不传memberId 查询当前用户自身的信息 + ProMemberExample memberExample = new ProMemberExample(); + memberExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId); + List memberList = proMemberDao.selectByExample(memberExample); + if(CollectionUtil.isNotEmpty(memberList)){ + member = memberList.get(0); + } + }else { + member = proMemberDao.selectByPrimaryKey(param.getMemberId()); + } + + if(ObjectUtil.isNull(member)){ + throw new BaseException(BasicsCodeError.PROJECT_NOT_MEMBER); + } + //根据成员id查找成员工资信息 + PluMemberSalaryExample memberSalaryExample = new PluMemberSalaryExample(); + memberSalaryExample.createCriteria().andMemberIdEqualTo(member.getId()); + List proMemberSalaries = memberSalaryDao.selectByExample(memberSalaryExample); + if(CollectionUtil.isEmpty(proMemberSalaries)){ + throw new BaseException(BasicsCodeError.NOT_MEMBER_SALARIES); + } + PluMemberSalary salary = proMemberSalaries.get(0); + + //返回 + return getMemberSalaryVo(param, salary, member.getId(), member.getName()); + } + + private SalaryVo.MemberSalary getMemberSalaryVo(SalaryDto.SocialSecurity param, PluMemberSalary salary, Long id, String name) { + //TODO 查询成员的打卡信息 + SalaryVo.Basic basic = clockingIn(id, param.getStartTime(), param.getEndTime(), param.getProjectId()); + //固定工资 + SalaryVo.FixedSalaryOption fixedSalaryOption = new SalaryVo.FixedSalaryOption(salary.getBasicWage(), basic); + fixedSalaryOption.setPositionWage(salary.getPosition()); + fixedSalaryOption.setWorkingTimeWage(salary.getWorkingTime()); + //绩效工资 + SalaryVo.PerformanceOption performanceOption = new SalaryVo.PerformanceOption(); + //主人翁收入 + SalaryVo.StockRightsOption stockRightsOption = new SalaryVo.StockRightsOption(salary.getShareOption(), salary.getReceiveDividends()); + //社保支出 + SalaryVo.SocialSecurityOption socialSecurityOption = new SalaryVo.SocialSecurityOption(salary.getMedicalInsurance(), salary.getMaternityInsurance(), salary.getEmploymentInjuryInsurance(), salary.getEndowmentInsurance(), salary.getUnemploymentInsurance(), salary.getHousingFund()); + + //总的工资信息 + SalaryVo.MemberSalary memberSalary = new SalaryVo.MemberSalary(fixedSalaryOption, performanceOption, stockRightsOption, socialSecurityOption); + memberSalary.setMemberId(id); + memberSalary.setMemberName(name); + return memberSalary; + } + + + private SalaryVo.Basic clockingIn(Long memberId, Long startTime, Long endTime, Long projectId) { + SalaryVo.Basic basic = new SalaryVo.Basic(); + + return basic; + } + + @Override + public List queryMemberSalary(SalaryDto.SocialSecurity param, Long userId) { + List memberSalaryList = new ArrayList<>(); + //查询项目下所有的成员的工资信息 + List proMemberSalaryVoList = memberSalaryDao.queryByProjectId(param.getProjectId()); + if(CollectionUtil.isNotEmpty(proMemberSalaryVoList)){ + proMemberSalaryVoList.forEach(salary -> { + //TODO 查询成员的打卡信息 + SalaryVo.MemberSalary memberSalary = getMemberSalaryVo(param, salary, salary.getMemberId(), salary.getMemberName()); + + memberSalaryList.add(memberSalary); + }); + } + return memberSalaryList; + } +} diff --git a/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java b/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java index affc65d..46b8d1d 100644 --- a/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java +++ b/src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java @@ -31,8 +31,8 @@ public class BasicsCodeError extends CodeError { public static final Code TRAINING_NOT_CHECK = new Code(519,"培训计划未审核通过", true); public static final Code NOT_TRAINING_TEACHER = new Code(520,"未找到对应的委派通知", true); public static final Code TRAINING_TEACHER_NOT_MINE = new Code(521,"您不是被委托人,无法接受", true); - public static final Code NOT_PLAYER = new Code(522,"未找到对应的运动员信息", true); - public static final Code NOT_PLAYER_APPLY = new Code(523,"未找到报名信息信息", true); + public static final Code PROJECT_NOT_MEMBER = new Code(522,"未找到对应的成员信息", true); + public static final Code NOT_MEMBER_SALARIES = new Code(523,"该员工没有基本工资信息,请补充后再查询", true); public static final Code ID_CODE_ERROR = new Code(524,"请输入正确的身份证", true); public static final Code NOT_FILE = new Code(525,"找不到文件", true); public static final Code FINANCE_ERROR = new Code(526,"财务信息错误", true); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 2fb38e5..7b481a7 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ -spring: + spring: profiles: active: dev include: common, util-dev diff --git a/src/main/resources/mapper_dao/PluMemberSalaryDao.xml b/src/main/resources/mapper_dao/PluMemberSalaryDao.xml new file mode 100644 index 0000000..d1a0036 --- /dev/null +++ b/src/main/resources/mapper_dao/PluMemberSalaryDao.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper_raw/PluMemberSalaryMapper.xml b/src/main/resources/mapper_raw/PluMemberSalaryMapper.xml new file mode 100644 index 0000000..a9218d3 --- /dev/null +++ b/src/main/resources/mapper_raw/PluMemberSalaryMapper.xml @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, member_id, basic_wage, position, working_time, share_option, receive_dividends, + medical_insurance, maternity_insurance, employment_injury_insurance, endowment_insurance, + unemployment_insurance, housing_fund, operator, created_at, updated_at, rec_status + + + + + delete from t_plu_member_salary + where id = #{id,jdbcType=BIGINT} + + + delete from t_plu_member_salary + + + + + + insert into t_plu_member_salary (id, member_id, basic_wage, + position, working_time, share_option, + receive_dividends, medical_insurance, maternity_insurance, + employment_injury_insurance, endowment_insurance, + unemployment_insurance, housing_fund, operator, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{basicWage,jdbcType=BIGINT}, + #{position,jdbcType=VARCHAR}, #{workingTime,jdbcType=INTEGER}, #{shareOption,jdbcType=BIGINT}, + #{receiveDividends,jdbcType=BIGINT}, #{medicalInsurance,jdbcType=BIGINT}, #{maternityInsurance,jdbcType=BIGINT}, + #{employmentInjuryInsurance,jdbcType=BIGINT}, #{endowmentInsurance,jdbcType=BIGINT}, + #{unemploymentInsurance,jdbcType=BIGINT}, #{housingFund,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_plu_member_salary + + + id, + + + member_id, + + + basic_wage, + + + position, + + + working_time, + + + share_option, + + + receive_dividends, + + + medical_insurance, + + + maternity_insurance, + + + employment_injury_insurance, + + + endowment_insurance, + + + unemployment_insurance, + + + housing_fund, + + + operator, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{memberId,jdbcType=BIGINT}, + + + #{basicWage,jdbcType=BIGINT}, + + + #{position,jdbcType=VARCHAR}, + + + #{workingTime,jdbcType=INTEGER}, + + + #{shareOption,jdbcType=BIGINT}, + + + #{receiveDividends,jdbcType=BIGINT}, + + + #{medicalInsurance,jdbcType=BIGINT}, + + + #{maternityInsurance,jdbcType=BIGINT}, + + + #{employmentInjuryInsurance,jdbcType=BIGINT}, + + + #{endowmentInsurance,jdbcType=BIGINT}, + + + #{unemploymentInsurance,jdbcType=BIGINT}, + + + #{housingFund,jdbcType=BIGINT}, + + + #{operator,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_plu_member_salary + + + id = #{record.id,jdbcType=BIGINT}, + + + member_id = #{record.memberId,jdbcType=BIGINT}, + + + basic_wage = #{record.basicWage,jdbcType=BIGINT}, + + + position = #{record.position,jdbcType=VARCHAR}, + + + working_time = #{record.workingTime,jdbcType=INTEGER}, + + + share_option = #{record.shareOption,jdbcType=BIGINT}, + + + receive_dividends = #{record.receiveDividends,jdbcType=BIGINT}, + + + medical_insurance = #{record.medicalInsurance,jdbcType=BIGINT}, + + + maternity_insurance = #{record.maternityInsurance,jdbcType=BIGINT}, + + + employment_injury_insurance = #{record.employmentInjuryInsurance,jdbcType=BIGINT}, + + + endowment_insurance = #{record.endowmentInsurance,jdbcType=BIGINT}, + + + unemployment_insurance = #{record.unemploymentInsurance,jdbcType=BIGINT}, + + + housing_fund = #{record.housingFund,jdbcType=BIGINT}, + + + operator = #{record.operator,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_plu_member_salary + set id = #{record.id,jdbcType=BIGINT}, + member_id = #{record.memberId,jdbcType=BIGINT}, + basic_wage = #{record.basicWage,jdbcType=BIGINT}, + position = #{record.position,jdbcType=VARCHAR}, + working_time = #{record.workingTime,jdbcType=INTEGER}, + share_option = #{record.shareOption,jdbcType=BIGINT}, + receive_dividends = #{record.receiveDividends,jdbcType=BIGINT}, + medical_insurance = #{record.medicalInsurance,jdbcType=BIGINT}, + maternity_insurance = #{record.maternityInsurance,jdbcType=BIGINT}, + employment_injury_insurance = #{record.employmentInjuryInsurance,jdbcType=BIGINT}, + endowment_insurance = #{record.endowmentInsurance,jdbcType=BIGINT}, + unemployment_insurance = #{record.unemploymentInsurance,jdbcType=BIGINT}, + housing_fund = #{record.housingFund,jdbcType=BIGINT}, + operator = #{record.operator,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_plu_member_salary + + + member_id = #{memberId,jdbcType=BIGINT}, + + + basic_wage = #{basicWage,jdbcType=BIGINT}, + + + position = #{position,jdbcType=VARCHAR}, + + + working_time = #{workingTime,jdbcType=INTEGER}, + + + share_option = #{shareOption,jdbcType=BIGINT}, + + + receive_dividends = #{receiveDividends,jdbcType=BIGINT}, + + + medical_insurance = #{medicalInsurance,jdbcType=BIGINT}, + + + maternity_insurance = #{maternityInsurance,jdbcType=BIGINT}, + + + employment_injury_insurance = #{employmentInjuryInsurance,jdbcType=BIGINT}, + + + endowment_insurance = #{endowmentInsurance,jdbcType=BIGINT}, + + + unemployment_insurance = #{unemploymentInsurance,jdbcType=BIGINT}, + + + housing_fund = #{housingFund,jdbcType=BIGINT}, + + + operator = #{operator,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_plu_member_salary + set member_id = #{memberId,jdbcType=BIGINT}, + basic_wage = #{basicWage,jdbcType=BIGINT}, + position = #{position,jdbcType=VARCHAR}, + working_time = #{workingTime,jdbcType=INTEGER}, + share_option = #{shareOption,jdbcType=BIGINT}, + receive_dividends = #{receiveDividends,jdbcType=BIGINT}, + medical_insurance = #{medicalInsurance,jdbcType=BIGINT}, + maternity_insurance = #{maternityInsurance,jdbcType=BIGINT}, + employment_injury_insurance = #{employmentInjuryInsurance,jdbcType=BIGINT}, + endowment_insurance = #{endowmentInsurance,jdbcType=BIGINT}, + unemployment_insurance = #{unemploymentInsurance,jdbcType=BIGINT}, + housing_fund = #{housingFund,jdbcType=BIGINT}, + operator = #{operator,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/src/main/resources/mbg.xml b/src/main/resources/mbg.xml index 06b94ad..b21b49f 100644 --- a/src/main/resources/mbg.xml +++ b/src/main/resources/mbg.xml @@ -98,10 +98,11 @@ -
-
-
-
+ + + + +