AttendanceType.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package Attendance
  2. import "sort"
  3. const (
  4. AttendanceOvertime = iota // 0 加班
  5. AttendancePersonal // 1 事假
  6. AttendanceSick // 2 病假
  7. AttendanceDaysOff // 3 调休
  8. AttendanceAnnual // 4 年假
  9. AttendanceMarriage // 婚假
  10. AttendanceFuneral // 丧假
  11. AttendanceMaternity // 产假
  12. AttendanceBreastfeeding // 哺乳假
  13. Attendancepaternity // 陪产假
  14. AttendanceShiftPerf // 5 转绩效
  15. AttendanceChildcare // 育儿假
  16. )
  17. // 请假类型
  18. type AttendanceType struct {
  19. Id int
  20. T_name string
  21. }
  22. var AttendanceType_list = map[int]string{
  23. AttendanceOvertime: "加班",
  24. AttendanceSick: "病假",
  25. AttendancePersonal: "事假",
  26. AttendanceDaysOff: "调休",
  27. AttendanceAnnual: "年假",
  28. AttendanceFuneral: "丧假",
  29. AttendanceMarriage: "婚假",
  30. AttendanceMaternity: "产假",
  31. AttendanceBreastfeeding: "哺乳假",
  32. Attendancepaternity: "陪产假",
  33. AttendanceShiftPerf: "加班转绩效",
  34. AttendanceChildcare: "育儿假",
  35. }
  36. // 获取全部
  37. func Read_AttendanceType_Get(id int) string {
  38. v, ok := AttendanceType_list[id]
  39. if ok {
  40. return v
  41. } else {
  42. return "未知类型"
  43. }
  44. }
  45. // 获取全部
  46. func Read_AttendanceType_All(T_deduct int) (r []AttendanceType) {
  47. for k, v := range AttendanceType_list {
  48. if k == AttendanceOvertime {
  49. continue
  50. }
  51. if T_deduct != 1 && k == AttendanceShiftPerf {
  52. continue
  53. }
  54. r = append(r, AttendanceType{
  55. Id: k,
  56. T_name: v,
  57. })
  58. }
  59. sort.Slice(r, func(i, j int) bool {
  60. return r[i].Id < r[j].Id
  61. })
  62. return r
  63. }
  64. func Get_LeaveType_List() (r []int) {
  65. for k, _ := range AttendanceType_list {
  66. if k == AttendanceOvertime {
  67. continue
  68. }
  69. r = append(r, k)
  70. }
  71. return r
  72. }