考勤组
This commit is contained in:
parent
ff05b3b24d
commit
ea9c3b2f02
@ -43,7 +43,7 @@ create table sys_user (
|
||||
user_id bigint(20) not null auto_increment comment '用户ID',
|
||||
dept_id bigint(20) default null comment '部门ID',
|
||||
user_name varchar(30) not null comment '用户账号',
|
||||
nick_name varchar(30) not null comment '用户昵称',
|
||||
nick_name varchar(30) not null comment '用户姓名',
|
||||
user_type varchar(2) default '00' comment '用户类型(00系统用户)',
|
||||
email varchar(50) default '' comment '用户邮箱',
|
||||
phonenumber varchar(11) default '' comment '手机号码',
|
||||
|
@ -0,0 +1,282 @@
|
||||
package com.ruoyi.project.mr.api;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.utils.IdUtils;
|
||||
import com.ruoyi.common.utils.MessageUtils;
|
||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||
import com.ruoyi.framework.config.RuoYiConfig;
|
||||
import com.ruoyi.framework.web.controller.BaseController;
|
||||
import com.ruoyi.framework.web.domain.AjaxResult;
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceRecord;
|
||||
import com.ruoyi.project.mr.base.service.IBaseAttendanceRecordService;
|
||||
import io.swagger.annotations.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.IOException;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* swagger 考勤信息方法
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Api(tags = "考勤记录")
|
||||
@RestController
|
||||
@RequestMapping("/mr/base")
|
||||
public class KQRecordController extends BaseController {
|
||||
@Autowired
|
||||
private IBaseAttendanceRecordService baseAttendanceRecordService;
|
||||
// 令牌秘钥
|
||||
@Value("${token.apiSecret}")
|
||||
private String apiSecret;
|
||||
|
||||
@ApiOperation(value = "考勤记录", notes = "添加考勤记录")
|
||||
@PostMapping("/save")
|
||||
@ResponseBody
|
||||
public AjaxResult save(@RequestHeader(value = "signature", required = false) String secret,@Validated @RequestBody RecordEntity record)
|
||||
{
|
||||
if (!apiSecret.equals(secret)) {
|
||||
return AjaxResult.error(400, MessageUtils.message("api.error.msg"));
|
||||
}else{
|
||||
record.setId(IdUtils.fastUUID());
|
||||
BaseAttendanceRecord baseAttendanceRecord = new BaseAttendanceRecord();
|
||||
baseAttendanceRecord.setId(record.getId());
|
||||
baseAttendanceRecord.setDeptName(record.getDept_name());
|
||||
baseAttendanceRecord.setUserName(record.getUser_name());
|
||||
baseAttendanceRecord.setPhonenumber(record.getPhonenumber());
|
||||
baseAttendanceRecord.setClasses(record.getClasses());
|
||||
baseAttendanceRecord.setWorkDate(record.getWork_date());
|
||||
baseAttendanceRecord.setPunchDate(record.getPunch_date());
|
||||
baseAttendanceRecord.setTimeQuantum(record.getTime_quantum());
|
||||
baseAttendanceRecord.setPunchType(record.getPunch_type());
|
||||
baseAttendanceRecord.setPunchTime(record.getPunch_time());
|
||||
baseAttendanceRecord.setStatus(record.getStatus());
|
||||
baseAttendanceRecord.setPicUrl(record.getPic_url());
|
||||
baseAttendanceRecord.setAddress(record.getAddress());
|
||||
baseAttendanceRecord.setCreateBy(record.getCreate_by());
|
||||
baseAttendanceRecord.setRemark(record.getRemark());
|
||||
int i = baseAttendanceRecordService.insertBaseAttendanceRecord(baseAttendanceRecord);
|
||||
if(i > 0){
|
||||
return AjaxResult.success(record);
|
||||
}else {
|
||||
return AjaxResult.error(400, MessageUtils.message("api.error.msg"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ApiOperation(value = "图片上传", notes = "添加图片上传地址")
|
||||
@PostMapping(value = "/upload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
|
||||
@ResponseBody
|
||||
public AjaxResult save(@RequestHeader(value = "signature", required = false) String secret,@RequestParam("avatarfile") MultipartFile file) throws IOException
|
||||
{
|
||||
if (!file.isEmpty())
|
||||
{
|
||||
String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file);
|
||||
return AjaxResult.success(avatar);
|
||||
}else{
|
||||
return AjaxResult.error(400, MessageUtils.message("api.error.msg"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ApiModel("考勤实体")
|
||||
class RecordEntity
|
||||
{
|
||||
@ApiModelProperty(value = "UUID", name = "id", hidden = true)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "考勤组名称", name = "dept_name", required = true, example = "默认考勤组")
|
||||
@NotBlank(message = "默认考勤组不允许为空,请输入")
|
||||
private String dept_name;
|
||||
|
||||
@ApiModelProperty(value = "姓名", name = "user_name", required = true, example = "张三")
|
||||
private String user_name;
|
||||
|
||||
@ApiModelProperty(value = "考勤组名称", name = "phonenumber", required = true, example = "15677777777")
|
||||
@NotBlank(message = "手机号不允许为空,请输入")
|
||||
private String phonenumber;
|
||||
|
||||
@ApiModelProperty(value = "班次", name = "classes", required = true, example = "1")
|
||||
private String classes;
|
||||
|
||||
@ApiModelProperty(value = "工作日期", name = "work_date", required = true, example = "2019-02-13")
|
||||
private Date work_date;
|
||||
|
||||
@ApiModelProperty(value = "打卡日期", name = "punch_date", required = true, example = "2019-02-13")
|
||||
private Date punch_date;
|
||||
|
||||
@ApiModelProperty(value = "时间段", name = "time_quantum", required = true, example = "8:30-18:30")
|
||||
private String time_quantum;
|
||||
|
||||
@ApiModelProperty(value = "打卡类型", name = "punch_type", required = true, example = "0")
|
||||
private String punch_type;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
|
||||
@ApiModelProperty(value = "打卡时间", name = "punch_time", required = true, example = "2020-02-13 15:25:55")
|
||||
private Date punch_time;
|
||||
|
||||
@ApiModelProperty(value = "状态", name = "status", required = true, example = "0")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "拍照路径", name = "pic_url", required = true, example = "111")
|
||||
private String pic_url;
|
||||
|
||||
@ApiModelProperty(value = "地址", name = "address", required = true, example = "河南省焦作市示范区明仁药业")
|
||||
private String address;
|
||||
|
||||
@ApiModelProperty(value = "创建人", name = "create_by", required = true, example = "张三")
|
||||
private String create_by;
|
||||
|
||||
@ApiModelProperty(value = "备注", name = "remark", example = "疫情期间,在家打卡")
|
||||
private String remark;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getDept_name() {
|
||||
return dept_name;
|
||||
}
|
||||
|
||||
public void setDept_name(String dept_name) {
|
||||
this.dept_name = dept_name;
|
||||
}
|
||||
|
||||
public String getUser_name() {
|
||||
return user_name;
|
||||
}
|
||||
|
||||
public void setUser_name(String user_name) {
|
||||
this.user_name = user_name;
|
||||
}
|
||||
|
||||
public String getPhonenumber() {
|
||||
return phonenumber;
|
||||
}
|
||||
|
||||
public void setPhonenumber(String phonenumber) {
|
||||
this.phonenumber = phonenumber;
|
||||
}
|
||||
|
||||
public String getClasses() {
|
||||
return classes;
|
||||
}
|
||||
|
||||
public void setClasses(String classes) {
|
||||
this.classes = classes;
|
||||
}
|
||||
|
||||
public Date getWork_date() {
|
||||
return work_date;
|
||||
}
|
||||
|
||||
public void setWork_date(Date work_date) {
|
||||
this.work_date = work_date;
|
||||
}
|
||||
|
||||
public Date getPunch_date() {
|
||||
return punch_date;
|
||||
}
|
||||
|
||||
public void setPunch_date(Date punch_date) {
|
||||
this.punch_date = punch_date;
|
||||
}
|
||||
|
||||
public String getTime_quantum() {
|
||||
return time_quantum;
|
||||
}
|
||||
|
||||
public void setTime_quantum(String time_quantum) {
|
||||
this.time_quantum = time_quantum;
|
||||
}
|
||||
|
||||
public String getPunch_type() {
|
||||
return punch_type;
|
||||
}
|
||||
|
||||
public void setPunch_type(String punch_type) {
|
||||
this.punch_type = punch_type;
|
||||
}
|
||||
|
||||
public Date getPunch_time() {
|
||||
return punch_time;
|
||||
}
|
||||
|
||||
public void setPunch_time(Date punch_time) {
|
||||
this.punch_time = punch_time;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getPic_url() {
|
||||
return pic_url;
|
||||
}
|
||||
|
||||
public void setPic_url(String pic_url) {
|
||||
this.pic_url = pic_url;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getCreate_by() {
|
||||
return create_by;
|
||||
}
|
||||
|
||||
public void setCreate_by(String create_by) {
|
||||
this.create_by = create_by;
|
||||
}
|
||||
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
|
||||
public RecordEntity()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public RecordEntity(String id, @NotBlank(message = "默认考勤组不允许为空,请输入") String dept_name, String user_name, @NotBlank(message = "手机号不允许为空,请输入") String phonenumber, String classes, Date work_date, Date punch_date, String time_quantum, String punch_type, Date punch_time, String status, String pic_url, String address, String create_by, String remark) {
|
||||
this.id = id;
|
||||
this.dept_name = dept_name;
|
||||
this.user_name = user_name;
|
||||
this.phonenumber = phonenumber;
|
||||
this.classes = classes;
|
||||
this.work_date = work_date;
|
||||
this.punch_date = punch_date;
|
||||
this.time_quantum = time_quantum;
|
||||
this.punch_type = punch_type;
|
||||
this.punch_time = punch_time;
|
||||
this.status = status;
|
||||
this.pic_url = pic_url;
|
||||
this.address = address;
|
||||
this.create_by = create_by;
|
||||
this.remark = remark;
|
||||
}
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
package com.ruoyi.project.mr.base.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.common.utils.IdUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
||||
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceGroup;
|
||||
import com.ruoyi.project.mr.base.service.IBaseAttendanceGroupService;
|
||||
import com.ruoyi.framework.web.controller.BaseController;
|
||||
import com.ruoyi.framework.web.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.framework.web.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 考勤组管理Controller
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-03
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/base/group")
|
||||
public class BaseAttendanceGroupController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IBaseAttendanceGroupService baseAttendanceGroupService;
|
||||
|
||||
/**
|
||||
* 查询考勤组管理列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:group:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
startPage();
|
||||
List<BaseAttendanceGroup> list = baseAttendanceGroupService.selectBaseAttendanceGroupList(baseAttendanceGroup);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出考勤组管理列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:group:export')")
|
||||
@Log(title = "考勤组管理", businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/export")
|
||||
public AjaxResult export(BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
List<BaseAttendanceGroup> list = baseAttendanceGroupService.selectBaseAttendanceGroupList(baseAttendanceGroup);
|
||||
ExcelUtil<BaseAttendanceGroup> util = new ExcelUtil<BaseAttendanceGroup>(BaseAttendanceGroup.class);
|
||||
return util.exportExcel(list, "group");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取考勤组管理详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:group:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
||||
{
|
||||
return AjaxResult.success(baseAttendanceGroupService.selectBaseAttendanceGroupById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增考勤组管理
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:group:add')")
|
||||
@Log(title = "考勤组管理", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
baseAttendanceGroup.setId(IdUtils.fastUUID());
|
||||
return toAjax(baseAttendanceGroupService.insertBaseAttendanceGroup(baseAttendanceGroup));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改考勤组管理
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:group:edit')")
|
||||
@Log(title = "考勤组管理", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
return toAjax(baseAttendanceGroupService.updateBaseAttendanceGroup(baseAttendanceGroup));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除考勤组管理
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:group:remove')")
|
||||
@Log(title = "考勤组管理", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable String[] ids)
|
||||
{
|
||||
return toAjax(baseAttendanceGroupService.deleteBaseAttendanceGroupByIds(ids));
|
||||
}
|
||||
}
|
@ -0,0 +1,99 @@
|
||||
package com.ruoyi.project.mr.base.controller;
|
||||
|
||||
import com.ruoyi.common.utils.IdUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
||||
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
||||
import com.ruoyi.framework.web.controller.BaseController;
|
||||
import com.ruoyi.framework.web.domain.AjaxResult;
|
||||
import com.ruoyi.framework.web.page.TableDataInfo;
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceRecord;
|
||||
import com.ruoyi.project.mr.base.service.IBaseAttendanceRecordService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 考勤记录Controller
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-07
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/base/record")
|
||||
public class BaseAttendanceRecordController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IBaseAttendanceRecordService baseAttendanceRecordService;
|
||||
|
||||
/**
|
||||
* 查询考勤记录列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:record:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
startPage();
|
||||
List<BaseAttendanceRecord> list = baseAttendanceRecordService.selectBaseAttendanceRecordList(baseAttendanceRecord);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出考勤记录列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:record:export')")
|
||||
@Log(title = "考勤记录", businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/export")
|
||||
public AjaxResult export(BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
List<BaseAttendanceRecord> list = baseAttendanceRecordService.selectBaseAttendanceRecordList(baseAttendanceRecord);
|
||||
ExcelUtil<BaseAttendanceRecord> util = new ExcelUtil<BaseAttendanceRecord>(BaseAttendanceRecord.class);
|
||||
return util.exportExcel(list, "record");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取考勤记录详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:record:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") String id)
|
||||
{
|
||||
return AjaxResult.success(baseAttendanceRecordService.selectBaseAttendanceRecordById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增考勤记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:record:add')")
|
||||
@Log(title = "考勤记录", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
baseAttendanceRecord.setId(IdUtils.fastUUID());
|
||||
return toAjax(baseAttendanceRecordService.insertBaseAttendanceRecord(baseAttendanceRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改考勤记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:record:edit')")
|
||||
@Log(title = "考勤记录", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
return toAjax(baseAttendanceRecordService.updateBaseAttendanceRecord(baseAttendanceRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除考勤记录
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('base:record:remove')")
|
||||
@Log(title = "考勤记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable String[] ids)
|
||||
{
|
||||
return toAjax(baseAttendanceRecordService.deleteBaseAttendanceRecordByIds(ids));
|
||||
}
|
||||
}
|
@ -0,0 +1,150 @@
|
||||
package com.ruoyi.project.mr.base.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
|
||||
import com.ruoyi.framework.web.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 考勤组管理对象 base_attendance_group
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-03
|
||||
*/
|
||||
public class BaseAttendanceGroup extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** UUID */
|
||||
private String id;
|
||||
|
||||
/** 考勤组名称 */
|
||||
@Excel(name = "考勤组名称")
|
||||
private String attendanceName;
|
||||
|
||||
/** 成员 */
|
||||
private String attendancePeople;
|
||||
|
||||
/** 日历 */
|
||||
private String calendarId;
|
||||
|
||||
/** 定位地址 */
|
||||
private String address;
|
||||
|
||||
/** 定位误差 */
|
||||
private String addError;
|
||||
|
||||
/** 拍照设置 */
|
||||
@Excel(name = "拍照设置")
|
||||
private String photoSet;
|
||||
|
||||
/** 班次类型 */
|
||||
@Excel(name = "班次类型")
|
||||
private String classType;
|
||||
|
||||
/** 班次 */
|
||||
@Excel(name = "班次")
|
||||
private String classes;
|
||||
|
||||
public void setId(String id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public void setAttendanceName(String attendanceName)
|
||||
{
|
||||
this.attendanceName = attendanceName;
|
||||
}
|
||||
|
||||
public String getAttendanceName()
|
||||
{
|
||||
return attendanceName;
|
||||
}
|
||||
public void setAttendancePeople(String attendancePeople)
|
||||
{
|
||||
this.attendancePeople = attendancePeople;
|
||||
}
|
||||
|
||||
public String getAttendancePeople()
|
||||
{
|
||||
return attendancePeople;
|
||||
}
|
||||
public void setCalendarId(String calendarId)
|
||||
{
|
||||
this.calendarId = calendarId;
|
||||
}
|
||||
|
||||
public String getCalendarId()
|
||||
{
|
||||
return calendarId;
|
||||
}
|
||||
public void setAddress(String address)
|
||||
{
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getAddress()
|
||||
{
|
||||
return address;
|
||||
}
|
||||
public void setAddError(String addError)
|
||||
{
|
||||
this.addError = addError;
|
||||
}
|
||||
|
||||
public String getAddError()
|
||||
{
|
||||
return addError;
|
||||
}
|
||||
public void setPhotoSet(String photoSet)
|
||||
{
|
||||
this.photoSet = photoSet;
|
||||
}
|
||||
|
||||
public String getPhotoSet()
|
||||
{
|
||||
return photoSet;
|
||||
}
|
||||
public void setClassType(String classType)
|
||||
{
|
||||
this.classType = classType;
|
||||
}
|
||||
|
||||
public String getClassType()
|
||||
{
|
||||
return classType;
|
||||
}
|
||||
public void setClasses(String classes)
|
||||
{
|
||||
this.classes = classes;
|
||||
}
|
||||
|
||||
public String getClasses()
|
||||
{
|
||||
return classes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("attendanceName", getAttendanceName())
|
||||
.append("attendancePeople", getAttendancePeople())
|
||||
.append("calendarId", getCalendarId())
|
||||
.append("address", getAddress())
|
||||
.append("addError", getAddError())
|
||||
.append("photoSet", getPhotoSet())
|
||||
.append("classType", getClassType())
|
||||
.append("classes", getClasses())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,211 @@
|
||||
package com.ruoyi.project.mr.base.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
|
||||
import com.ruoyi.framework.web.domain.BaseEntity;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 考勤记录对象 base_attendance_record
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-07
|
||||
*/
|
||||
public class BaseAttendanceRecord extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** UUID */
|
||||
private String id;
|
||||
|
||||
/** 考勤组名称 */
|
||||
@Excel(name = "考勤组名称")
|
||||
private String deptName;
|
||||
|
||||
/** 姓名 */
|
||||
@Excel(name = "姓名")
|
||||
private String userName;
|
||||
|
||||
/** 手机号码 */
|
||||
@Excel(name = "手机号码")
|
||||
private String phonenumber;
|
||||
|
||||
/** 班次 */
|
||||
@Excel(name = "班次")
|
||||
private String classes;
|
||||
|
||||
/** 工作日期 */
|
||||
@Excel(name = "工作日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date workDate;
|
||||
|
||||
/** 打卡日期 */
|
||||
@Excel(name = "打卡日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date punchDate;
|
||||
|
||||
/** 时间段 */
|
||||
@Excel(name = "时间段")
|
||||
private String timeQuantum;
|
||||
|
||||
/** 打卡类型 */
|
||||
@Excel(name = "打卡类型")
|
||||
private String punchType;
|
||||
|
||||
/** 打卡时间 */
|
||||
@Excel(name = "打卡时间", width = 50, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date punchTime;
|
||||
|
||||
/** 状态 */
|
||||
@Excel(name = "状态")
|
||||
private String status;
|
||||
|
||||
/** 拍照路径 */
|
||||
@Excel(name = "拍照路径")
|
||||
private String picUrl;
|
||||
|
||||
/** 定位地址 */
|
||||
@Excel(name = "定位地址")
|
||||
private String address;
|
||||
|
||||
public void setId(String id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public void setDeptName(String deptName)
|
||||
{
|
||||
this.deptName = deptName;
|
||||
}
|
||||
|
||||
public String getDeptName()
|
||||
{
|
||||
return deptName;
|
||||
}
|
||||
public void setUserName(String userName)
|
||||
{
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getUserName()
|
||||
{
|
||||
return userName;
|
||||
}
|
||||
public void setPhonenumber(String phonenumber)
|
||||
{
|
||||
this.phonenumber = phonenumber;
|
||||
}
|
||||
|
||||
public String getPhonenumber()
|
||||
{
|
||||
return phonenumber;
|
||||
}
|
||||
public void setClasses(String classes)
|
||||
{
|
||||
this.classes = classes;
|
||||
}
|
||||
|
||||
public String getClasses()
|
||||
{
|
||||
return classes;
|
||||
}
|
||||
public void setWorkDate(Date workDate)
|
||||
{
|
||||
this.workDate = workDate;
|
||||
}
|
||||
|
||||
public Date getWorkDate()
|
||||
{
|
||||
return workDate;
|
||||
}
|
||||
public void setPunchDate(Date punchDate)
|
||||
{
|
||||
this.punchDate = punchDate;
|
||||
}
|
||||
|
||||
public Date getPunchDate()
|
||||
{
|
||||
return punchDate;
|
||||
}
|
||||
public void setTimeQuantum(String timeQuantum)
|
||||
{
|
||||
this.timeQuantum = timeQuantum;
|
||||
}
|
||||
|
||||
public String getTimeQuantum()
|
||||
{
|
||||
return timeQuantum;
|
||||
}
|
||||
public void setPunchType(String punchType)
|
||||
{
|
||||
this.punchType = punchType;
|
||||
}
|
||||
|
||||
public String getPunchType()
|
||||
{
|
||||
return punchType;
|
||||
}
|
||||
public void setPunchTime(Date punchTime)
|
||||
{
|
||||
this.punchTime = punchTime;
|
||||
}
|
||||
|
||||
public Date getPunchTime()
|
||||
{
|
||||
return punchTime;
|
||||
}
|
||||
public void setStatus(String status)
|
||||
{
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getStatus()
|
||||
{
|
||||
return status;
|
||||
}
|
||||
public void setPicUrl(String picUrl)
|
||||
{
|
||||
this.picUrl = picUrl;
|
||||
}
|
||||
|
||||
public String getPicUrl()
|
||||
{
|
||||
return picUrl;
|
||||
}
|
||||
public void setAddress(String address)
|
||||
{
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getAddress()
|
||||
{
|
||||
return address;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("deptName", getDeptName())
|
||||
.append("userName", getUserName())
|
||||
.append("phonenumber", getPhonenumber())
|
||||
.append("classes", getClasses())
|
||||
.append("workDate", getWorkDate())
|
||||
.append("punchDate", getPunchDate())
|
||||
.append("timeQuantum", getTimeQuantum())
|
||||
.append("punchType", getPunchType())
|
||||
.append("punchTime", getPunchTime())
|
||||
.append("status", getStatus())
|
||||
.append("picUrl", getPicUrl())
|
||||
.append("address", getAddress())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.ruoyi.project.mr.base.mapper;
|
||||
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceGroup;
|
||||
import com.ruoyi.project.system.domain.SysPost;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 考勤组管理Mapper接口
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-03
|
||||
*/
|
||||
public interface BaseAttendanceGroupMapper
|
||||
{
|
||||
/**
|
||||
* 查询考勤组管理
|
||||
*
|
||||
* @param id 考勤组管理ID
|
||||
* @return 考勤组管理
|
||||
*/
|
||||
public BaseAttendanceGroup selectBaseAttendanceGroupById(String id);
|
||||
|
||||
/**
|
||||
* 查询考勤组管理列表
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 考勤组管理集合
|
||||
*/
|
||||
public List<BaseAttendanceGroup> selectBaseAttendanceGroupList(BaseAttendanceGroup baseAttendanceGroup);
|
||||
|
||||
/**
|
||||
* 查询所有考勤组
|
||||
*
|
||||
* @return 考勤组列表
|
||||
*/
|
||||
public List<BaseAttendanceGroup> selectGroupAll();
|
||||
|
||||
/**
|
||||
* 新增考勤组管理
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertBaseAttendanceGroup(BaseAttendanceGroup baseAttendanceGroup);
|
||||
|
||||
/**
|
||||
* 修改考勤组管理
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateBaseAttendanceGroup(BaseAttendanceGroup baseAttendanceGroup);
|
||||
|
||||
/**
|
||||
* 删除考勤组管理
|
||||
*
|
||||
* @param id 考勤组管理ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceGroupById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除考勤组管理
|
||||
*
|
||||
* @param ids 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceGroupByIds(String[] ids);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.project.mr.base.mapper;
|
||||
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceRecord;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 考勤记录Mapper接口
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-07
|
||||
*/
|
||||
public interface BaseAttendanceRecordMapper
|
||||
{
|
||||
/**
|
||||
* 查询考勤记录
|
||||
*
|
||||
* @param id 考勤记录ID
|
||||
* @return 考勤记录
|
||||
*/
|
||||
public BaseAttendanceRecord selectBaseAttendanceRecordById(String id);
|
||||
|
||||
/**
|
||||
* 查询考勤记录列表
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 考勤记录集合
|
||||
*/
|
||||
public List<BaseAttendanceRecord> selectBaseAttendanceRecordList(BaseAttendanceRecord baseAttendanceRecord);
|
||||
|
||||
/**
|
||||
* 新增考勤记录
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertBaseAttendanceRecord(BaseAttendanceRecord baseAttendanceRecord);
|
||||
|
||||
/**
|
||||
* 修改考勤记录
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateBaseAttendanceRecord(BaseAttendanceRecord baseAttendanceRecord);
|
||||
|
||||
/**
|
||||
* 删除考勤记录
|
||||
*
|
||||
* @param id 考勤记录ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceRecordById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除考勤记录
|
||||
*
|
||||
* @param ids 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceRecordByIds(String[] ids);
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.ruoyi.project.mr.base.service;
|
||||
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceGroup;
|
||||
import com.ruoyi.project.system.domain.SysPost;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 考勤组管理Service接口
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-03
|
||||
*/
|
||||
public interface IBaseAttendanceGroupService
|
||||
{
|
||||
/**
|
||||
* 查询考勤组管理
|
||||
*
|
||||
* @param id 考勤组管理ID
|
||||
* @return 考勤组管理
|
||||
*/
|
||||
public BaseAttendanceGroup selectBaseAttendanceGroupById(String id);
|
||||
|
||||
/**
|
||||
* 查询考勤组管理列表
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 考勤组管理集合
|
||||
*/
|
||||
public List<BaseAttendanceGroup> selectBaseAttendanceGroupList(BaseAttendanceGroup baseAttendanceGroup);
|
||||
|
||||
/**
|
||||
* 查询所有考勤组
|
||||
*
|
||||
* @return 考勤组列表
|
||||
*/
|
||||
public List<BaseAttendanceGroup> selectGroupAll();
|
||||
|
||||
/**
|
||||
* 新增考勤组管理
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertBaseAttendanceGroup(BaseAttendanceGroup baseAttendanceGroup);
|
||||
|
||||
/**
|
||||
* 修改考勤组管理
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateBaseAttendanceGroup(BaseAttendanceGroup baseAttendanceGroup);
|
||||
|
||||
/**
|
||||
* 批量删除考勤组管理
|
||||
*
|
||||
* @param ids 需要删除的考勤组管理ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceGroupByIds(String[] ids);
|
||||
|
||||
/**
|
||||
* 删除考勤组管理信息
|
||||
*
|
||||
* @param id 考勤组管理ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceGroupById(String id);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.project.mr.base.service;
|
||||
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceRecord;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 考勤记录Service接口
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-07
|
||||
*/
|
||||
public interface IBaseAttendanceRecordService
|
||||
{
|
||||
/**
|
||||
* 查询考勤记录
|
||||
*
|
||||
* @param id 考勤记录ID
|
||||
* @return 考勤记录
|
||||
*/
|
||||
public BaseAttendanceRecord selectBaseAttendanceRecordById(String id);
|
||||
|
||||
/**
|
||||
* 查询考勤记录列表
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 考勤记录集合
|
||||
*/
|
||||
public List<BaseAttendanceRecord> selectBaseAttendanceRecordList(BaseAttendanceRecord baseAttendanceRecord);
|
||||
|
||||
/**
|
||||
* 新增考勤记录
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertBaseAttendanceRecord(BaseAttendanceRecord baseAttendanceRecord);
|
||||
|
||||
/**
|
||||
* 修改考勤记录
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateBaseAttendanceRecord(BaseAttendanceRecord baseAttendanceRecord);
|
||||
|
||||
/**
|
||||
* 批量删除考勤记录
|
||||
*
|
||||
* @param ids 需要删除的考勤记录ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceRecordByIds(String[] ids);
|
||||
|
||||
/**
|
||||
* 删除考勤记录信息
|
||||
*
|
||||
* @param id 考勤记录ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteBaseAttendanceRecordById(String id);
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
package com.ruoyi.project.mr.base.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.project.system.domain.SysPost;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.project.mr.base.mapper.BaseAttendanceGroupMapper;
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceGroup;
|
||||
import com.ruoyi.project.mr.base.service.IBaseAttendanceGroupService;
|
||||
|
||||
/**
|
||||
* 考勤组管理Service业务层处理
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-03
|
||||
*/
|
||||
@Service
|
||||
public class BaseAttendanceGroupServiceImpl implements IBaseAttendanceGroupService
|
||||
{
|
||||
@Autowired
|
||||
private BaseAttendanceGroupMapper baseAttendanceGroupMapper;
|
||||
|
||||
/**
|
||||
* 查询考勤组管理
|
||||
*
|
||||
* @param id 考勤组管理ID
|
||||
* @return 考勤组管理
|
||||
*/
|
||||
@Override
|
||||
public BaseAttendanceGroup selectBaseAttendanceGroupById(String id)
|
||||
{
|
||||
return baseAttendanceGroupMapper.selectBaseAttendanceGroupById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询考勤组管理列表
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 考勤组管理
|
||||
*/
|
||||
@Override
|
||||
public List<BaseAttendanceGroup> selectBaseAttendanceGroupList(BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
return baseAttendanceGroupMapper.selectBaseAttendanceGroupList(baseAttendanceGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有考勤组
|
||||
*
|
||||
* @return 考勤组列表
|
||||
*/
|
||||
@Override
|
||||
public List<BaseAttendanceGroup> selectGroupAll()
|
||||
{
|
||||
return baseAttendanceGroupMapper.selectGroupAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增考勤组管理
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertBaseAttendanceGroup(BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
baseAttendanceGroup.setCreateTime(DateUtils.getNowDate());
|
||||
return baseAttendanceGroupMapper.insertBaseAttendanceGroup(baseAttendanceGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改考勤组管理
|
||||
*
|
||||
* @param baseAttendanceGroup 考勤组管理
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateBaseAttendanceGroup(BaseAttendanceGroup baseAttendanceGroup)
|
||||
{
|
||||
baseAttendanceGroup.setUpdateTime(DateUtils.getNowDate());
|
||||
return baseAttendanceGroupMapper.updateBaseAttendanceGroup(baseAttendanceGroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除考勤组管理
|
||||
*
|
||||
* @param ids 需要删除的考勤组管理ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteBaseAttendanceGroupByIds(String[] ids)
|
||||
{
|
||||
return baseAttendanceGroupMapper.deleteBaseAttendanceGroupByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除考勤组管理信息
|
||||
*
|
||||
* @param id 考勤组管理ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteBaseAttendanceGroupById(String id)
|
||||
{
|
||||
return baseAttendanceGroupMapper.deleteBaseAttendanceGroupById(id);
|
||||
}
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
package com.ruoyi.project.mr.base.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.project.mr.base.mapper.BaseAttendanceRecordMapper;
|
||||
import com.ruoyi.project.mr.base.domain.BaseAttendanceRecord;
|
||||
import com.ruoyi.project.mr.base.service.IBaseAttendanceRecordService;
|
||||
|
||||
/**
|
||||
* 考勤记录Service业务层处理
|
||||
*
|
||||
* @author mr
|
||||
* @date 2020-02-07
|
||||
*/
|
||||
@Service
|
||||
public class BaseAttendanceRecordServiceImpl implements IBaseAttendanceRecordService
|
||||
{
|
||||
@Autowired
|
||||
private BaseAttendanceRecordMapper baseAttendanceRecordMapper;
|
||||
|
||||
/**
|
||||
* 查询考勤记录
|
||||
*
|
||||
* @param id 考勤记录ID
|
||||
* @return 考勤记录
|
||||
*/
|
||||
@Override
|
||||
public BaseAttendanceRecord selectBaseAttendanceRecordById(String id)
|
||||
{
|
||||
return baseAttendanceRecordMapper.selectBaseAttendanceRecordById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询考勤记录列表
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 考勤记录
|
||||
*/
|
||||
@Override
|
||||
public List<BaseAttendanceRecord> selectBaseAttendanceRecordList(BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
return baseAttendanceRecordMapper.selectBaseAttendanceRecordList(baseAttendanceRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增考勤记录
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertBaseAttendanceRecord(BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
baseAttendanceRecord.setCreateTime(DateUtils.getNowDate());
|
||||
return baseAttendanceRecordMapper.insertBaseAttendanceRecord(baseAttendanceRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改考勤记录
|
||||
*
|
||||
* @param baseAttendanceRecord 考勤记录
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateBaseAttendanceRecord(BaseAttendanceRecord baseAttendanceRecord)
|
||||
{
|
||||
baseAttendanceRecord.setUpdateTime(DateUtils.getNowDate());
|
||||
return baseAttendanceRecordMapper.updateBaseAttendanceRecord(baseAttendanceRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除考勤记录
|
||||
*
|
||||
* @param ids 需要删除的考勤记录ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteBaseAttendanceRecordByIds(String[] ids)
|
||||
{
|
||||
return baseAttendanceRecordMapper.deleteBaseAttendanceRecordByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除考勤记录信息
|
||||
*
|
||||
* @param id 考勤记录ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteBaseAttendanceRecordById(String id)
|
||||
{
|
||||
return baseAttendanceRecordMapper.deleteBaseAttendanceRecordById(id);
|
||||
}
|
||||
}
|
@ -1,18 +1,5 @@
|
||||
package com.ruoyi.project.system.controller;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
@ -25,10 +12,18 @@ import com.ruoyi.framework.security.service.TokenService;
|
||||
import com.ruoyi.framework.web.controller.BaseController;
|
||||
import com.ruoyi.framework.web.domain.AjaxResult;
|
||||
import com.ruoyi.framework.web.page.TableDataInfo;
|
||||
import com.ruoyi.project.mr.base.service.IBaseAttendanceGroupService;
|
||||
import com.ruoyi.project.system.domain.SysUser;
|
||||
import com.ruoyi.project.system.service.ISysPostService;
|
||||
import com.ruoyi.project.system.service.ISysRoleService;
|
||||
import com.ruoyi.project.system.service.ISysUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
@ -48,6 +43,9 @@ public class SysUserController extends BaseController
|
||||
@Autowired
|
||||
private ISysPostService postService;
|
||||
|
||||
@Autowired
|
||||
private IBaseAttendanceGroupService groupService;
|
||||
|
||||
@Autowired
|
||||
private TokenService tokenService;
|
||||
|
||||
@ -63,6 +61,16 @@ public class SysUserController extends BaseController
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户
|
||||
*/
|
||||
@GetMapping("/userSelect")
|
||||
public AjaxResult userSelect(SysUser user)
|
||||
{
|
||||
List<SysUser> users = userService.selectUserList(user);
|
||||
return AjaxResult.success(userService.buildUserSelect(users));
|
||||
}
|
||||
|
||||
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
|
||||
@PreAuthorize("@ss.hasPermi('system:user:export')")
|
||||
@GetMapping("/export")
|
||||
@ -103,6 +111,7 @@ public class SysUserController extends BaseController
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
ajax.put("roles", roleService.selectRoleAll());
|
||||
ajax.put("posts", postService.selectPostAll());
|
||||
ajax.put("groups", groupService.selectGroupAll());
|
||||
if (StringUtils.isNotNull(userId))
|
||||
{
|
||||
ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
|
||||
|
@ -15,7 +15,7 @@ import com.ruoyi.framework.web.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 用户对象 sys_user
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class SysUser extends BaseEntity
|
||||
@ -30,12 +30,16 @@ public class SysUser extends BaseEntity
|
||||
@Excel(name = "部门编号", type = Type.IMPORT)
|
||||
private Long deptId;
|
||||
|
||||
/** 部门ID */
|
||||
@Excel(name = "考勤组标识", type = Type.IMPORT)
|
||||
private String groupId;
|
||||
|
||||
/** 用户账号 */
|
||||
@Excel(name = "登录名称")
|
||||
private String userName;
|
||||
|
||||
/** 用户昵称 */
|
||||
@Excel(name = "用户名称")
|
||||
/** 用户姓名 */
|
||||
@Excel(name = "用户姓名")
|
||||
private String nickName;
|
||||
|
||||
/** 用户邮箱 */
|
||||
@ -130,7 +134,17 @@ public class SysUser extends BaseEntity
|
||||
this.deptId = deptId;
|
||||
}
|
||||
|
||||
@Size(min = 0, max = 30, message = "用户昵称长度不能超过30个字符")
|
||||
public String getGroupId()
|
||||
{
|
||||
return groupId;
|
||||
}
|
||||
|
||||
public void setGroupId(String groupId)
|
||||
{
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
@Size(min = 0, max = 30, message = "用户名称长度不能超过30个字符")
|
||||
public String getNickName()
|
||||
{
|
||||
return nickName;
|
||||
@ -295,12 +309,13 @@ public class SysUser extends BaseEntity
|
||||
{
|
||||
this.postIds = postIds;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("userId", getUserId())
|
||||
.append("deptId", getDeptId())
|
||||
.append("groupId", getGroupId())
|
||||
.append("userName", getUserName())
|
||||
.append("nickName", getNickName())
|
||||
.append("email", getEmail())
|
||||
|
@ -8,14 +8,14 @@ import com.ruoyi.project.system.domain.SysUser;
|
||||
|
||||
/**
|
||||
* 用户表 数据层
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface SysUserMapper
|
||||
{
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
*
|
||||
*
|
||||
* @param sysUser 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
@ -23,7 +23,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@ -31,7 +31,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@ -39,7 +39,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 新增用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -47,7 +47,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 修改用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -55,7 +55,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param avatar 头像地址
|
||||
* @return 结果
|
||||
@ -64,7 +64,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
@ -73,7 +73,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -81,7 +81,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 批量删除用户信息
|
||||
*
|
||||
*
|
||||
* @param userIds 需要删除的用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -89,7 +89,7 @@ public interface SysUserMapper
|
||||
|
||||
/**
|
||||
* 校验用户名称是否唯一
|
||||
*
|
||||
*
|
||||
* @param userName 用户名称
|
||||
* @return 结果
|
||||
*/
|
||||
|
@ -1,26 +1,38 @@
|
||||
package com.ruoyi.project.system.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.ruoyi.framework.web.domain.TreeSelect;
|
||||
import com.ruoyi.project.system.domain.SysDept;
|
||||
import com.ruoyi.project.system.domain.SysUser;
|
||||
|
||||
/**
|
||||
* 用户 业务层
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface ISysUserService
|
||||
{
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
public List<SysUser> selectUserList(SysUser user);
|
||||
|
||||
/**
|
||||
* 构建前端所需要数据
|
||||
*
|
||||
* @param users 用户列表
|
||||
* @return 用户列表
|
||||
*/
|
||||
public Map<String,String> buildUserSelect(List<SysUser> users);
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@ -28,7 +40,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@ -36,7 +48,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 根据用户ID查询用户所属角色组
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 结果
|
||||
*/
|
||||
@ -44,7 +56,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 根据用户ID查询用户所属岗位组
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 结果
|
||||
*/
|
||||
@ -52,7 +64,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 校验用户名称是否唯一
|
||||
*
|
||||
*
|
||||
* @param userName 用户名称
|
||||
* @return 结果
|
||||
*/
|
||||
@ -76,14 +88,14 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 校验用户是否允许操作
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
*/
|
||||
public void checkUserAllowed(SysUser user);
|
||||
|
||||
/**
|
||||
* 新增用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -91,7 +103,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -99,7 +111,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户状态
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -107,7 +119,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户基本信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -115,7 +127,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param avatar 头像地址
|
||||
* @return 结果
|
||||
@ -124,7 +136,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -132,7 +144,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
@ -141,7 +153,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -149,7 +161,7 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 批量删除用户信息
|
||||
*
|
||||
*
|
||||
* @param userIds 需要删除的用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -157,11 +169,12 @@ public interface ISysUserService
|
||||
|
||||
/**
|
||||
* 导入用户数据
|
||||
*
|
||||
*
|
||||
* @param userList 用户数据列表
|
||||
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
|
||||
* @param operName 操作用户
|
||||
* @return 结果
|
||||
*/
|
||||
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
package com.ruoyi.project.system.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import com.ruoyi.project.system.domain.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -12,11 +13,6 @@ import com.ruoyi.common.exception.CustomException;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
|
||||
import com.ruoyi.project.system.domain.SysPost;
|
||||
import com.ruoyi.project.system.domain.SysRole;
|
||||
import com.ruoyi.project.system.domain.SysUser;
|
||||
import com.ruoyi.project.system.domain.SysUserPost;
|
||||
import com.ruoyi.project.system.domain.SysUserRole;
|
||||
import com.ruoyi.project.system.mapper.SysPostMapper;
|
||||
import com.ruoyi.project.system.mapper.SysRoleMapper;
|
||||
import com.ruoyi.project.system.mapper.SysUserMapper;
|
||||
@ -27,7 +23,7 @@ import com.ruoyi.project.system.service.ISysUserService;
|
||||
|
||||
/**
|
||||
* 用户 业务层处理
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
@ -55,7 +51,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 根据条件分页查询用户列表
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
@ -66,9 +62,40 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
return userMapper.selectUserList(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建前端所需要数据信息
|
||||
*
|
||||
* @param users 用户列表
|
||||
* @return 用户列表
|
||||
*/
|
||||
public Map<String,String> buildUser(List<SysUser> users)
|
||||
{
|
||||
Map<String,String> map = new HashMap<String,String>();
|
||||
|
||||
for (Iterator<SysUser> iterator = users.iterator(); iterator.hasNext();){
|
||||
SysUser user = (SysUser) iterator.next();
|
||||
map.put(user.getUserName(),user.getNickName());
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户列表
|
||||
*
|
||||
* @param users 用户信息
|
||||
* @return 用户信息集合信息
|
||||
*/
|
||||
@Override
|
||||
public Map<String,String> buildUserSelect(List<SysUser> users)
|
||||
{
|
||||
Map<String,String> userList = buildUser(users);
|
||||
return userList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过用户名查询用户
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@ -80,7 +107,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@ -92,7 +119,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 查询用户所属角色组
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 结果
|
||||
*/
|
||||
@ -114,7 +141,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 查询用户所属岗位组
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 结果
|
||||
*/
|
||||
@ -136,7 +163,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 校验用户名称是否唯一
|
||||
*
|
||||
*
|
||||
* @param userName 用户名称
|
||||
* @return 结果
|
||||
*/
|
||||
@ -189,7 +216,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 校验用户是否允许操作
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
*/
|
||||
public void checkUserAllowed(SysUser user)
|
||||
@ -202,7 +229,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 新增保存用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -221,7 +248,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 修改保存用户信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -243,7 +270,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户状态
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -255,7 +282,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户基本信息
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -267,8 +294,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 修改用户头像
|
||||
*
|
||||
* @param userId 用户ID
|
||||
*
|
||||
* @param avatar 头像地址
|
||||
* @return 结果
|
||||
*/
|
||||
@ -279,7 +305,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param user 用户信息
|
||||
* @return 结果
|
||||
*/
|
||||
@ -291,7 +317,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
@ -304,7 +330,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 新增用户角色信息
|
||||
*
|
||||
*
|
||||
* @param user 用户对象
|
||||
*/
|
||||
public void insertUserRole(SysUser user)
|
||||
@ -330,7 +356,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 新增用户岗位信息
|
||||
*
|
||||
*
|
||||
* @param user 用户对象
|
||||
*/
|
||||
public void insertUserPost(SysUser user)
|
||||
@ -356,7 +382,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 通过用户ID删除用户
|
||||
*
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -372,7 +398,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 批量删除用户信息
|
||||
*
|
||||
*
|
||||
* @param userIds 需要删除的用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
@ -387,7 +413,7 @@ public class SysUserServiceImpl implements ISysUserService
|
||||
|
||||
/**
|
||||
* 导入用户数据
|
||||
*
|
||||
*
|
||||
* @param userList 用户数据列表
|
||||
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
|
||||
* @param operName 操作用户
|
||||
|
@ -0,0 +1,114 @@
|
||||
<?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.project.mr.base.mapper.BaseAttendanceGroupMapper">
|
||||
|
||||
<resultMap type="BaseAttendanceGroup" id="BaseAttendanceGroupResult">
|
||||
<result property="id" column="ID" />
|
||||
<result property="attendanceName" column="attendance_name" />
|
||||
<result property="attendancePeople" column="attendance_people" />
|
||||
<result property="calendarId" column="calendar_id" />
|
||||
<result property="address" column="address" />
|
||||
<result property="addError" column="add_error" />
|
||||
<result property="photoSet" column="photo_set" />
|
||||
<result property="classType" column="class_type" />
|
||||
<result property="classes" column="classes" />
|
||||
<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>
|
||||
|
||||
<sql id="selectBaseAttendanceGroupVo">
|
||||
select ID, attendance_name, attendance_people, calendar_id, address, add_error, photo_set, class_type, classes, create_by, create_time, update_by, update_time, remark from base_attendance_group
|
||||
</sql>
|
||||
|
||||
<select id="selectBaseAttendanceGroupList" parameterType="BaseAttendanceGroup" resultMap="BaseAttendanceGroupResult">
|
||||
<include refid="selectBaseAttendanceGroupVo"/>
|
||||
<where>
|
||||
<if test="attendanceName != null and attendanceName != ''"> and attendance_name like concat('%', #{attendanceName}, '%')</if>
|
||||
<if test="photoSet != null and photoSet != ''"> and photo_set = #{photoSet}</if>
|
||||
<if test="classType != null and classType != ''"> and class_type = #{classType}</if>
|
||||
<if test="classes != null and classes != ''"> and classes = #{classes}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectGroupAll" resultMap="BaseAttendanceGroupResult">
|
||||
<include refid="selectBaseAttendanceGroupVo"/>
|
||||
</select>
|
||||
|
||||
<select id="selectBaseAttendanceGroupById" parameterType="String" resultMap="BaseAttendanceGroupResult">
|
||||
<include refid="selectBaseAttendanceGroupVo"/>
|
||||
where ID = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertBaseAttendanceGroup" parameterType="BaseAttendanceGroup">
|
||||
insert into base_attendance_group
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">ID,</if>
|
||||
<if test="attendanceName != null and attendanceName != ''">attendance_name,</if>
|
||||
<if test="attendancePeople != null and attendancePeople != ''">attendance_people,</if>
|
||||
<if test="calendarId != null and calendarId != ''">calendar_id,</if>
|
||||
<if test="address != null and address != ''">address,</if>
|
||||
<if test="addError != null and addError != ''">add_error,</if>
|
||||
<if test="photoSet != null and photoSet != ''">photo_set,</if>
|
||||
<if test="classType != null and classType != ''">class_type,</if>
|
||||
<if test="classes != null and classes != ''">classes,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="createTime != null ">create_time,</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by,</if>
|
||||
<if test="updateTime != null ">update_time,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">#{id},</if>
|
||||
<if test="attendanceName != null and attendanceName != ''">#{attendanceName},</if>
|
||||
<if test="attendancePeople != null and attendancePeople != ''">#{attendancePeople},</if>
|
||||
<if test="calendarId != null and calendarId != ''">#{calendarId},</if>
|
||||
<if test="address != null and address != ''">#{address},</if>
|
||||
<if test="addError != null and addError != ''">#{addError},</if>
|
||||
<if test="photoSet != null and photoSet != ''">#{photoSet},</if>
|
||||
<if test="classType != null and classType != ''">#{classType},</if>
|
||||
<if test="classes != null and classes != ''">#{classes},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="createTime != null ">#{createTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
|
||||
<if test="updateTime != null ">#{updateTime},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateBaseAttendanceGroup" parameterType="BaseAttendanceGroup">
|
||||
update base_attendance_group
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="attendanceName != null and attendanceName != ''">attendance_name = #{attendanceName},</if>
|
||||
<if test="attendancePeople != null and attendancePeople != ''">attendance_people = #{attendancePeople},</if>
|
||||
<if test="calendarId != null and calendarId != ''">calendar_id = #{calendarId},</if>
|
||||
<if test="address != null and address != ''">address = #{address},</if>
|
||||
<if test="addError != null and addError != ''">add_error = #{addError},</if>
|
||||
<if test="photoSet != null and photoSet != ''">photo_set = #{photoSet},</if>
|
||||
<if test="classType != null and classType != ''">class_type = #{classType},</if>
|
||||
<if test="classes != null and classes != ''">classes = #{classes},</if>
|
||||
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
||||
<if test="createTime != null ">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null ">update_time = #{updateTime},</if>
|
||||
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
||||
</trim>
|
||||
where ID = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBaseAttendanceGroupById" parameterType="String">
|
||||
delete from base_attendance_group where ID = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBaseAttendanceGroupByIds" parameterType="String">
|
||||
delete from base_attendance_group where ID in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,129 @@
|
||||
<?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.project.mr.base.mapper.BaseAttendanceRecordMapper">
|
||||
|
||||
<resultMap type="BaseAttendanceRecord" id="BaseAttendanceRecordResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="phonenumber" column="phonenumber" />
|
||||
<result property="classes" column="classes" />
|
||||
<result property="workDate" column="work_date" />
|
||||
<result property="punchDate" column="punch_date" />
|
||||
<result property="timeQuantum" column="time_quantum" />
|
||||
<result property="punchType" column="punch_type" />
|
||||
<result property="punchTime" column="punch_time" />
|
||||
<result property="status" column="status" />
|
||||
<result property="picUrl" column="pic_url" />
|
||||
<result property="address" column="address" />
|
||||
<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>
|
||||
|
||||
<sql id="selectBaseAttendanceRecordVo">
|
||||
select id, dept_name, user_name, phonenumber, classes, work_date, punch_date, time_quantum, punch_type, punch_time, status, pic_url, address, create_by, create_time, update_by, update_time, remark from base_attendance_record
|
||||
</sql>
|
||||
|
||||
<select id="selectBaseAttendanceRecordList" parameterType="BaseAttendanceRecord" resultMap="BaseAttendanceRecordResult">
|
||||
<include refid="selectBaseAttendanceRecordVo"/>
|
||||
<where>
|
||||
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="phonenumber != null and phonenumber != ''"> and phonenumber = #{phonenumber}</if>
|
||||
<if test="classes != null and classes != ''"> and classes = #{classes}</if>
|
||||
<if test="workDate != null "> and work_date = #{workDate}</if>
|
||||
<if test="punchType != null and punchType != ''"> and punch_type = #{punchType}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectBaseAttendanceRecordById" parameterType="String" resultMap="BaseAttendanceRecordResult">
|
||||
<include refid="selectBaseAttendanceRecordVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertBaseAttendanceRecord" parameterType="BaseAttendanceRecord">
|
||||
insert into base_attendance_record
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">id,</if>
|
||||
<if test="deptName != null and deptName != ''">dept_name,</if>
|
||||
<if test="userName != null and userName != ''">user_name,</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
|
||||
<if test="classes != null and classes != ''">classes,</if>
|
||||
<if test="workDate != null ">work_date,</if>
|
||||
<if test="punchDate != null ">punch_date,</if>
|
||||
<if test="timeQuantum != null and timeQuantum != ''">time_quantum,</if>
|
||||
<if test="punchType != null and punchType != ''">punch_type,</if>
|
||||
<if test="punchTime != null ">punch_time,</if>
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="picUrl != null and picUrl != ''">pic_url,</if>
|
||||
<if test="address != null and address != ''">address,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="createTime != null ">create_time,</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by,</if>
|
||||
<if test="updateTime != null ">update_time,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null and id != ''">#{id},</if>
|
||||
<if test="deptName != null and deptName != ''">#{deptName},</if>
|
||||
<if test="userName != null and userName != ''">#{userName},</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
|
||||
<if test="classes != null and classes != ''">#{classes},</if>
|
||||
<if test="workDate != null ">#{workDate},</if>
|
||||
<if test="punchDate != null ">#{punchDate},</if>
|
||||
<if test="timeQuantum != null and timeQuantum != ''">#{timeQuantum},</if>
|
||||
<if test="punchType != null and punchType != ''">#{punchType},</if>
|
||||
<if test="punchTime != null ">#{punchTime},</if>
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="picUrl != null and picUrl != ''">#{picUrl},</if>
|
||||
<if test="address != null and address != ''">#{address},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="createTime != null ">#{createTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
|
||||
<if test="updateTime != null ">#{updateTime},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateBaseAttendanceRecord" parameterType="BaseAttendanceRecord">
|
||||
update base_attendance_record
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
|
||||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||||
<if test="phonenumber != null and phonenumber != ''">phonenumber = #{phonenumber},</if>
|
||||
<if test="classes != null and classes != ''">classes = #{classes},</if>
|
||||
<if test="workDate != null ">work_date = #{workDate},</if>
|
||||
<if test="punchDate != null ">punch_date = #{punchDate},</if>
|
||||
<if test="timeQuantum != null and timeQuantum != ''">time_quantum = #{timeQuantum},</if>
|
||||
<if test="punchType != null and punchType != ''">punch_type = #{punchType},</if>
|
||||
<if test="punchTime != null ">punch_time = #{punchTime},</if>
|
||||
<if test="status != null and status != ''">status = #{status},</if>
|
||||
<if test="picUrl != null and picUrl != ''">pic_url = #{picUrl},</if>
|
||||
<if test="address != null and address != ''">address = #{address},</if>
|
||||
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
||||
<if test="createTime != null ">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null ">update_time = #{updateTime},</if>
|
||||
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteBaseAttendanceRecordById" parameterType="String">
|
||||
delete from base_attendance_record where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBaseAttendanceRecordByIds" parameterType="String">
|
||||
delete from base_attendance_record where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<resultMap type="SysUser" id="SysUserResult">
|
||||
<id property="userId" column="user_id" />
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="groupId" column="group_id" />
|
||||
<result property="userName" column="user_name" />
|
||||
<result property="nickName" column="nick_name" />
|
||||
<result property="email" column="email" />
|
||||
@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" />
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap id="deptResult" type="SysDept">
|
||||
<id property="deptId" column="dept_id" />
|
||||
<result property="parentId" column="parent_id" />
|
||||
@ -35,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="leader" column="leader" />
|
||||
<result property="status" column="dept_status" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<resultMap id="RoleResult" type="SysRole">
|
||||
<id property="roleId" column="role_id" />
|
||||
<result property="roleName" column="role_name" />
|
||||
@ -44,9 +45,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="dataScope" column="data_scope" />
|
||||
<result property="status" column="role_status" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
select u.user_id, u.dept_id, u.group_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
|
||||
from sys_user u
|
||||
@ -54,9 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join sys_user_role ur on u.user_id = ur.user_id
|
||||
left join sys_role r on r.role_id = ur.role_id
|
||||
</sql>
|
||||
|
||||
|
||||
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
|
||||
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
select u.user_id, u.dept_id,u.group_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
where u.del_flag = '0'
|
||||
<if test="userName != null and userName != ''">
|
||||
@ -80,33 +81,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<!-- 数据范围过滤 -->
|
||||
${dataScope}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_name = #{userName}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="checkUserNameUnique" parameterType="String" resultType="int">
|
||||
select count(1) from sys_user where user_name = #{userName}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, phonenumber from sys_user where phonenumber = #{phonenumber}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
|
||||
select user_id, email from sys_user where email = #{email}
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
|
||||
insert into sys_user(
|
||||
<if test="userId != null and userId != 0">user_id,</if>
|
||||
<if test="deptId != null and deptId != 0">dept_id,</if>
|
||||
<if test="groupId != null and groupId != ''">group_id,</if>
|
||||
<if test="userName != null and userName != ''">user_name,</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name,</if>
|
||||
<if test="email != null and email != ''">email,</if>
|
||||
@ -121,6 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
)values(
|
||||
<if test="userId != null and userId != ''">#{userId},</if>
|
||||
<if test="deptId != null and deptId != ''">#{deptId},</if>
|
||||
<if test="groupId != null and groupId != ''">#{groupId},</if>
|
||||
<if test="userName != null and userName != ''">#{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">#{nickName},</if>
|
||||
<if test="email != null and email != ''">#{email},</if>
|
||||
@ -134,11 +137,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateUser" parameterType="SysUser">
|
||||
update sys_user
|
||||
<set>
|
||||
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
|
||||
<if test="groupId != null and groupId != ''">group_id = #{groupId},</if>
|
||||
<if test="userName != null and userName != ''">user_name = #{userName},</if>
|
||||
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
|
||||
<if test="email != null and email != ''">email = #{email},</if>
|
||||
@ -155,28 +159,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</set>
|
||||
where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateUserStatus" parameterType="SysUser">
|
||||
update sys_user set status = #{status} where user_id = #{userId}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="updateUserAvatar" parameterType="SysUser">
|
||||
update sys_user set avatar = #{avatar} where user_name = #{userName}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="resetUserPwd" parameterType="SysUser">
|
||||
update sys_user set password = #{password} where user_name = #{userName}
|
||||
</update>
|
||||
|
||||
|
||||
<delete id="deleteUserById" parameterType="Long">
|
||||
delete from sys_user where user_id = #{userId}
|
||||
</delete>
|
||||
|
||||
|
||||
<delete id="deleteUserByIds" parameterType="Long">
|
||||
update sys_user set del_flag = '2' where user_id in
|
||||
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||
#{userId}
|
||||
</foreach>
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
|
||||
</mapper>
|
||||
|
Loading…
x
Reference in New Issue
Block a user