瀏覽代碼

创建排班的model

予一兮 4 年之前
父節點
當前提交
057d10b198

+ 4 - 0
fm-scheduling/src/main/java/com/persagy/fm/scheduling/constant/CommonConstant.java

@@ -0,0 +1,4 @@
+package com.persagy.fm.scheduling.constant;
+
+public class CommonConstant {
+}

+ 25 - 0
fm-scheduling/src/main/java/com/persagy/fm/scheduling/constant/enums/WorkTime.java

@@ -0,0 +1,25 @@
+package com.persagy.fm.scheduling.constant.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import org.springframework.lang.NonNull;
+
+import java.util.Arrays;
+
+@Getter
+@AllArgsConstructor
+public enum WorkTime {
+    DAY(1,"白班"),
+    NIGHT(2,"夜班"),
+    MIDDLE(3,"中班");
+
+    private Integer value;
+    private String desc;
+
+
+    public static WorkTime getByValue(@NonNull Integer value){
+        return Arrays.stream(WorkTime.values()).filter(a -> a.getValue().equals(value)).findFirst()
+                .orElseThrow(() -> new RuntimeException("workTime 的类型错误"));
+    }
+
+}

+ 31 - 0
fm-scheduling/src/main/java/com/persagy/fm/scheduling/model/WorkSchedule.java

@@ -0,0 +1,31 @@
+package com.persagy.fm.scheduling.model;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.persagy.fm.common.model.entity.AuditableEntity;
+import com.persagy.fm.scheduling.typehandler.WorkTimeTypeHandler;
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+@Data
+@TableName
+public class WorkSchedule extends AuditableEntity<WorkSchedule> implements Serializable {
+
+    @TableField(value = "year")
+    private Integer year;
+    @TableField(value = "month")
+    private Integer month;
+    @TableField(value = "day")
+    private Integer day;
+    @TableField(value = "person_id")
+    private String personId;
+    @TableField(value = "department_id")
+    private String departmentId;
+    @TableField(value = "project_id")
+    private String projectId;
+    @TableField(value = "work_time_type",typeHandler = WorkTimeTypeHandler.class)
+    private Integer workTimeType;
+}

+ 35 - 0
fm-scheduling/src/main/java/com/persagy/fm/scheduling/typehandler/WorkTimeTypeHandler.java

@@ -0,0 +1,35 @@
+package com.persagy.fm.scheduling.typehandler;
+
+import com.persagy.fm.scheduling.constant.enums.WorkTime;
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.TypeHandler;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+public class WorkTimeTypeHandler implements TypeHandler<WorkTime> {
+    @Override
+    public void setParameter(PreparedStatement ps, int i, WorkTime parameter, JdbcType jdbcType) throws SQLException {
+        ps.setInt(i, parameter.getValue());
+    }
+
+    @Override
+    public WorkTime getResult(ResultSet rs, String columnName) throws SQLException {
+        int anInt = rs.getInt(columnName);
+        return WorkTime.getByValue(anInt);
+    }
+
+    @Override
+    public WorkTime getResult(ResultSet rs, int columnIndex) throws SQLException {
+        int anInt = rs.getInt(columnIndex);
+        return WorkTime.getByValue(anInt);
+    }
+
+    @Override
+    public WorkTime getResult(CallableStatement cs, int columnIndex) throws SQLException {
+        int anInt = cs.getInt(columnIndex);
+        return WorkTime.getByValue(anInt);
+    }
+}