提交 f0cc23af authored 作者: 宋文杰's avatar 宋文杰

feat(attendance): add the module of attendance

上级 00cc58de
-- MySQL Script generated by MySQL Workbench
-- Thu Apr 11 09:57:40 2019
-- Model: New Model Version: 1.0
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema aroad
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema aroad
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `aroad` DEFAULT CHARACTER SET utf8 ;
USE `aroad` ;
-- -----------------------------------------------------
-- Table `aroad`.`attendance_template`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `aroad`.`attendance_templates` ;
CREATE TABLE IF NOT EXISTS `aroad`.`attendance_templates` (
`shift_id` INT NOT NULL AUTO_INCREMENT COMMENT '班次id',
`shift_name` VARCHAR(100) NOT NULL COMMENT '模板名称',
`start_time` TIME NOT NULL COMMENT '开始时间',
`end_time` TIME NOT NULL COMMENT '结束时间',
`shift_type` VARCHAR(20) NOT NULL COMMENT '班次类型:白班/夜班/全天/领导带班',
`attendance_type` VARCHAR(20) NOT NULL COMMENT '值班类型',
`is_cross_day` VARCHAR(1) NOT NULL COMMENT '是否跨日',
`position` VARCHAR(20) NOT NULL COMMENT '所属岗位',
`remark` VARCHAR(50) NULL COMMENT '备注',
PRIMARY KEY (`shift_id`))
ENGINE = InnoDB
COMMENT = '班次表';
-- -----------------------------------------------------
-- Table `aroad`.`attendance`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `aroad`.`attendance` ;
CREATE TABLE IF NOT EXISTS `aroad`.`attendance` (
`attendance_id` INT NOT NULL AUTO_INCREMENT COMMENT '排班id',
`shift_id` INT NOT NULL COMMENT '班次表主键',
PRIMARY KEY (`attendance_id`),
INDEX `shift_id_index` (`shift_id` ASC))
ENGINE = InnoDB
COMMENT = '排班表';
-- -----------------------------------------------------
-- Table `aroad`.`attendance_members`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `aroad`.`attendance_members` ;
CREATE TABLE IF NOT EXISTS `aroad`.`attendance_members` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键',
`attendance_id` INT NOT NULL,
`name` VARCHAR(10) NOT NULL COMMENT '值班人员姓名',
PRIMARY KEY (`id`),
INDEX `attendance_id_index` (`attendance_id` ASC))
ENGINE = InnoDB
COMMENT = '值班人员表';
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
package com.elephant.framework.galaxy.aroad.module.attendance.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.elephant.framework.galaxy.aroad.response.R;
import com.elephant.framework.galaxy.aroad.module.common.annotation.SysLog;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.Attendance;
import com.elephant.framework.galaxy.aroad.module.attendance.service.AttendanceService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.elephant.framework.galaxy.aroad.module.common.controller.BaseController;
/**
* 排班表
*
* @author songwenjie
* @date 2019-04-11 10:09:46
*/
@RestController
@AllArgsConstructor
@RequestMapping("/attendance")
public class AttendanceController extends BaseController {
private final AttendanceService attendanceService;
/**
* 分页查询
* @param page 分页对象
* @param attendance 排班表
* @return
*/
@GetMapping("/page")
public R getAttendancePage(Page page, Attendance attendance) {
return new R<>(attendanceService.page(page,Wrappers.query(attendance)));
}
/**
* 通过id查询排班表
* @param attendanceId id
* @return R
*/
@GetMapping("/{attendanceId}")
public R getById(@PathVariable("attendanceId") Integer attendanceId){
return new R<>(attendanceService.getById(attendanceId));
}
/**
* 新增排班表
* @param attendance 排班表
* @return R
*/
@SysLog("新增排班表")
@PostMapping
public R save(@RequestBody Attendance attendance){
return new R<>(attendanceService.save(attendance));
}
/**
* 修改排班表
* @param attendance 排班表
* @return R
*/
@SysLog("修改排班表")
@PutMapping
public R updateById(@RequestBody Attendance attendance){
return new R<>(attendanceService.updateById(attendance));
}
/**
* 通过id删除排班表
* @param attendanceId id
* @return R
*/
@SysLog("删除排班表")
@DeleteMapping("/{attendanceId}")
public R removeById(@PathVariable Integer attendanceId){
return new R<>(attendanceService.removeById(attendanceId));
}
}
package com.elephant.framework.galaxy.aroad.module.attendance.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.elephant.framework.galaxy.aroad.response.R;
import com.elephant.framework.galaxy.aroad.module.common.annotation.SysLog;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceMembers;
import com.elephant.framework.galaxy.aroad.module.attendance.service.AttendanceMembersService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.elephant.framework.galaxy.aroad.module.common.controller.BaseController;
/**
* 值班人员表
*
* @author songwenjie
* @date 2019-04-11 10:09:42
*/
@RestController
@AllArgsConstructor
@RequestMapping("/attendancemembers")
public class AttendanceMembersController extends BaseController {
private final AttendanceMembersService attendanceMembersService;
/**
* 分页查询
* @param page 分页对象
* @param attendanceMembers 值班人员表
* @return
*/
@GetMapping("/page")
public R getAttendanceMembersPage(Page page, AttendanceMembers attendanceMembers) {
return new R<>(attendanceMembersService.page(page,Wrappers.query(attendanceMembers)));
}
/**
* 通过id查询值班人员表
* @param id id
* @return R
*/
@GetMapping("/{id}")
public R getById(@PathVariable("id") Integer id){
return new R<>(attendanceMembersService.getById(id));
}
/**
* 新增值班人员表
* @param attendanceMembers 值班人员表
* @return R
*/
@SysLog("新增值班人员表")
@PostMapping
public R save(@RequestBody AttendanceMembers attendanceMembers){
return new R<>(attendanceMembersService.save(attendanceMembers));
}
/**
* 修改值班人员表
* @param attendanceMembers 值班人员表
* @return R
*/
@SysLog("修改值班人员表")
@PutMapping
public R updateById(@RequestBody AttendanceMembers attendanceMembers){
return new R<>(attendanceMembersService.updateById(attendanceMembers));
}
/**
* 通过id删除值班人员表
* @param id id
* @return R
*/
@SysLog("删除值班人员表")
@DeleteMapping("/{id}")
public R removeById(@PathVariable Integer id){
return new R<>(attendanceMembersService.removeById(id));
}
}
package com.elephant.framework.galaxy.aroad.module.attendance.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.elephant.framework.galaxy.aroad.response.R;
import com.elephant.framework.galaxy.aroad.module.common.annotation.SysLog;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceTemplates;
import com.elephant.framework.galaxy.aroad.module.attendance.service.AttendanceTemplatesService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.elephant.framework.galaxy.aroad.module.common.controller.BaseController;
/**
* 班次表
*
* @author songwenjie
* @date 2019-04-11 10:09:35
*/
@RestController
@AllArgsConstructor
@RequestMapping("/attendancetemplates")
public class AttendanceTemplatesController extends BaseController {
private final AttendanceTemplatesService attendanceTemplatesService;
/**
* 分页查询
* @param page 分页对象
* @param attendanceTemplates 班次表
* @return
*/
@GetMapping("/page")
public R getAttendanceTemplatesPage(Page page, AttendanceTemplates attendanceTemplates) {
return new R<>(attendanceTemplatesService.page(page,Wrappers.query(attendanceTemplates)));
}
/**
* 通过id查询班次表
* @param shiftId id
* @return R
*/
@GetMapping("/{shiftId}")
public R getById(@PathVariable("shiftId") Integer shiftId){
return new R<>(attendanceTemplatesService.getById(shiftId));
}
/**
* 新增班次表
* @param attendanceTemplates 班次表
* @return R
*/
@SysLog("新增班次表")
@PostMapping
public R save(@RequestBody AttendanceTemplates attendanceTemplates){
return new R<>(attendanceTemplatesService.save(attendanceTemplates));
}
/**
* 修改班次表
* @param attendanceTemplates 班次表
* @return R
*/
@SysLog("修改班次表")
@PutMapping
public R updateById(@RequestBody AttendanceTemplates attendanceTemplates){
return new R<>(attendanceTemplatesService.updateById(attendanceTemplates));
}
/**
* 通过id删除班次表
* @param shiftId id
* @return R
*/
@SysLog("删除班次表")
@DeleteMapping("/{shiftId}")
public R removeById(@PathVariable Integer shiftId){
return new R<>(attendanceTemplatesService.removeById(shiftId));
}
}
package com.elephant.framework.galaxy.aroad.module.attendance.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 排班表
*
* @author songwenjie
* @date 2019-04-11 10:09:46
*/
@Data
@TableName("attendance")
@EqualsAndHashCode(callSuper = true)
public class Attendance extends Model<Attendance> {
private static final long serialVersionUID = 1L;
/**
* 排班id
*/
@TableId
private Integer attendanceId;
/**
* 班次表主键
*/
private Integer shiftId;
}
package com.elephant.framework.galaxy.aroad.module.attendance.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 值班人员表
*
* @author songwenjie
* @date 2019-04-11 10:09:42
*/
@Data
@TableName("attendance_members")
@EqualsAndHashCode(callSuper = true)
public class AttendanceMembers extends Model<AttendanceMembers> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId
private Integer id;
/**
*
*/
private Integer attendanceId;
/**
* 值班人员姓名
*/
private String name;
}
package com.elephant.framework.galaxy.aroad.module.attendance.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 班次表
*
* @author songwenjie
* @date 2019-04-11 10:09:35
*/
@Data
@TableName("attendance_templates")
@EqualsAndHashCode(callSuper = true)
public class AttendanceTemplates extends Model<AttendanceTemplates> {
private static final long serialVersionUID = 1L;
/**
* 班次id
*/
@TableId
private Integer shiftId;
/**
* 模板名称
*/
private String shiftName;
/**
* 开始时间
*/
private unknowType startTime;
/**
* 结束时间
*/
private unknowType endTime;
/**
* 班次类型:白班/夜班/全天/领导带班
*/
private String shiftType;
/**
* 值班类型
*/
private String attendanceType;
/**
* 是否跨日
*/
private String isCrossDay;
/**
* 所属岗位
*/
private String position;
/**
* 备注
*/
private String remark;
}
package com.elephant.framework.galaxy.aroad.module.attendance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.Attendance;
/**
* 排班表
*
* @author songwenjie
* @date 2019-04-11 10:09:46
*/
public interface AttendanceMapper extends BaseMapper<Attendance> {
}
package com.elephant.framework.galaxy.aroad.module.attendance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceMembers;
/**
* 值班人员表
*
* @author songwenjie
* @date 2019-04-11 10:09:42
*/
public interface AttendanceMembersMapper extends BaseMapper<AttendanceMembers> {
}
package com.elephant.framework.galaxy.aroad.module.attendance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceTemplates;
/**
* 班次表
*
* @author songwenjie
* @date 2019-04-11 10:09:35
*/
public interface AttendanceTemplatesMapper extends BaseMapper<AttendanceTemplates> {
}
package com.elephant.framework.galaxy.aroad.module.attendance.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceMembers;
/**
* 值班人员表
*
* @author songwenjie
* @date 2019-04-11 10:09:42
*/
public interface AttendanceMembersService extends IService<AttendanceMembers> {
}
package com.elephant.framework.galaxy.aroad.module.attendance.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.Attendance;
/**
* 排班表
*
* @author songwenjie
* @date 2019-04-11 10:09:46
*/
public interface AttendanceService extends IService<Attendance> {
}
package com.elephant.framework.galaxy.aroad.module.attendance.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceTemplates;
/**
* 班次表
*
* @author songwenjie
* @date 2019-04-11 10:09:35
*/
public interface AttendanceTemplatesService extends IService<AttendanceTemplates> {
}
package com.elephant.framework.galaxy.aroad.module.attendance.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceMembers;
import com.elephant.framework.galaxy.aroad.module.attendance.mapper.AttendanceMembersMapper;
import com.elephant.framework.galaxy.aroad.module.attendance.service.AttendanceMembersService;
import org.springframework.stereotype.Service;
/**
* 值班人员表
*
* @author songwenjie
* @date 2019-04-11 10:09:42
*/
@Service
public class AttendanceMembersServiceImpl extends ServiceImpl<AttendanceMembersMapper, AttendanceMembers> implements AttendanceMembersService {
}
package com.elephant.framework.galaxy.aroad.module.attendance.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.Attendance;
import com.elephant.framework.galaxy.aroad.module.attendance.mapper.AttendanceMapper;
import com.elephant.framework.galaxy.aroad.module.attendance.service.AttendanceService;
import org.springframework.stereotype.Service;
/**
* 排班表
*
* @author songwenjie
* @date 2019-04-11 10:09:46
*/
@Service
public class AttendanceServiceImpl extends ServiceImpl<AttendanceMapper, Attendance> implements AttendanceService {
}
package com.elephant.framework.galaxy.aroad.module.attendance.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceTemplates;
import com.elephant.framework.galaxy.aroad.module.attendance.mapper.AttendanceTemplatesMapper;
import com.elephant.framework.galaxy.aroad.module.attendance.service.AttendanceTemplatesService;
import org.springframework.stereotype.Service;
/**
* 班次表
*
* @author songwenjie
* @date 2019-04-11 10:09:35
*/
@Service
public class AttendanceTemplatesServiceImpl extends ServiceImpl<AttendanceTemplatesMapper, AttendanceTemplates> implements AttendanceTemplatesService {
}
server:
port: 9999
port: 8989
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
......
<?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.elephant.framework.galaxy.aroad.module.attendance.mapper.AttendanceMapper">
<resultMap id="attendanceMap" type="com.elephant.framework.galaxy.aroad.module.attendance.entity.Attendance">
<id property="attendanceId" column="attendance_id"/>
<result property="shiftId" column="shift_id"/>
</resultMap>
</mapper>
<?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.elephant.framework.galaxy.aroad.module.attendance.mapper.AttendanceMembersMapper">
<resultMap id="attendanceMembersMap" type="com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceMembers">
<id property="id" column="id"/>
<result property="attendanceId" column="attendance_id"/>
<result property="name" column="name"/>
</resultMap>
</mapper>
<?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.elephant.framework.galaxy.aroad.module.attendance.mapper.AttendanceTemplatesMapper">
<resultMap id="attendanceTemplatesMap" type="com.elephant.framework.galaxy.aroad.module.attendance.entity.AttendanceTemplates">
<id property="shiftId" column="shift_id"/>
<result property="shiftName" column="shift_name"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="shiftType" column="shift_type"/>
<result property="attendanceType" column="attendance_type"/>
<result property="isCrossDay" column="is_cross_day"/>
<result property="position" column="position"/>
<result property="remark" column="remark"/>
</resultMap>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论