正在编写请假模块
This commit is contained in:
@ -0,0 +1,88 @@
|
||||
package com.ruoyi.wgz.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDate;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 日报打卡分页查询对象 wgz_daily_clock
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-18
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("日报打卡分页查询对象")
|
||||
public class WgzDailyClockQueryBo extends BaseEntity {
|
||||
|
||||
/** 分页大小 */
|
||||
@ApiModelProperty("分页大小")
|
||||
private Integer pageSize;
|
||||
/** 当前页数 */
|
||||
@ApiModelProperty("当前页数")
|
||||
private Integer pageNum;
|
||||
/** 排序列 */
|
||||
@ApiModelProperty("排序列")
|
||||
private String orderByColumn;
|
||||
/** 排序的方向desc或者asc */
|
||||
@ApiModelProperty(value = "排序的方向", example = "asc,desc")
|
||||
private String isAsc;
|
||||
|
||||
|
||||
/** 项目ID */
|
||||
@ApiModelProperty("项目ID")
|
||||
private Long recruitId;
|
||||
/** 人员ID */
|
||||
@ApiModelProperty("人员ID")
|
||||
private Long userId;
|
||||
/** 日报时间 */
|
||||
@ApiModelProperty("日报时间")
|
||||
private LocalDateTime dilyTime;
|
||||
/** 日报标记 */
|
||||
@ApiModelProperty("日报标记")
|
||||
private Integer dailyMark;
|
||||
/** 日报位置 */
|
||||
@ApiModelProperty("日报位置")
|
||||
private String pnchOsition;
|
||||
/** 今日完成工作 */
|
||||
@ApiModelProperty("今日完成工作")
|
||||
private String finishToday;
|
||||
/** 未完成工作 */
|
||||
@ApiModelProperty("未完成工作")
|
||||
private String unfinished;
|
||||
/** 明日工作 */
|
||||
@ApiModelProperty("明日工作")
|
||||
private String workTomorrow;
|
||||
/** 协调与帮助 */
|
||||
@ApiModelProperty("协调与帮助")
|
||||
private String coordinate;
|
||||
/** 附件,多个逗号分隔 */
|
||||
@ApiModelProperty("附件,多个逗号分隔")
|
||||
private String attachment;
|
||||
/** 审核人ID */
|
||||
@ApiModelProperty("审核人ID")
|
||||
private Long auditorUserId;
|
||||
/** 审核状态(0未读 1未审核 2已审核) */
|
||||
@ApiModelProperty("审核状态(0未读 1未审核 2已审核)")
|
||||
private String auditorType;
|
||||
/** 审核意见 */
|
||||
@ApiModelProperty("审核意见")
|
||||
private String auditorOpinion;
|
||||
/** 已读|审核时间 */
|
||||
@ApiModelProperty("已读|审核时间")
|
||||
private LocalDateTime auditorTime;
|
||||
/** 类型(0正常 1迟到 2早退 3上班缺卡 4下班缺卡 5补卡 6请假) */
|
||||
@ApiModelProperty("类型(0正常 1迟到 2早退 3上班缺卡 4下班缺卡 5补卡 6请假)")
|
||||
private String exceptionType;
|
||||
|
||||
}
|
@ -0,0 +1,79 @@
|
||||
package com.ruoyi.wgz.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDate;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 请假分页查询对象 wgz_leave
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-19
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("请假分页查询对象")
|
||||
public class WgzLeaveQueryBo extends BaseEntity {
|
||||
|
||||
/** 分页大小 */
|
||||
@ApiModelProperty("分页大小")
|
||||
private Integer pageSize;
|
||||
/** 当前页数 */
|
||||
@ApiModelProperty("当前页数")
|
||||
private Integer pageNum;
|
||||
/** 排序列 */
|
||||
@ApiModelProperty("排序列")
|
||||
private String orderByColumn;
|
||||
/** 排序的方向desc或者asc */
|
||||
@ApiModelProperty(value = "排序的方向", example = "asc,desc")
|
||||
private String isAsc;
|
||||
|
||||
|
||||
/** 项目ID */
|
||||
@ApiModelProperty("项目ID")
|
||||
private Long recruitId;
|
||||
/** 招工主题 */
|
||||
@ApiModelProperty("招工主题")
|
||||
private String subject;
|
||||
/** 请假类型(字典) */
|
||||
@ApiModelProperty("请假类型(字典)")
|
||||
private String leaveType;
|
||||
/** 开始时间 */
|
||||
@ApiModelProperty("开始时间")
|
||||
private LocalDateTime startTime;
|
||||
/** 结束时间 */
|
||||
@ApiModelProperty("结束时间")
|
||||
private LocalDateTime endTime;
|
||||
/** 请假事由 */
|
||||
@ApiModelProperty("请假事由")
|
||||
private String reason;
|
||||
/** 审核人ID */
|
||||
@ApiModelProperty("审核人ID")
|
||||
private Long auditorUserId;
|
||||
/** 审核状态(0待审核 1审核中 2已同意 3已拒绝) */
|
||||
@ApiModelProperty("审核状态(0待审核 1审核中 2已同意 3已拒绝)")
|
||||
private String auditorType;
|
||||
/** 审核意见 */
|
||||
@ApiModelProperty("审核意见")
|
||||
private String auditorOpinion;
|
||||
/** 同意|拒绝时间 */
|
||||
@ApiModelProperty("同意|拒绝时间")
|
||||
private LocalDateTime auditorTime;
|
||||
/** 上班时间 */
|
||||
@ApiModelProperty("上班时间")
|
||||
private LocalTime workingTime;
|
||||
/** 下班时间 */
|
||||
@ApiModelProperty("下班时间")
|
||||
private LocalTime closingTime;
|
||||
|
||||
}
|
@ -6,9 +6,11 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.time.Year;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@ -23,4 +25,5 @@ public class WgzAppAttachmentAcquisitionReq implements Serializable {
|
||||
@NotNull(message = "唯一标识不能为空")
|
||||
@Size(min = 1, message = "唯一标识数组必须至少包含一个元素")
|
||||
private String[] specifiedAttachment;
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
package com.ruoyi.wgz.bo.req;
|
||||
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ApiModel("首页-招工列表请求对象")
|
||||
public class WgzAppJobListingReq extends BaseEntity {
|
||||
/** 分页大小 */
|
||||
@ApiModelProperty("分页大小")
|
||||
private Integer pageSize;
|
||||
/** 当前页数 */
|
||||
@ApiModelProperty("当前页数")
|
||||
private Integer pageNum;
|
||||
|
||||
@ApiModelProperty("创建者Id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty("招工名称")
|
||||
private String recruitName;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.ruoyi.wgz.bo.req;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("务工者APP-提交请假请求对象")
|
||||
public class WgzAppSubmitLeaveRes implements Serializable {
|
||||
/** 请假类型(字典) */
|
||||
@Excel(name = "请假类型" , readConverterExp = "字=典")
|
||||
@ApiModelProperty("请假类型(字典)")
|
||||
private String leaveType;
|
||||
|
||||
/** 开始时间 */
|
||||
@Excel(name = "开始时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/** 结束时间 */
|
||||
@Excel(name = "结束时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/** 请假事由 */
|
||||
@Excel(name = "请假事由")
|
||||
@ApiModelProperty("请假事由")
|
||||
private String reason;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.ruoyi.wgz.bo.req;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("务工者APP-日报日历请求对象")
|
||||
public class WgzAppUserDailyCalendarRes implements Serializable {
|
||||
@ApiModelProperty("年月日期:2025-02")
|
||||
@NotBlank(message = "年月不能为空")
|
||||
private String yearMonth;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.ruoyi.wgz.bo.res;
|
||||
|
||||
import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo;
|
||||
import com.ruoyi.wgz.bo.rests.WgzAutonymAnnex;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("日报日历结构返回对象")
|
||||
public class WfzUserDailyCalendarRes implements Serializable {
|
||||
@ApiModelProperty("日报日历")
|
||||
private Map<String, WgzAppAttachmentAcquisitionTwo> dailyCalendar;
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.ruoyi.wgz.bo.res;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("首页-招工列表返回对象")
|
||||
public class WgzAppJobListingRes implements Serializable {
|
||||
/** 主键ID */
|
||||
@ApiModelProperty("主键ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("任务名称")
|
||||
private String taskName;
|
||||
|
||||
@ApiModelProperty("招工名称")
|
||||
private String recruitName;
|
||||
|
||||
@ApiModelProperty("招工地址")
|
||||
private String recruitAddress;
|
||||
|
||||
@ApiModelProperty("招工金额")
|
||||
private Long recruitAmount;
|
||||
|
||||
@ApiModelProperty("招工数量")
|
||||
private Long recruitStaffNum;
|
||||
|
||||
@ApiModelProperty("招工要求")
|
||||
private String recruitRequirement;
|
||||
|
||||
@ApiModelProperty("发布时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@ApiModelProperty("申请者列表")
|
||||
List<BgtProjectRecruitApplyVO> applylist;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.ruoyi.wgz.bo.rests;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@ApiModel("务工者APP-实名认证·附件结构返回对象")
|
||||
public class WgzAppAttachmentAcquisitionTwo implements Serializable {
|
||||
@ApiModelProperty("主键自增ID")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("日报状态(0正常 1未上传 2请假)")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty("日报时间")
|
||||
private LocalDateTime dilyTime;
|
||||
|
||||
@ApiModelProperty("日报地点")
|
||||
private String pnchOsition;
|
||||
|
||||
}
|
@ -0,0 +1,148 @@
|
||||
package com.ruoyi.wgz.domain;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 日报打卡对象 wgz_daily_clock
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-18
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@TableName("wgz_daily_clock")
|
||||
@ApiModel("日报打卡视图对象")
|
||||
public class WgzDailyClock implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/** 自增ID */
|
||||
@ApiModelProperty("自增ID")
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/** 项目ID */
|
||||
@Excel(name = "项目ID")
|
||||
@ApiModelProperty("项目ID")
|
||||
private Long recruitId;
|
||||
|
||||
/** 人员ID */
|
||||
@Excel(name = "人员ID")
|
||||
@ApiModelProperty("人员ID")
|
||||
private Long userId;
|
||||
|
||||
/** 日报时间 */
|
||||
@Excel(name = "日报时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("日报时间")
|
||||
private LocalDateTime dilyTime;
|
||||
|
||||
/** 日报标记 */
|
||||
@Excel(name = "日报标记")
|
||||
@ApiModelProperty("日报标记")
|
||||
private Integer dailyMark;
|
||||
|
||||
/** 日报位置 */
|
||||
@Excel(name = "日报位置")
|
||||
@ApiModelProperty("日报位置")
|
||||
private String pnchOsition;
|
||||
|
||||
/** 今日完成工作 */
|
||||
@Excel(name = "今日完成工作")
|
||||
@ApiModelProperty("今日完成工作")
|
||||
private String finishToday;
|
||||
|
||||
/** 未完成工作 */
|
||||
@Excel(name = "未完成工作")
|
||||
@ApiModelProperty("未完成工作")
|
||||
private String unfinished;
|
||||
|
||||
/** 明日工作 */
|
||||
@Excel(name = "明日工作")
|
||||
@ApiModelProperty("明日工作")
|
||||
private String workTomorrow;
|
||||
|
||||
/** 协调与帮助 */
|
||||
@Excel(name = "协调与帮助")
|
||||
@ApiModelProperty("协调与帮助")
|
||||
private String coordinate;
|
||||
|
||||
/** 附件,多个逗号分隔 */
|
||||
@Excel(name = "附件,多个逗号分隔")
|
||||
@ApiModelProperty("附件,多个逗号分隔")
|
||||
private String attachment;
|
||||
|
||||
/** 审核人ID */
|
||||
@Excel(name = "审核人ID")
|
||||
@ApiModelProperty("审核人ID")
|
||||
private Long auditorUserId;
|
||||
|
||||
/** 审核状态(0未读 1未审核 2已审核) */
|
||||
@Excel(name = "审核状态" , readConverterExp = "0=未读,1=未审核,2=已审核")
|
||||
@ApiModelProperty("审核状态(0未读 1未审核 2已审核)")
|
||||
private String auditorType;
|
||||
|
||||
/** 审核意见 */
|
||||
@Excel(name = "审核意见")
|
||||
@ApiModelProperty("审核意见")
|
||||
private String auditorOpinion;
|
||||
|
||||
/** 已读|审核时间 */
|
||||
@Excel(name = "已读|审核时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("已读|审核时间")
|
||||
private LocalDateTime auditorTime;
|
||||
|
||||
/** 类型(0正常 1迟到 2早退 3上班缺卡 4下班缺卡 5补卡 6请假) */
|
||||
@Excel(name = "类型" , readConverterExp = "0=正常,1=迟到,2=早退,3=上班缺卡,4=下班缺卡,5=补卡,6=请假")
|
||||
@ApiModelProperty("类型(0正常 1迟到 2早退 3上班缺卡 4下班缺卡 5补卡 6请假)")
|
||||
private String exceptionType;
|
||||
|
||||
/** 删除标志(0代表存在 2代表删除) */
|
||||
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
|
||||
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
||||
private String delFlag;
|
||||
|
||||
/** 创建者 */
|
||||
@Excel(name = "创建者")
|
||||
@ApiModelProperty("创建者")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String createBy;
|
||||
|
||||
/** 创建时间 */
|
||||
@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/** 更新者 */
|
||||
@Excel(name = "更新者")
|
||||
@ApiModelProperty("更新者")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private String updateBy;
|
||||
|
||||
/** 更新时间 */
|
||||
@Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("更新时间")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
133
ruoyi-system/src/main/java/com/ruoyi/wgz/domain/WgzLeave.java
Normal file
133
ruoyi-system/src/main/java/com/ruoyi/wgz/domain/WgzLeave.java
Normal file
@ -0,0 +1,133 @@
|
||||
package com.ruoyi.wgz.domain;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 请假对象 wgz_leave
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-19
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@TableName("wgz_leave")
|
||||
@ApiModel("请假视图对象")
|
||||
public class WgzLeave implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/** 主键自增ID */
|
||||
@ApiModelProperty("主键自增ID")
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/** 项目ID */
|
||||
@Excel(name = "项目ID")
|
||||
@ApiModelProperty("项目ID")
|
||||
private Long recruitId;
|
||||
|
||||
/** 招工主题 */
|
||||
@Excel(name = "招工主题")
|
||||
@ApiModelProperty("招工主题")
|
||||
private String subject;
|
||||
|
||||
/** 请假类型(字典) */
|
||||
@Excel(name = "请假类型" , readConverterExp = "字=典")
|
||||
@ApiModelProperty("请假类型(字典)")
|
||||
private String leaveType;
|
||||
|
||||
/** 开始时间 */
|
||||
@Excel(name = "开始时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/** 结束时间 */
|
||||
@Excel(name = "结束时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/** 请假事由 */
|
||||
@Excel(name = "请假事由")
|
||||
@ApiModelProperty("请假事由")
|
||||
private String reason;
|
||||
|
||||
/** 审核人ID */
|
||||
@Excel(name = "审核人ID")
|
||||
@ApiModelProperty("审核人ID")
|
||||
private Long auditorUserId;
|
||||
|
||||
/** 审核状态(0待审核 1审核中 2已同意 3已拒绝) */
|
||||
@Excel(name = "审核状态" , readConverterExp = "0=待审核,1=审核中,2=已同意,3=已拒绝")
|
||||
@ApiModelProperty("审核状态(0待审核 1审核中 2已同意 3已拒绝)")
|
||||
private String auditorType;
|
||||
|
||||
/** 审核意见 */
|
||||
@Excel(name = "审核意见")
|
||||
@ApiModelProperty("审核意见")
|
||||
private String auditorOpinion;
|
||||
|
||||
/** 同意|拒绝时间 */
|
||||
@Excel(name = "同意|拒绝时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("同意|拒绝时间")
|
||||
private LocalDateTime auditorTime;
|
||||
|
||||
/** 上班时间 */
|
||||
@Excel(name = "上班时间")
|
||||
@ApiModelProperty("上班时间")
|
||||
private LocalTime workingTime;
|
||||
|
||||
/** 下班时间 */
|
||||
@Excel(name = "下班时间")
|
||||
@ApiModelProperty("下班时间")
|
||||
private LocalTime closingTime;
|
||||
|
||||
/** 删除标志(0代表存在 2代表删除) */
|
||||
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
|
||||
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
||||
private String delFlag;
|
||||
|
||||
/** 创建者 */
|
||||
@Excel(name = "创建者")
|
||||
@ApiModelProperty("创建者")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String createBy;
|
||||
|
||||
/** 创建时间 */
|
||||
@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/** 更新者 */
|
||||
@Excel(name = "更新者")
|
||||
@ApiModelProperty("更新者")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private String updateBy;
|
||||
|
||||
/** 更新时间 */
|
||||
@Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty("更新时间")
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.ruoyi.wgz.mapper;
|
||||
|
||||
import com.ruoyi.wgz.domain.WgzDailyClock;
|
||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||
import org.apache.ibatis.annotations.CacheNamespace;
|
||||
|
||||
/**
|
||||
* 日报打卡Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-18
|
||||
*/
|
||||
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
|
||||
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
|
||||
public interface WgzDailyClockMapper extends BaseMapperPlus<WgzDailyClock> {
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.ruoyi.wgz.mapper;
|
||||
|
||||
import com.ruoyi.wgz.domain.WgzLeave;
|
||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||
import org.apache.ibatis.annotations.CacheNamespace;
|
||||
|
||||
/**
|
||||
* 请假Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-19
|
||||
*/
|
||||
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
|
||||
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
|
||||
public interface WgzLeaveMapper extends BaseMapperPlus<WgzLeave> {
|
||||
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
package com.ruoyi.wgz.service;
|
||||
|
||||
import com.ruoyi.wgz.bo.req.WgzAppJobListingReq;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppUserDailyCalendarRes;
|
||||
import com.ruoyi.wgz.bo.res.WfzUserDailyCalendarRes;
|
||||
import com.ruoyi.wgz.domain.WgzDailyClock;
|
||||
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
|
||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 日报打卡Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-18
|
||||
*/
|
||||
public interface IWgzDailyClockService extends IServicePlus<WgzDailyClock> {
|
||||
/**
|
||||
* 查询单个
|
||||
* @return
|
||||
*/
|
||||
WgzDailyClock queryById(Long id);
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
TableDataInfo<WgzDailyClock> queryPageList(WgzDailyClockQueryBo bo);
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
List<WgzDailyClock> queryList(WgzDailyClockQueryBo bo);
|
||||
|
||||
/**
|
||||
* 根据新增业务对象插入日报打卡
|
||||
* @param bo 日报打卡新增业务对象
|
||||
* @return
|
||||
*/
|
||||
Boolean insert(WgzDailyClock bo);
|
||||
|
||||
/**
|
||||
* 根据编辑业务对象修改日报打卡
|
||||
* @param bo 日报打卡编辑业务对象
|
||||
* @return
|
||||
*/
|
||||
Boolean update(WgzDailyClock bo);
|
||||
|
||||
/**
|
||||
* 校验并删除数据
|
||||
* @param ids 主键集合
|
||||
* @param isValid 是否校验,true-删除前校验,false-不校验
|
||||
* @return
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 务工者APP相关
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
*/
|
||||
|
||||
/**
|
||||
* 日报日历
|
||||
*/
|
||||
WfzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req);
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
package com.ruoyi.wgz.service;
|
||||
|
||||
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveRes;
|
||||
import com.ruoyi.wgz.domain.WgzLeave;
|
||||
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
|
||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.sun.org.apache.xpath.internal.operations.Bool;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请假Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-19
|
||||
*/
|
||||
public interface IWgzLeaveService extends IServicePlus<WgzLeave> {
|
||||
/**
|
||||
* 查询单个
|
||||
* @return
|
||||
*/
|
||||
WgzLeave queryById(Long id);
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
TableDataInfo<WgzLeave> queryPageList(WgzLeaveQueryBo bo);
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*/
|
||||
List<WgzLeave> queryList(WgzLeaveQueryBo bo);
|
||||
|
||||
/**
|
||||
* 根据新增业务对象插入请假
|
||||
* @param bo 请假新增业务对象
|
||||
* @return
|
||||
*/
|
||||
Boolean insert(WgzLeave bo);
|
||||
|
||||
/**
|
||||
* 根据编辑业务对象修改请假
|
||||
* @param bo 请假编辑业务对象
|
||||
* @return
|
||||
*/
|
||||
Boolean update(WgzLeave bo);
|
||||
|
||||
/**
|
||||
* 校验并删除数据
|
||||
* @param ids 主键集合
|
||||
* @param isValid 是否校验,true-删除前校验,false-不校验
|
||||
* @return
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
|
||||
/**
|
||||
* APP相关
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* 提交请假申请
|
||||
*/
|
||||
Boolean userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveRes req);
|
||||
}
|
@ -0,0 +1,149 @@
|
||||
package com.ruoyi.wgz.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.core.page.PagePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppUserDailyCalendarRes;
|
||||
import com.ruoyi.wgz.bo.res.WfzUserDailyCalendarRes;
|
||||
import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
|
||||
import com.ruoyi.wgz.domain.WgzDailyClock;
|
||||
import com.ruoyi.wgz.mapper.WgzDailyClockMapper;
|
||||
import com.ruoyi.wgz.service.IWgzDailyClockService;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 日报打卡Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-18
|
||||
*/
|
||||
@Service
|
||||
public class WgzDailyClockServiceImpl extends ServicePlusImpl<WgzDailyClockMapper, WgzDailyClock> implements IWgzDailyClockService {
|
||||
|
||||
@Override
|
||||
public WgzDailyClock queryById(Long id){
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<WgzDailyClock> queryPageList(WgzDailyClockQueryBo bo) {
|
||||
Page<WgzDailyClock> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
|
||||
return PageUtils.buildDataInfo(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WgzDailyClock> queryList(WgzDailyClockQueryBo bo) {
|
||||
return list(buildQueryWrapper(bo));
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WgzDailyClock> buildQueryWrapper(WgzDailyClockQueryBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<WgzDailyClock> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getRecruitId() != null, WgzDailyClock::getRecruitId, bo.getRecruitId());
|
||||
lqw.eq(bo.getUserId() != null, WgzDailyClock::getUserId, bo.getUserId());
|
||||
lqw.eq(bo.getDilyTime() != null, WgzDailyClock::getDilyTime, bo.getDilyTime());
|
||||
lqw.eq(bo.getDailyMark() != null, WgzDailyClock::getDailyMark, bo.getDailyMark());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getPnchOsition()), WgzDailyClock::getPnchOsition, bo.getPnchOsition());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getFinishToday()), WgzDailyClock::getFinishToday, bo.getFinishToday());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getUnfinished()), WgzDailyClock::getUnfinished, bo.getUnfinished());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getWorkTomorrow()), WgzDailyClock::getWorkTomorrow, bo.getWorkTomorrow());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getCoordinate()), WgzDailyClock::getCoordinate, bo.getCoordinate());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getAttachment()), WgzDailyClock::getAttachment, bo.getAttachment());
|
||||
lqw.eq(bo.getAuditorUserId() != null, WgzDailyClock::getAuditorUserId, bo.getAuditorUserId());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getAuditorType()), WgzDailyClock::getAuditorType, bo.getAuditorType());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getAuditorOpinion()), WgzDailyClock::getAuditorOpinion, bo.getAuditorOpinion());
|
||||
lqw.eq(bo.getAuditorTime() != null, WgzDailyClock::getAuditorTime, bo.getAuditorTime());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getExceptionType()), WgzDailyClock::getExceptionType, bo.getExceptionType());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insert(WgzDailyClock bo) {
|
||||
WgzDailyClock add = BeanUtil.toBean(bo, WgzDailyClock.class);
|
||||
validEntityBeforeSave(add);
|
||||
return save(add);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(WgzDailyClock bo) {
|
||||
WgzDailyClock update = BeanUtil.toBean(bo, WgzDailyClock.class);
|
||||
validEntityBeforeSave(update);
|
||||
return updateById(update);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*
|
||||
* @param entity 实体类数据
|
||||
*/
|
||||
private void validEntityBeforeSave(WgzDailyClock entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 务工者APP相关
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
*/
|
||||
|
||||
@Override
|
||||
public WfzUserDailyCalendarRes userDailyCalendar(WgzAppUserDailyCalendarRes req) {
|
||||
//1、获取当月的所有日期
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
LocalDate firstDayOfMonth = currentDate.with(TemporalAdjusters.firstDayOfMonth());
|
||||
LocalDate lastDayOfMonth = currentDate.with(TemporalAdjusters.lastDayOfMonth());
|
||||
List<LocalDate> dates = new ArrayList<>();
|
||||
LocalDate tempDate = firstDayOfMonth;
|
||||
while (!tempDate.isAfter(lastDayOfMonth)) {
|
||||
dates.add(tempDate);
|
||||
tempDate = tempDate.plusDays(1);
|
||||
}
|
||||
//2、查询当前人员指定日期的所有日报情况
|
||||
QueryWrapper<WgzDailyClock> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.apply("DATE_FORMAT(dily_time, '%Y-%m') = {0}", req.getYearMonth()); // 使用 apply 方法添加自定义 SQL 条件
|
||||
List<WgzDailyClock> wgzDailyClocks = baseMapper.selectList(queryWrapper);
|
||||
//3、查看当前人,当前月是否有请假
|
||||
|
||||
//4、将获取的年月与数据库中的日期进行比对,然后填充数据
|
||||
Map<String, WgzAppAttachmentAcquisitionTwo> fh = new HashMap<>();
|
||||
dates.forEach(date -> {
|
||||
wgzDailyClocks.forEach(wgzDailyClock -> {
|
||||
LocalDate clockDate = wgzDailyClock.getDilyTime().toLocalDate();
|
||||
//两个时间一致就填充数据;如若有请假的日期需要将状态改为请假
|
||||
if (clockDate.equals(date)) {
|
||||
WgzAppAttachmentAcquisitionTwo wgzAppAttachmentAcquisitionTwo = new WgzAppAttachmentAcquisitionTwo().
|
||||
setStatus("0").//正常上传日志
|
||||
setId(wgzDailyClock.getId()).
|
||||
setDilyTime(wgzDailyClock.getDilyTime()).
|
||||
setPnchOsition(wgzDailyClock.getPnchOsition());
|
||||
// if (StrUtil.isNotBlank(wgzDailyClock.getDailyMark())) {
|
||||
// wgzAppAttachmentAcquisitionTwo.setStatus("2") //请假
|
||||
// }
|
||||
fh.put(date.toString(),wgzAppAttachmentAcquisitionTwo);
|
||||
}
|
||||
});
|
||||
});
|
||||
return new WfzUserDailyCalendarRes().setDailyCalendar(fh);
|
||||
}
|
||||
}
|
@ -0,0 +1,109 @@
|
||||
package com.ruoyi.wgz.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.core.page.PagePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveRes;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
|
||||
import com.ruoyi.wgz.domain.WgzLeave;
|
||||
import com.ruoyi.wgz.mapper.WgzLeaveMapper;
|
||||
import com.ruoyi.wgz.service.IWgzLeaveService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 请假Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-02-19
|
||||
*/
|
||||
@Service
|
||||
public class WgzLeaveServiceImpl extends ServicePlusImpl<WgzLeaveMapper, WgzLeave> implements IWgzLeaveService {
|
||||
|
||||
@Override
|
||||
public WgzLeave queryById(Long id){
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<WgzLeave> queryPageList(WgzLeaveQueryBo bo) {
|
||||
Page<WgzLeave> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
|
||||
return PageUtils.buildDataInfo(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WgzLeave> queryList(WgzLeaveQueryBo bo) {
|
||||
return list(buildQueryWrapper(bo));
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WgzLeave> buildQueryWrapper(WgzLeaveQueryBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<WgzLeave> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getRecruitId() != null, WgzLeave::getRecruitId, bo.getRecruitId());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getSubject()), WgzLeave::getSubject, bo.getSubject());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getLeaveType()), WgzLeave::getLeaveType, bo.getLeaveType());
|
||||
lqw.eq(bo.getStartTime() != null, WgzLeave::getStartTime, bo.getStartTime());
|
||||
lqw.eq(bo.getEndTime() != null, WgzLeave::getEndTime, bo.getEndTime());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getReason()), WgzLeave::getReason, bo.getReason());
|
||||
lqw.eq(bo.getAuditorUserId() != null, WgzLeave::getAuditorUserId, bo.getAuditorUserId());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getAuditorType()), WgzLeave::getAuditorType, bo.getAuditorType());
|
||||
lqw.eq(StrUtil.isNotBlank(bo.getAuditorOpinion()), WgzLeave::getAuditorOpinion, bo.getAuditorOpinion());
|
||||
lqw.eq(bo.getAuditorTime() != null, WgzLeave::getAuditorTime, bo.getAuditorTime());
|
||||
lqw.eq(bo.getWorkingTime() != null, WgzLeave::getWorkingTime, bo.getWorkingTime());
|
||||
lqw.eq(bo.getClosingTime() != null, WgzLeave::getClosingTime, bo.getClosingTime());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insert(WgzLeave bo) {
|
||||
WgzLeave add = BeanUtil.toBean(bo, WgzLeave.class);
|
||||
validEntityBeforeSave(add);
|
||||
return save(add);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean update(WgzLeave bo) {
|
||||
WgzLeave update = BeanUtil.toBean(bo, WgzLeave.class);
|
||||
validEntityBeforeSave(update);
|
||||
return updateById(update);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*
|
||||
* @param entity 实体类数据
|
||||
*/
|
||||
private void validEntityBeforeSave(WgzLeave entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* APP相关
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
* =================================================================================================================
|
||||
*/
|
||||
|
||||
@Override
|
||||
public Boolean userSubmitLeave(WgzAppSubmitLeaveRes req) {
|
||||
//1、
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.wgz.mapper.WgzDailyClockMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.wgz.domain.WgzDailyClock" id="WgzDailyClockResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="recruitId" column="recruit_id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="dilyTime" column="dily_time"/>
|
||||
<result property="dailyMark" column="daily_mark"/>
|
||||
<result property="pnchOsition" column="pnch_osition"/>
|
||||
<result property="finishToday" column="finish_today"/>
|
||||
<result property="unfinished" column="unfinished"/>
|
||||
<result property="workTomorrow" column="work_tomorrow"/>
|
||||
<result property="coordinate" column="coordinate"/>
|
||||
<result property="attachment" column="attachment"/>
|
||||
<result property="auditorUserId" column="auditor_user_id"/>
|
||||
<result property="auditorType" column="auditor_type"/>
|
||||
<result property="auditorOpinion" column="auditor_opinion"/>
|
||||
<result property="auditorTime" column="auditor_time"/>
|
||||
<result property="exceptionType" column="exception_type"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.wgz.mapper.WgzLeaveMapper">
|
||||
|
||||
<resultMap type="com.ruoyi.wgz.domain.WgzLeave" id="WgzLeaveResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="recruitId" column="recruit_id"/>
|
||||
<result property="subject" column="subject"/>
|
||||
<result property="leaveType" column="leave_type"/>
|
||||
<result property="startTime" column="start_time"/>
|
||||
<result property="endTime" column="end_time"/>
|
||||
<result property="reason" column="reason"/>
|
||||
<result property="auditorUserId" column="auditor_user_id"/>
|
||||
<result property="auditorType" column="auditor_type"/>
|
||||
<result property="auditorOpinion" column="auditor_opinion"/>
|
||||
<result property="auditorTime" column="auditor_time"/>
|
||||
<result property="workingTime" column="working_time"/>
|
||||
<result property="closingTime" column="closing_time"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user